瀏覽器的同源策略:
創(chuàng)新互聯(lián)建站主營永平網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,App定制開發(fā),永平h5小程序設(shè)計搭建,永平網(wǎng)站營銷推廣歡迎永平等地區(qū)企業(yè)咨詢同源策略(Same Origin Policy)是一種約定,它是由Netscape提出的一個著名的安全策略,它限制了從同一個源加載的文檔或腳本如何與來自另一個源的資源進行交互。這是一個用于隔離潛在惡意文件的重要安全機制。
同源的定義:如果兩個頁面的協(xié)議,端口(如果有指定)和主機都相同,則兩個頁面具有相同的源。我們也可以把它稱為“協(xié)議/主機/端口 tuple”,或簡單地叫做“tuple". ("tuple" ,“元”,是指一些事物組合在一起形成一個整體,比如(1,2)叫二元,(1,2,3)叫三元)
如果協(xié)議、端口、主機(域名或IP地址,如果是IP地址則看做一個根域名)、子域名,當(dāng)其中一個不同,則我們的請求即會發(fā)生跨域問題。
下表給出了相對http://store.company.com/dir/page.html同源檢測的示例:
突破同源策略限制:
1、script標(biāo)簽的src/img標(biāo)簽的src,或者說link標(biāo)簽的href他們沒有被通源策略所限制
2、src或href鏈接的靜態(tài)資源,本質(zhì)上來說也是一個get請求
JSONP是什么?和json有關(guān)系嗎?
Json(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式。
JSONP是JSON with Padding的略稱。它是一個非官方非正式的傳輸?shù)膮f(xié)議,它允許在服務(wù)器端集成Script tags返回至客戶端,通過javascript callback的形式實現(xiàn)跨域訪問。
JSONP的簡單實現(xiàn):
html代碼:(運行在本地http://zrcloud.com/test.html)
Jsonp簡單實例 JSONP簡單實例
PHP服務(wù)器端代碼:
'test','age'=>18,'sex'=>1]; echo $callback.'('.json_encode($arr).')'; ?>
運行結(jié)果:
注:為什么我這次沒有寫test這個函數(shù)呢?而且竟然也運行成功了!
這就是jQuery的功勞了,jquery在處理jsonp類型的ajax時(,雖然jquery也把jsonp歸入了ajax,但其實它們真的不是一回事兒),自動幫你生成回調(diào)函數(shù)并把數(shù)據(jù)取出來供success屬性方法來調(diào)用。
以上就是關(guān)于Jsonp跨域原理詳解及簡單應(yīng)用的詳細內(nèi)容,更多請關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。