成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

跨域-CORS

kevin / 2597人閱讀

摘要:一概念跨源資源共享訪問(wèn)控制,后面會(huì)看到以前綴的頭部字段。機(jī)制讓服務(wù)端控制是否準(zhǔn)許跨域請(qǐng)求當(dāng)然了也要承擔(dān)確保安全的職責(zé)。服務(wù)端怎么瀏覽器這樣吧,如果是跨域請(qǐng)求,我先咨詢下你,如果你覺(jué)得請(qǐng)求安全,我再把真實(shí)請(qǐng)求發(fā)給你。

一、概念:

跨源資源共享:(Cross-Origin Resource Sharing)
訪問(wèn)控制:Access Control,后面會(huì)看到以Access-Control前綴的頭部字段。

二、引入背景:

JS中的xhr請(qǐng)求(XMLHttpRequest)受同源策略限制。但是這也導(dǎo)致有些合理的請(qǐng)求也被限制了。W3C提出了新的標(biāo)準(zhǔn)CORS來(lái)解決這個(gè)問(wèn)題。CORS機(jī)制讓服務(wù)端控制是否準(zhǔn)許跨域請(qǐng)求(當(dāng)然了也要承擔(dān)確保安全的職責(zé))。教程參考MDN(即MDN的參考),下面做些總結(jié)性的筆記。

三、CORS原理 3.1 瀏覽器和服務(wù)端的談判

服務(wù)端:hi,我說(shuō)你管的也太多了!我認(rèn)為request A是安全的,你怎么不發(fā)給我?
瀏覽器:我怎么知道request A是安全。為了安全起見(jiàn),我不能發(fā)給你。
服務(wù)端:瞎子都能看出來(lái)reques是安全的。你個(gè)SB。
瀏覽器:你才SB
服務(wù)端:你SB
......
瀏覽器:咱天天這樣吵也不是事啊。咱們各退一步。
服務(wù)端:怎么?
瀏覽器:這樣吧,如果是跨域請(qǐng)求,我先咨詢下你,如果你覺(jué)得請(qǐng)求安全,我再把真實(shí)請(qǐng)求發(fā)給你。(Origin, Access-Control-Allow-Origin)
服務(wù)器:恩,好吧。不過(guò)你每次都先咨詢我,對(duì)性能會(huì)造成影響啊,再說(shuō)了有些請(qǐng)求不存在安全問(wèn)題。
瀏覽器:也是啊。這樣吧,對(duì)于那些安全的請(qǐng)求,我直接發(fā)給你。簡(jiǎn)單請(qǐng)求的定義你看看
服務(wù)器:這個(gè)定義確實(shí)OK,但也太苛刻了,實(shí)際應(yīng)用中很少遇到啊,這樣對(duì)性能的提升沒(méi)有實(shí)際解決。
瀏覽器:但是確保安全是我底線。這個(gè)沒(méi)得讓步。
服務(wù)器:要不這樣,你把預(yù)檢的結(jié)果緩存一段時(shí)間,在緩存時(shí)間內(nèi)不用再發(fā)送預(yù)檢請(qǐng)求。
瀏覽器:好想法,就這樣干。不過(guò)你得告訴我緩存多久。
服務(wù)器:可以啊。(Access-Control-Max-Age)

3.2 CORS流程圖

3.3CORS-服務(wù)端

要實(shí)現(xiàn)CORS機(jī)制離不開(kāi)服務(wù)端的配合。為了更好的實(shí)現(xiàn)支持CORS服務(wù)接口,需要注意幾點(diǎn)

request可能會(huì)請(qǐng)求服務(wù)兩次(預(yù)檢,真實(shí)請(qǐng)求),在處理預(yù)檢過(guò)程中不要做真實(shí)請(qǐng)求的邏輯處理。

參考:

MDN:

https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

W3C:

https://www.w3.org/TR/cors/

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/83733.html

