Access-Control-Allow-Origin

Access-Control-Allow-Origin 響應頭指示是否可以與來自給定 的請求程式碼共享響應。

頭型別 響應頭
禁止的頭名稱

語法

http
Access-Control-Allow-Origin: *
Access-Control-Allow-Origin: <origin>
Access-Control-Allow-Origin: null

指令

*

對於沒有憑據的請求,可以指定字面值“*”作為萬用字元;該值告訴瀏覽器允許來自任何源的請求程式碼訪問資源。嘗試使用萬用字元和憑據 會導致錯誤

<origin>

指定源。只能指定一個源。如果伺服器支援來自多個源的客戶端,它必須返回發出請求的特定客戶端的源。

null

指定源“null”。

注意:null 不應該使用:“返回Access-Control-Allow-Origin: "null" 似乎很安全,但使用非分層方案(例如data:file:)和沙盒文件的任何資源的 Origin 的序列化被定義為“null”。許多使用者代理將授予此類文件訪問具有Access-Control-Allow-Origin: "null" 頭的響應的許可權,並且任何源都可以建立具有“null” Origin 的惡意文件。因此,應避免 ACAO 頭的“null”值。”

示例

告訴瀏覽器允許來自任何源的程式碼訪問資源的響應將包含以下內容

http
Access-Control-Allow-Origin: *

告訴瀏覽器允許來自源https://mdn.club.tw 的請求程式碼訪問資源的響應將包含以下內容

http
Access-Control-Allow-Origin: https://mdn.club.tw

將可能的Access-Control-Allow-Origin 值限制為一組允許的源需要伺服器端程式碼檢查Origin 請求頭的值,將其與允許的源列表進行比較,然後如果Origin 值在列表中,將Access-Control-Allow-Origin 值設定為與Origin 值相同的值。

CORS 和快取

假設伺服器傳送的響應包含一個具有顯式源(而不是“*”萬用字元)的Access-Control-Allow-Origin 值。在這種情況下,響應還應包含一個具有值OriginVary 響應頭——以指示瀏覽器伺服器響應可以根據Origin 請求頭的值而有所不同。

http
Access-Control-Allow-Origin: https://mdn.club.tw
Vary: Origin

規範

規範
獲取標準
# http-access-control-allow-origin

瀏覽器相容性

BCD 表格僅在啟用 JavaScript 的瀏覽器中載入

另請參閱