Sec-Fetch-Dest 頭

Baseline 廣泛可用 *

此功能已成熟,並可在許多裝置和瀏覽器版本上執行。自 2023 年 3 月以來,它已在各種瀏覽器中可用。

* 此特性的某些部分可能存在不同級別的支援。

HTTP Sec-Fetch-Dest Fetch 元資料請求頭指示請求的“目的地”。即原始 fetch 請求的發起者,也就是所獲取資料將被使用的地方(以及方式)。

這允許伺服器根據請求的預期用途是否合適來決定是否響應請求。例如,目標為 audio 的請求應該請求音訊資料,而不是其他型別的資源(例如,包含敏感使用者資訊的文件)。

頭型別 Fetch 元資料請求頭
禁止請求頭 是 (Sec- 字首)
CORS 安全列表請求頭

語法

http
Sec-Fetch-Dest: audio
Sec-Fetch-Dest: audioworklet
Sec-Fetch-Dest: document
Sec-Fetch-Dest: embed
Sec-Fetch-Dest: empty
Sec-Fetch-Dest: fencedframe
Sec-Fetch-Dest: font
Sec-Fetch-Dest: frame
Sec-Fetch-Dest: iframe
Sec-Fetch-Dest: image
Sec-Fetch-Dest: manifest
Sec-Fetch-Dest: object
Sec-Fetch-Dest: paintworklet
Sec-Fetch-Dest: report
Sec-Fetch-Dest: script
Sec-Fetch-Dest: serviceworker
Sec-Fetch-Dest: sharedworker
Sec-Fetch-Dest: style
Sec-Fetch-Dest: track
Sec-Fetch-Dest: video
Sec-Fetch-Dest: webidentity
Sec-Fetch-Dest: worker
Sec-Fetch-Dest: xslt

如果此頭包含任何其他值,伺服器應忽略此頭。

指令

注意:這些指令對應於 Request.destination 返回的值。

audio

目標是音訊資料。這可能源自 HTML <audio> 標籤。

audioworklet

目標是為 audio worklet 使用而獲取的資料。這可能源自對 audioWorklet.addModule() 的呼叫。

document

目標是文件(HTML 或 XML),並且該請求是使用者發起的頂級導航的結果(例如,使用者點選連結導致的結果)。

嵌入

目標是嵌入內容。這可能源自 HTML <embed> 標籤。

empty

目標是空字串。這用於沒有自己值的目標。例如:fetch()navigator.sendBeacon()EventSourceXMLHttpRequestWebSocket 等。

fencedframe 實驗性

目標是圍欄幀

font

目標是字型。這可能源自 CSS @font-face

frame

目標是幀。這可能源自 HTML <frame> 標籤。

iframe

目標是 iframe。這可能源自 HTML <iframe> 標籤。

圖片

目標是影像。這可能源自 HTML <img>、SVG <image>、CSS background-image、CSS cursor、CSS list-style-image 等。

manifest

目標是清單。這可能源自 HTML <link rel=manifest>

object

目標是物件。這可能源自 HTML <object> 標籤。

paintworklet

目標是 paint worklet。這可能源自對 CSS.PaintWorklet.addModule() 的呼叫。

report

目標是報告(例如,內容安全策略報告)。

script

目標是指令碼。這可能源自 HTML <script> 標籤或對 WorkerGlobalScope.importScripts() 的呼叫。

serviceworker

目標是 service worker。這可能源自對 navigator.serviceWorker.register() 的呼叫。

sharedworker

目標是 shared worker。這可能源自 SharedWorker

style

目標是樣式。這可能源自 HTML <link rel=stylesheet> 或 CSS @import

track

目標是 HTML 文字軌道。這可能源自 HTML <track> 標籤。

video

目標是影片資料。這可能源自 HTML <video> 標籤。

webidentity

目標是與驗證使用者身份相關的端點。例如,它在 FedCM API 中用於驗證身份提供商 (IdP) 端點的真實性,防止 CSRF 攻擊。

worker

目標是 Worker

xslt

目標是 XSLT 轉換。

示例

使用 Sec-Fetch-Dest

<img> 元素生成的跨站請求將導致具有以下 HTTP 請求頭的請求(注意目的地是 image

http
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

規範

規範
Fetch 元資料請求頭
# sec-fetch-dest-header

瀏覽器相容性

另見