JSONP_跨域

JSONP_跨域

什么是同源策略

瀏覽器出于安全方面的考慮,只允許與本域下的接口交互趴梢。不同源的客戶端腳本在沒有明確授權(quán)的情況下漠畜,不能讀寫對方的資源
由Netscape提出的一個(gè)著名的安全策略。現(xiàn)在所有支持JavaScript 的瀏覽器都會使用這個(gè)策略

本域名指的是:

  • 同協(xié)議
如:都是http,https,file,ssh,mailto,tel協(xié)議
例:http://jirengu.com和 https://jirengu.com/a.js          //兩個(gè)協(xié)議不同
  • 同域名
在//后到第一個(gè)/之間的域名完全相同
例:http://jirengu.com/a  和  http://jirengu.com/b        //同域名
http://jirengu.com   和    http://bbs.jirengu.com             //不同域
  • 同端口
如都是80端口
例:http://jirengu.com/a/b.js 和 http://jirengu.com/index.php   
//同端口(沒寫端口的默認(rèn)端口為80)
http://jiengu.com 和 http://jirengu.com:8080/a.js    
//不同端口(前一個(gè)端口為8080)
什么是跨域坞靶?跨域有幾種實(shí)現(xiàn)形式

什么是跨域

  • 跨域就是突破同源策略的限制憔狞,使一個(gè)域名的網(wǎng)頁可以請求另一個(gè)域名的資源

實(shí)現(xiàn)方式

  • 降域document.domain
    前提條件:操作iframe,這兩個(gè)域名必須屬于同一個(gè)基礎(chǔ)域名!而且所用的協(xié)議,端口都要一致彰阴,否則無法利用document.domain進(jìn)行跨域同時(shí)為兩個(gè)域設(shè)置document.domain= xxx.com
  • jsonp
    利用script的src標(biāo)簽的跨域?qū)傩择遥瑐鬟f一個(gè)callback參數(shù)給服務(wù)端來獲取其他源的數(shù)據(jù)
  • cors 跨域資源共享
    在HTTP請求里添加特殊的頭,允許服務(wù)器指定特定的域名可以跨域訪問
  • HTML5 postMssage
    html5引入的API,可以實(shí)現(xiàn)跨文檔尿这、多窗口廉丽、跨域消息的傳遞
JSONP 的原理是什么
  • 利用<script>標(biāo)簽沒有跨域限制來達(dá)到與第三方通訊的目的
  • 當(dāng)需要通訊時(shí),本站腳本創(chuàng)建一個(gè)<script>元素妻味,地址指向第三方的API網(wǎng)址正压,形如: <script src="http://www.example.net/api?param1=1&param2=2"></script> 并提供一個(gè)回調(diào)函數(shù)來接收數(shù)據(jù)(函數(shù)名可約定,或通過地址參數(shù)傳遞)
  • 第三方產(chǎn)生的響應(yīng)為json數(shù)據(jù)的包裝(故稱之為jsonp责球,即json padding)焦履,形如: callback({"name":"hax","gender":"Male"}) 這樣瀏覽器會調(diào)用callback函數(shù),并傳遞解析后json對象作為參數(shù)雏逾。本站腳本可在callback函數(shù)里處理所傳入的數(shù)據(jù)
CORS是什么
  • CORS是一個(gè)W3C標(biāo)準(zhǔn)嘉裤,全稱是"跨域資源共享"(Cross-origin resource sharing),避開了瀏覽器的同源策略栖博,通過在http請求里添加特殊的頭屑宠,允許服務(wù)器指定哪些跨域請求是允許的
  • 與jsonp使用目的相同,但是要比jsonp更強(qiáng)大仇让,缺點(diǎn)是不兼容老的IE瀏覽器典奉。如:
header("Access-Control-Allow-Origin:http://jiuyi.com")
//指定[http://jiuyi.com](http://jiuyi.com) 這個(gè)域可以請求它躺翻;
header("Access-Control-Allow-Origin:*")
//指定所有域都可以請求它;
根據(jù)視頻里的講解演示三種以上跨域的解決方式 卫玖,寫成博客
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末公你,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子假瞬,更是在濱河造成了極大的恐慌陕靠,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件脱茉,死亡現(xiàn)場離奇詭異剪芥,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)琴许,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進(jìn)店門粗俱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人虚吟,你說我怎么就攤上這事寸认。” “怎么了串慰?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵偏塞,是天一觀的道長。 經(jīng)常有香客問我邦鲫,道長灸叼,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任庆捺,我火速辦了婚禮古今,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘滔以。我一直安慰自己捉腥,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布你画。 她就那樣靜靜地躺著抵碟,像睡著了一般。 火紅的嫁衣襯著肌膚如雪坏匪。 梳的紋絲不亂的頭發(fā)上拟逮,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天,我揣著相機(jī)與錄音适滓,去河邊找鬼敦迄。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的罚屋。 我是一名探鬼主播苦囱,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼沿后!你這毒婦竟也來了沿彭?” 一聲冷哼從身側(cè)響起朽砰,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤尖滚,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后瞧柔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體漆弄,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年造锅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了撼唾。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片诡蜓。...
    茶點(diǎn)故事閱讀 38,137評論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡览爵,死狀恐怖础米,靈堂內(nèi)的尸體忽然破棺而出暂幼,到底是詐尸還是另有隱情厂榛,我是刑警寧澤号枕,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布慕趴,位于F島的核電站碴卧,受9級特大地震影響深夯,放射性物質(zhì)發(fā)生泄漏抖格。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一咕晋、第九天 我趴在偏房一處隱蔽的房頂上張望雹拄。 院中可真熱鬧,春花似錦掌呜、人聲如沸滓玖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽呢撞。三九已至,卻和暖如春饰剥,著一層夾襖步出監(jiān)牢的瞬間殊霞,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工汰蓉, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留绷蹲,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像祝钢,于是被迫代替她去往敵國和親比规。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評論 2 345

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

  • 什么是同源策略 同源政策(same-origin policy)是指同域名(或ip),同端口拦英,同協(xié)議視為同一個(gè)域蜒什,...
    小囧兔閱讀 493評論 0 1
  • 1.什么是同源策略瀏覽器出于安全方面的考慮,只允許與本域下的接口交互疤估。不同源的客戶端腳本在沒有明確授權(quán)的情況下灾常,不...
    24_Magic閱讀 491評論 0 0
  • 題目1: 什么是同源策略 瀏覽器出于安全考慮,只允許與本域下的接口交互铃拇。不同源的客戶端腳本在沒有明確授權(quán)的情況下钞瀑,...
    saintkl閱讀 234評論 0 0
  • 1- 同源策略: 首先理解什么叫同源同源指的是協(xié)議、域名慷荔、端口都必須一致雕什。只要其中一個(gè)不一致都不是同源。 瀏覽器中...
    osborne閱讀 175評論 0 1
  • 題目1: 什么是同源策略 所謂"同源"指的是"三個(gè)相同"显晶。協(xié)議相同贷岸、域名相同、端口相同磷雇。同源政策的目的偿警,是為了保證...
    漂于行閱讀 403評論 0 0