跨域資源共享 CORS 詳解

2021-09-25 05:28:51 字數 980 閱讀 6345

1.兩種請求

如果origin 在指定的 許可範圍內,伺服器響應頭會多出幾個字段:

(1).access-control-allow-origin:(必需)

這個字段,表明 服務端 接受 哪些 網域名稱 請求, 設定為 * 表示 所有

(2).access-control-allow-credentials:(可選)

這個 字段 表示 是否允許 傳送 cookie, true 允許 cookie包含在 請求中 , 若不允許的 話 直接 刪除該欄位即可。

(3).access-control-expose-headers:(可選)

(1).基本流程:

非簡單請求 在 與 伺服器 正式 通訊 之前 會 先 傳送 乙個 預請求 ,這個 請求 的 頭部資訊(request headers) 會有 origin 和 access-control-request-method.

access-control-request-method 表示 本次 請求 使用的 方法

伺服器 會 檢測 origin 是否在 伺服器 標明的 access-control-allow-origin 字段 指定 的範圍內,access-control-request-method 是否 在 伺服器 標明的access-control-allow-methods欄位 指示的方法內,若都符合 則 會 進行 真正的 請求。

(2). 伺服器回應的其他cors相關字段如下:

與jsonp的比較

(1).jsonp 只支援 get 請求 cors 支援所有 請求

(2).jsonp 支援 所有 老式瀏覽器 而 cors 必須是ie9以上的 瀏覽器才支援

跨域資源共享 CORS

cors需要瀏覽器和伺服器同時支援。目前,所有瀏覽器都支援該功能。前端 對應於前端請求來說cors通訊與同源的ajax通訊沒有差別,完全一樣。瀏覽器一旦發現ajax請求跨源,就會自動新增一些附加的頭資訊,有時還會多出一次附加的請求,但使用者不會有感覺。後端 只要伺服器實現了cors介面,就可以跨源通...

跨域資源共享 CORS

跨域資源共享 cross origin resource sharing 是一種機制,它使用額外的 http 頭部告訴瀏覽器可以讓乙個web應用進行跨域資源請求。若乙個請求同時滿足下述所有條件,則該請求可視為 簡單請求 注 灰色字型內容了解即可 手動設定的頭部字段只能是 注意 也可以設定 forbi...

CORS 跨域資源共享

foreword cors principle 三個訪問控制場景 簡單請求 預請求帶憑據的請求 http請求頭 http響應頭 ie對cors的實現 瀏覽器的支援 由於同源策略限制從乙個源載入的文件或指令碼與來自另乙個源的資源進行互動。在web開發中跨域是難免的問題,或是開發時的跨域,或是線上資源請...