相關(guān)文章

  • 第二十五章:SpringBoot添加支持CORS跨域訪問(wèn)

    摘要:本章目標(biāo)基于項(xiàng)目搭建可以站外請(qǐng)求訪問(wèn)的跨域資源服務(wù)器。允許所有的請(qǐng)求域名訪問(wèn)我們的跨域資源,可以固定單條或者多條內(nèi)容,如,只有百度可以訪問(wèn)我們的跨域資源。 CORS(Cross-Origin Resource Sharing)跨域資源共享,是一個(gè)W3C標(biāo)準(zhǔn),它允許瀏覽器向跨域服務(wù)器發(fā)送Ajax請(qǐng)求,打破了Ajax只能訪問(wèn)本站內(nèi)的資源限制,CORS在很多地方都有被使用,微信支付的JS支付...

    simpleapples 評(píng)論0 收藏0
  • 「新輪子」PHP CORS (Cross-origin resource sharing),解決 P

    摘要:而我的新輪子也并不是專門解決它的問(wèn)題的,而是順便解決而已。概述這個(gè)包,支持在所有的項(xiàng)目中使用。一旦出現(xiàn)成員,代表允許全部。列出允許跨域請(qǐng)求的方法列表,默認(rèn)是代表所有方法。信息地址嗯,新輪子,求一波。 showImg(https://segmentfault.com/img/bV5VxN?w=844&h=656); 是的,可能了解 Laravel 的都知道,在 Laravel 中簡(jiǎn)單的設(shè)...

    lbool 評(píng)論0 收藏0
  • 【日常填坑】之a(chǎn)jax請(qǐng)求laravel的api接口

    摘要:合適和夠用是最完美的追求。比如從頁(yè)面去請(qǐng)求的資源。它允許瀏覽器向跨源服務(wù)器,發(fā)出請(qǐng)求,從而克服了只能同源使用的限制。定義在中的路由都是無(wú)狀態(tài)的,并且會(huì)應(yīng)用中間件組。 關(guān)于作者 程序開(kāi)發(fā)人員,不拘泥于語(yǔ)言與技術(shù),目前主要從事PHP和前端開(kāi)發(fā),使用Laravel和VueJs,App端使用Apicloud混合式開(kāi)發(fā)。合適和夠用是最完美的追求。 個(gè)人網(wǎng)站:http://www.linganm...

    Arno 評(píng)論0 收藏0
  • 【日常填坑】之a(chǎn)jax請(qǐng)求laravel的api接口

    摘要:合適和夠用是最完美的追求。比如從頁(yè)面去請(qǐng)求的資源。它允許瀏覽器向跨源服務(wù)器,發(fā)出請(qǐng)求,從而克服了只能同源使用的限制。定義在中的路由都是無(wú)狀態(tài)的,并且會(huì)應(yīng)用中間件組。 關(guān)于作者 程序開(kāi)發(fā)人員,不拘泥于語(yǔ)言與技術(shù),目前主要從事PHP和前端開(kāi)發(fā),使用Laravel和VueJs,App端使用Apicloud混合式開(kāi)發(fā)。合適和夠用是最完美的追求。 個(gè)人網(wǎng)站:http://www.linganm...

    neu 評(píng)論0 收藏0
  • 【日常填坑】之a(chǎn)jax請(qǐng)求laravel的api接口

    摘要:合適和夠用是最完美的追求。比如從頁(yè)面去請(qǐng)求的資源。它允許瀏覽器向跨源服務(wù)器,發(fā)出請(qǐng)求,從而克服了只能同源使用的限制。定義在中的路由都是無(wú)狀態(tài)的,并且會(huì)應(yīng)用中間件組。 關(guān)于作者 程序開(kāi)發(fā)人員,不拘泥于語(yǔ)言與技術(shù),目前主要從事PHP和前端開(kāi)發(fā),使用Laravel和VueJs,App端使用Apicloud混合式開(kāi)發(fā)。合適和夠用是最完美的追求。 個(gè)人網(wǎng)站:http://www.linganm...

    fuyi501 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<