CORS

此篇內容尚不完整,可能還會有很大的變動
僅供參考,若要查看完整版本,建議去看 MDN Web Docs 會比較好

CORS 為「跨來源資源分享」的縮寫,旨在控制不同網域來源的資源存取控制(Access Control)

一般來說,JavaScript 的 Fetch API 和 XMLHttpRequest 遵守同源政策(Same origin policy),意味著這些 API 只能存取相同網域來源的資源,這是避免 CSRF(跨站點請求偽造)的做法。

如果有不同網域的資源需要存取,則該資源需要加入一系列 CORS HTTP Header。

一般來說,經由上述 API 進行的 HTTP 請求(如 GET、POST)都會在 HTTP Header 附上 Origin 這個 Header,代表該 HTTP Request 的來源。

此時伺服器可能會回傳以下這些 Header,以下代表該 Header 的意思:

以下是簡單請求、複雜請求都會有的必要 Header:

以下是複雜請求的所需條件,像是 GET、POST、HEAD 以外的方法之外,或是滿足以下任意 Header 的請求:

如果有需要,也可以建立預檢請求,檢視伺服器的 CORS 要求

伺服器則必須回應


Revision #1
Created 4 July 2024 05:48:55 by Nesquate
Updated 4 July 2024 06:13:55 by Nesquate