JSONP_跨域

1. 什么是同源策略

  • 同源策略截型,它是由Netscape提出的一個(gè)著名的安全策略
    現(xiàn)在所有支持JavaScript 的瀏覽器都會使用這個(gè)策略儒溉。
    所謂同源是指宦焦,域名,協(xié)議睁搭,端口相同赶诊。
    當(dāng)一個(gè)瀏覽器的兩個(gè)tab頁中分別打開來 百度和谷歌的頁面
    當(dāng)瀏覽器的百度tab頁執(zhí)行一個(gè)腳本的時(shí)候會檢查這個(gè)腳本是屬于哪個(gè)頁面的,
    即檢查是否同源园骆,只有和百度同源的腳本才會被執(zhí)行舔痪。
    如果非同源,那么在請求數(shù)據(jù)時(shí)锌唾,瀏覽器會在控制臺中報(bào)一個(gè)異常锄码,提示拒絕訪問。

2.什么是跨域晌涕?跨域有幾種實(shí)現(xiàn)形式

  • 跨域是指因同源策略的限制滋捶,所以誕生了跨域,指http://a.jrg.com可以向http://b.jrg.com請求數(shù)據(jù)余黎。
  • 跨域4種實(shí)現(xiàn)方式:
    • jsonp
      • 通過<script></script>實(shí)現(xiàn)重窟,因?yàn)檫@種方法引用非同源數(shù)據(jù)時(shí),瀏覽器不阻止
      • 實(shí)現(xiàn)方法是在URL參數(shù)中添加雙方談好的參數(shù)惧财,當(dāng)對方接收到URL中有該參數(shù)巡扇,便將拼裝好的data返回,這時(shí)我們JS代碼中也有這樣的函數(shù)垮衷,就會執(zhí)行
    • 降域
      • 降域是指降低域名來進(jìn)行跨域厅翔,如:
        • http://a.jrg.comhttp://b.jrg.com
        • 兩個(gè)頁面通過document.domain = "jrg,com"
      • 降低域名就可以訪問,這種方法有限制搀突,就是主域要相同
    • cors
      • 瀏覽器發(fā)現(xiàn)這次跨源AJAX請求是簡單請求刀闷,就自動在頭信息之中,添加一個(gè)Origin字段仰迁。Origin字段用來說明甸昏,本次請求來自哪個(gè)源(協(xié)議 + 域名 + 端口)。服務(wù)器根據(jù)這個(gè)值徐许,決定是否同意這次請求施蜜。如果對方添加了Access-Control-Allow-Origin: *,服務(wù)器會返回響應(yīng)绊寻,瀏覽器請求數(shù)據(jù)
      • 需要注意的是,如果要發(fā)送Cookie,Access-Control-Allow-Origin就不能設(shè)為星號澄步,必須指定明確的冰蘑、與請求網(wǎng)頁一致的域名。
      • 跨域資源共享 CORS 詳解
    • postMessage
      • 通過postMessage(data,origin) 這個(gè)H5的新API實(shí)現(xiàn)跨域村缸,當(dāng)通過某些動作或者事件出發(fā)后祠肥,就會利用window.frames[0].postMessage()發(fā)送數(shù)據(jù)過去<iframe>標(biāo)簽所嵌套的窗口,對方j(luò)s代碼中如果有監(jiān)聽梯皿,則可以進(jìn)行跨域
      • html5 postMessage解決跨域仇箱、跨窗口消息傳遞

3.JSONP 的原理是什么

  • 通過<script></script>實(shí)現(xiàn),因?yàn)檫@種方法引用非同源數(shù)據(jù)時(shí)东羹,瀏覽器不阻止
    • 實(shí)現(xiàn)方法是在URL參數(shù)中添加雙方談好的參數(shù)剂桥,當(dāng)對方接收到URL中有該參數(shù),便將拼裝好的data返回属提,這時(shí)我們JS代碼中也有這樣的函數(shù)权逗,就會執(zhí)行,如:
1.png
2.png

