HTTP訪問控制(CORS)

什么是CORS狞尔?

CORS(Cross-Origin Resource Sharing ) 全稱“跨域資源共享”丛版,它允許瀏覽器向跨站服務(wù)器發(fā)送XHR請求。CORS的出現(xiàn)偏序,使得網(wǎng)站開發(fā)者可對受信任的站點(域名)繞過瀏覽器同源策略的限制页畦,提供了極大的靈活性。

什么是同源策略

出于安全的考慮研儒,瀏覽器通過XHR向服務(wù)器發(fā)送請求時豫缨,必須遵循同源策略。所謂“同源”端朵,是指【域名】好芭,【協(xié)議】,【端口】相同冲呢。

如果沒有同源策略

在解釋同源策略為什么很重要之前舍败,我們先討論另外一個問題:為什么前端使用cookie校驗登錄態(tài),而客戶端使用URL中的token敬拓?

我見過最多的回答是:瀏覽器已經(jīng)實現(xiàn)了cookie的整一套機制邻薯,沒必要再用token那一套,而客戶端要自己實現(xiàn)一套cookie機制太麻煩了乘凸。

上面的回答對嗎弛说?我認為太表象了,只回答了果翰意,而非因。為什么瀏覽器要采用cookie機制實現(xiàn)登陸校驗信柿,才是問題的關(guān)鍵冀偶。

我認為造成兩者差異的其中一個關(guān)鍵點在于:客戶端的url,是不可見的渔嚷,而瀏覽器是可見的进鸠。cookie(token)是用戶登錄的生命線,試想下http://www.reibang.com/index.php?token={secret_token}是多么美麗的畫面形病。

如果我們繼續(xù)深入思考下去客年,能找到更多的原因,只是本篇重點不在此漠吻,不再贅述量瓜。

通過上面的說明,我們明白了cookie是網(wǎng)站登錄的前提途乃,是時候回答【如果沒有同源策略】的危害了绍傲。

假如你的瀏覽器同時開了兩個tab: A 和 B。A登錄了qq.com,如果瀏覽器沒有同源策略限制烫饼,B此時就可以不斷向qq的服務(wù)器發(fā)送跨域請求(獲取用戶資料猎塞、消費Q幣、發(fā)表QQ空間杠纵、刪除好友等等)荠耽。你說B沒有qq.com的登陸信息,不能做到比藻?那我建議你再好好復(fù)習(xí)一遍cookie機制铝量。

同源策略也帶來不便

假設(shè)你有3個域名:a.example.com | b.example.com | c.example.com , 三個都是你的服務(wù)韩容,但彼此間無法跨域請求款违,作為網(wǎng)站管理端,怎一個“蛋疼”了得群凶?

講到這里插爹,又要插一句題外話了,在CORS出現(xiàn)之前请梢,站點間是怎樣跨域通信的赠尾?沒錯,就是大名鼎鼎的JSONP毅弧。JSONP你聽過气嫁,但使用該技術(shù)需要防范CSRF攻擊你了解過嗎?這個話題我們下次再聊够坐。

篇幅太長寸宵,就此打住,下一篇我們再具體講解服務(wù)端CORS怎樣配置元咙。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末梯影,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子庶香,更是在濱河造成了極大的恐慌甲棍,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赶掖,死亡現(xiàn)場離奇詭異感猛,居然都是意外死亡,警方通過查閱死者的電腦和手機奢赂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門陪白,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人膳灶,你說我怎么就攤上這事拷泽。” “怎么了?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵司致,是天一觀的道長拆吆。 經(jīng)常有香客問我,道長脂矫,這世上最難降的妖魔是什么枣耀? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮庭再,結(jié)果婚禮上捞奕,老公的妹妹穿的比我還像新娘。我一直安慰自己拄轻,他們只是感情好颅围,可當(dāng)我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著恨搓,像睡著了一般院促。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上斧抱,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天常拓,我揣著相機與錄音,去河邊找鬼辉浦。 笑死弄抬,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的宪郊。 我是一名探鬼主播掂恕,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼弛槐!你這毒婦竟也來了竹海?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤丐黄,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后孔飒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體灌闺,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年坏瞄,在試婚紗的時候發(fā)現(xiàn)自己被綠了桂对。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡鸠匀,死狀恐怖蕉斜,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤宅此,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布机错,位于F島的核電站,受9級特大地震影響父腕,放射性物質(zhì)發(fā)生泄漏弱匪。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一璧亮、第九天 我趴在偏房一處隱蔽的房頂上張望萧诫。 院中可真熱鬧,春花似錦枝嘶、人聲如沸帘饶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽及刻。三九已至,卻和暖如春穷当,著一層夾襖步出監(jiān)牢的瞬間提茁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工馁菜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留茴扁,地道東北人。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓汪疮,卻偏偏與公主長得像峭火,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子智嚷,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,592評論 2 353

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

  • 引用自HTTP訪問控制(CORS) 當(dāng) Web 資源請求由其它域名或端口提供的資源時卖丸,會發(fā)起跨域 HTTP 請求(...
    有涯逐無涯閱讀 2,585評論 0 4
  • 在Web開發(fā)中,經(jīng)常會碰到跨站請求盏道。比如A域名下的站點http://domainA通過AJAX請求B域名下的站點h...
    Yvan_Yang閱讀 2,093評論 1 0
  • HTTP訪問控制(CORS) 要點摘錄: 跨域資源共享(CORS)機制允許Web 應(yīng)用服務(wù)器進行跨域訪問控制稍浆,從...
    谷子多閱讀 292評論 0 0
  • HTTP cookie(也稱為web cookie,網(wǎng)絡(luò)cookie,瀏覽器cookie或者簡稱cookie)是網(wǎng)...
    留七七閱讀 17,946評論 2 71
  • 中國人沒有統(tǒng)一的宗教信仰,于是把春節(jié)過年神格化到了宗教儀式一樣的地位猜嘱,過年時衅枫,我們要打掃房間、沐浴朗伶,準(zhǔn)備各種美食弦撩,...
    谷雨后是夏天閱讀 297評論 0 3