Sec-Fetch-Dest 頭
Baseline 廣泛可用 *
HTTP Sec-Fetch-Dest Fetch 元資料請求頭指示請求的“目的地”。即原始 fetch 請求的發起者,也就是所獲取資料將被使用的地方(以及方式)。
這允許伺服器根據請求的預期用途是否合適來決定是否響應請求。例如,目標為 audio 的請求應該請求音訊資料,而不是其他型別的資源(例如,包含敏感使用者資訊的文件)。
| 頭型別 | Fetch 元資料請求頭 |
|---|---|
| 禁止請求頭 | 是 (Sec- 字首) |
| CORS 安全列表請求頭 | 否 |
語法
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()、EventSource、XMLHttpRequest、WebSocket等。 fencedframe實驗性-
目標是圍欄幀。
font-
目標是字型。這可能源自 CSS
@font-face。 frame-
目標是幀。這可能源自 HTML
<frame>標籤。 iframe-
目標是 iframe。這可能源自 HTML
<iframe>標籤。 圖片-
目標是影像。這可能源自 HTML
<img>、SVG<image>、CSSbackground-image、CSScursor、CSSlist-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()的呼叫。 -
目標是 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)
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
規範
| 規範 |
|---|
| Fetch 元資料請求頭 # sec-fetch-dest-header |
瀏覽器相容性
載入中…
另見
Sec-Fetch-Mode、Sec-Fetch-Site、Sec-Fetch-Userfetch 元資料請求頭- 使用 Fetch 元資料保護你的資源免受網路攻擊 (web.dev)
- Fetch 元資料請求頭操場 (secmetadata.appspot.com)