4.CORS是什么

  • 瀏覽器發(fā)現(xiàn)這次跨源AJAX請求是簡單請求冤议,就自動在頭信息之中斟薇,添加一個(gè)Origin字段。Origin字段用來說明恕酸,本次請求來自哪個(gè)源(協(xié)議 + 域名 + 端口)堪滨。服務(wù)器根據(jù)這個(gè)值,決定是否同意這次請求蕊温。如果對方添加了Access-Control-Allow-Origin: *袱箱,服務(wù)器會返回響應(yīng),瀏覽器請求數(shù)據(jù)
    • 需要注意的是寿弱,如果要發(fā)送Cookie犯眠,Access-Control-Allow-Origin就不能設(shè)為星號,必須指定明確的症革、與請求網(wǎng)頁一致的域名筐咧。
1.png
2.png

5.根據(jù)視頻里的講解演示三種以上跨域的解決方式

  • Jsonp & Cors
1.png
2.png
  • postMessage
1.png
2.png
  • 降域
1.png
2.png

** 跨域處理方式代碼 **

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市噪矛,隨后出現(xiàn)的幾起案子量蕊,更是在濱河造成了極大的恐慌,老刑警劉巖艇挨,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件残炮,死亡現(xiàn)場離奇詭異,居然都是意外死亡缩滨,警方通過查閱死者的電腦和手機(jī)势就,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進(jìn)店門泉瞻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人苞冯,你說我怎么就攤上這事袖牙。” “怎么了舅锄?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵鞭达,是天一觀的道長。 經(jīng)常有香客問我皇忿,道長畴蹭,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任鳍烁,我火速辦了婚禮叨襟,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘老翘。我一直安慰自己芹啥,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布铺峭。 她就那樣靜靜地躺著墓怀,像睡著了一般。 火紅的嫁衣襯著肌膚如雪卫键。 梳的紋絲不亂的頭發(fā)上傀履,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天,我揣著相機(jī)與錄音莉炉,去河邊找鬼钓账。 笑死,一個(gè)胖子當(dāng)著我的面吹牛絮宁,可吹牛的內(nèi)容都是我干的梆暮。 我是一名探鬼主播,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼绍昂,長吁一口氣:“原來是場噩夢啊……” “哼啦粹!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起窘游,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤唠椭,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后忍饰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體贪嫂,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年艾蓝,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了力崇。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片斗塘。...
    茶點(diǎn)故事閱讀 38,094評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖亮靴,靈堂內(nèi)的尸體忽然破棺而出逛拱,到底是詐尸還是另有隱情,我是刑警寧澤台猴,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站俱两,受9級特大地震影響饱狂,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜宪彩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一休讳、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧尿孔,春花似錦俊柔、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至白指,卻和暖如春留晚,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背告嘲。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工错维, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人橄唬。 一個(gè)月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓赋焕,卻偏偏與公主長得像,于是被迫代替她去往敵國和親仰楚。 傳聞我的和親對象是個(gè)殘疾皇子隆判,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 什么是同源策略 同源政策(same-origin policy)是指同域名(或ip),同端口,同協(xié)議視為同一個(gè)域缸血,...
    小囧兔閱讀 493評論 0 1
  • 題目1: 什么是同源策略 瀏覽器出于安全考慮蜜氨,只允許與本域下的接口交互。不同源的客戶端腳本在沒有明確授權(quán)的情況下捎泻,...
    saintkl閱讀 234評論 0 0
  • 1: 什么是同源策略 最初飒炎,它的含義是指,A網(wǎng)頁設(shè)置的 Cookie笆豁,B網(wǎng)頁不能打開郎汪,除非這兩個(gè)網(wǎng)頁"同源",所謂...
    好奇而已閱讀 294評論 0 0
  • 1.什么是同源策略瀏覽器出于安全方面的考慮赤赊,只允許與本域下的接口交互。不同源的客戶端腳本在沒有明確授權(quán)的情況下煞赢,不...
    24_Magic閱讀 491評論 0 0
  • 什么是同源策略 同源策略/SOP(Same origin policy)是一種約定抛计,由Netscape公司1995...
    YQY_苑閱讀 303評論 0 0