Sec-Fetch-Site

基線 2023

新功能

2023 年 3 月起,此功能在最新的裝置和瀏覽器版本中均可使用。此功能可能在舊裝置或瀏覽器中無法使用。

Sec-Fetch-Site fetch 元資料請求頭 指示請求發起者源與請求資源源之間的關係。

換句話說,此頭告訴伺服器,對資源的請求來自同一個源、同一個站點、不同的站點,還是“使用者發起”的請求。然後,伺服器可以使用此資訊來決定是否應允許該請求。

同一源請求通常預設允許,但來自其他源的請求是否被接受可能會進一步取決於正在請求的資源,或其他 fetch 元資料請求頭 中的資訊。預設情況下,未被接受的請求應使用 403 響應程式碼拒絕。

頭型別 獲取元資料請求頭
禁止頭名稱 是(字首 Sec-
CORS 安全列表請求頭

語法

http
Sec-Fetch-Site: cross-site
Sec-Fetch-Site: same-origin
Sec-Fetch-Site: same-site
Sec-Fetch-Site: none

指令

跨站點

請求發起者和託管資源的伺服器具有不同的站點(即“potentially-evil.com”對“example.com”上的資源的請求)。

同一源

請求發起者和託管資源的伺服器具有相同的 (相同的方案、主機和埠)。

同站

請求發起者和託管資源的伺服器具有相同的 站點,包括方案。

此請求是使用者發起的操作。例如:在位址列中輸入 URL、開啟書籤或將檔案拖放到瀏覽器視窗中。

示例

來自 https://mysite.example 上網頁(具有相同的埠)對 https://mysite.example/foo.json 的 fetch 請求是同一源請求。瀏覽器將生成如下所示的 Sec-Fetch-Site: same-origin 頭,伺服器通常會允許該請求。

http
GET /foo.json
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin

來自另一個站點(例如 potentially-evil.com)對同一 URL 的 fetch 請求會導致瀏覽器生成不同的頭(例如 Sec-Fetch-Site: cross-site),伺服器可以選擇接受或拒絕該請求。

http
GET /foo.json
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

規範

規範
獲取元資料請求頭
# sec-fetch-site-header

瀏覽器相容性

BCD 表格僅在瀏覽器中載入

另請參閱