CORS跨域請求總結

2022-02-03 22:43:47 字數 927 閱讀 8651

cors跨域請求分為簡單請求和複雜請求。

1. 簡單請求:

滿足一下兩個條件的請求。

(1) 請求方法是以下三種方法之一:

(2)http的頭資訊不超出以下幾種字段:

2. 複雜請求:

非簡單請求就是複雜請求。

非簡單請求的cors請求,會在正式通訊之前,增加一次http查詢請求,稱為"預檢"請求(preflight)。

預檢請求為options請求,用於向伺服器請求許可權資訊的。

預檢請求被成功響應後,才會發出真實請求,攜帶真實資料。

3. cors與cookies:

上面說到,cors請求預設不傳送cookie和http認證資訊。如果要把cookie發到伺服器,一方面要伺服器同意,指定access-control-allow-credentials字段。

access-control-allow-credentials: true

另一方面,開發者必須在ajax請求中開啟withcredentials屬性。

//xmlhttprequest level2才有withcredentials屬性

4. 減少預檢請求次數

服務端設定access-control-max-age可以將預檢請求進行客戶端快取,減少請求次數

具體可以參考:

CORS跨域請求

瀏覽器的同源策略會導致跨域,這裡同源策略又分為以下兩種 只要協議 網域名稱 埠有任何乙個不同,都被當作是不同的域,之間的請求就是跨域操作。在同源策略下會禁止跨域,實際上跨域請求時,請求會向伺服器發出,伺服器也會進行響應,但是當收到返回的資料時發現跨域所以忽略了返回的內容並報錯。當請求同時滿足下面兩個...

cors跨域請求

前端使用正常的ajax請求,請求url填寫需要跨域訪問的url 服務端在檢視函式中對response設定access control allow origin欄位 例如def service request 告訴瀏覽器發的請求是合法的 response access control allow or...

CORS 跨域請求原理

摘要 cors,乙個看似有點 冷門 的領域,但在日常開發中實際上經常碰到這方面的問題。縱觀各大技術論壇,卻沒有幾個帖子能講透cors的那點事,本期雲享團邀請嘉賓深扒了cors的中外家史,為你打通跨域請求的 任督二脈 在日常的專案開發時會不可避免的需要進行跨域操作,而在實際進行跨域請求時,經常會遇到類...