成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - 請問為什么CORS中需要對部分請求進(jìn)行預(yù)檢

瀏覽:119日期:2022-12-27 15:34:15

問題描述

CORS的請求分為簡單請求和非簡單請求,對于非簡單請求,CORS定義需要對這些非簡單請求發(fā)起一次預(yù)檢,也即是發(fā)起一個option請求,待確認(rèn)服務(wù)器允許跨域后才會重新發(fā)送原先的非簡單請求,所以我想問下為什么需要進(jìn)行預(yù)檢?

這里有一個stack上面的回答,我看的不是太明白,有人愿意翻譯或者簡單概括下?

http://stackoverflow.com/ques...

問題解答

回答1:

你要去人家里拿東西,總得經(jīng)主人同意吧

回答2:

跨域是瀏覽器的同源策略搞出來的事情,預(yù)請求是瀏覽器行為,拿著當(dāng)前的域名去問服務(wù)端能不能通過。

回答3:

最常用的兩個get 默認(rèn)不存在跨域,意思是你允許 get 就要有被別人拿走的預(yù)期,jsonp 就是利用這點;post 存在跨域, 因為按意思會對資源產(chǎn)生影響,必須先檢驗。

回答4:

對那些可能對服務(wù)器數(shù)據(jù)產(chǎn)生副作用的 HTTP 請求方法(特別是 GET 以外的 HTTP 請求,或者搭配某些 MIME 類型的 POST 請求),瀏覽器必須首先使用 OPTIONS 方法發(fā)起一個預(yù)檢請求(preflight request),從而獲知服務(wù)端是否允許該跨域請求。服務(wù)器確認(rèn)允許之后,才發(fā)起實際的 HTTP 請求。在預(yù)檢請求的返回中,服務(wù)器端也可以通知客戶端,是否需要攜帶身份憑證(包括 Cookies 和 HTTP 認(rèn)證相關(guān)數(shù)據(jù))。

———— HTTP訪問控制(CORS)

標(biāo)簽: JavaScript
相關(guān)文章: