Sec-Fetch-Dest
Baseline 2023 *Newly available
Since March 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
* Some parts of this feature may have varying levels of support.
Der HTTP-Sec-Fetch-Dest
fetch metadata request header gibt das Ziel der Anfrage an. Das bedeutet der Initiator der ursprünglichen Fetch-Anfrage, also wo (und wie) die abgerufenen Daten verwendet werden.
Dies ermöglicht es Servern, zu bestimmen, ob eine Anfrage basierend darauf bedient wird, ob es für die erwartete Verwendung geeignet ist. Zum Beispiel sollte eine Anfrage mit einem audio
-Ziel Audiodaten anfordern und nicht eine andere Art von Ressource (zum Beispiel ein Dokument, das sensible Benutzerinformationen enthält).
Header-Typ | Fetch Metadata Request Header |
---|---|
Verbotener Anfrage-Header | Ja (Sec- -Präfix) |
CORS-safelisted-Anfrage-Header | Nein |
Syntax
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
Server sollten diesen Header ignorieren, wenn er einen anderen Wert enthält.
Direktiven
Hinweis:
Diese Direktiven entsprechen den Werten, die von Request.destination
zurückgegeben werden.
audio
-
Das Ziel sind Audiodaten. Dies könnte von einem HTML-
<audio>
-Tag stammen. audioworklet
-
Das Ziel sind Daten, die für die Verwendung durch ein Audio-Worklet abgerufen werden. Dies könnte aus einem Aufruf zu
audioWorklet.addModule()
stammen. document
-
Das Ziel ist ein Dokument (HTML oder XML), und die Anfrage ist das Ergebnis einer vom Benutzer initiierten Top-Level-Navigation (z.B. durch Klicken auf einen Link).
embed
-
Das Ziel ist eingebetteter Inhalt. Dies könnte von einem HTML-
<embed>
-Tag stammen. empty
-
Das Ziel ist der leere String. Dies wird für Ziele verwendet, die keinen eigenen Wert haben. Zum Beispiel:
fetch()
,navigator.sendBeacon()
,EventSource
,XMLHttpRequest
,WebSocket
, etc. fencedframe
Experimentell-
Das Ziel ist ein fenced frame.
font
-
Das Ziel ist eine Schriftart. Dies könnte aus CSS-
@font-face
stammen. frame
-
Das Ziel ist ein Frame. Dies könnte von einem HTML-
<frame>
-Tag stammen. iframe
-
Das Ziel ist ein iframe. Dies könnte von einem HTML-
<iframe>
-Tag stammen. image
-
Das Ziel ist ein Bild. Dies könnte von einem HTML-
<img>
, SVG-<image>
, CSS-background-image
, CSS-cursor
, CSS-list-style-image
stammen, etc. manifest
-
Das Ziel ist ein Manifest. Dies könnte von einem HTML-<link rel=manifest> stammen.
object
-
Das Ziel ist ein Objekt. Dies könnte von einem HTML-
<object>
-Tag stammen. paintworklet
-
Das Ziel ist ein Paint-Worklet. Dies könnte aus einem Aufruf zu
CSS.PaintWorklet.addModule()
stammen. report
-
Das Ziel ist ein Bericht (zum Beispiel ein Bericht zur Inhalts-Sicherheits-Policy).
script
-
Das Ziel ist ein Skript. Dies könnte von einem HTML-
<script>
-Tag oder einem Aufruf zuWorkerGlobalScope.importScripts()
stammen. serviceworker
-
Das Ziel ist ein Service-Worker. Dies könnte aus einem Aufruf zu
navigator.serviceWorker.register()
stammen. -
Das Ziel ist ein Shared Worker. Dies könnte von einem
SharedWorker
stammen. style
-
Das Ziel ist ein Stil. Dies könnte von einem HTML-<link rel=stylesheet> oder einem CSS-
@import
stammen. track
-
Das Ziel ist ein HTML-Text-Track. Dies könnte von einem HTML-
<track>
-Tag stammen. video
-
Das Ziel sind Videodaten. Dies könnte von einem HTML-
<video>
-Tag stammen. webidentity
-
Das Ziel ist ein Endpunkt, der mit der Überprüfung der Benutzeridentität verbunden ist. Zum Beispiel wird es im FedCM API verwendet, um die Authentizität von Identitätsanbieter-Endpunkten (IdP) zu überprüfen, um sich gegen CSRF-Angriffe zu schützen.
worker
-
Das Ziel ist ein
Worker
. xslt
-
Das Ziel ist eine XSLT-Transformation.
Beispiele
Verwendung von Sec-Fetch-Dest
Eine durch ein <img>
-Element erzeugte Cross-Site-Anfrage würde zu einer Anfrage mit den folgenden HTTP-Anfrage-Headern führen (beachten Sie, dass das Ziel image
ist):
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
Spezifikationen
Specification |
---|
Fetch Metadata Request Headers # sec-fetch-dest-header |
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
Sec-Fetch-Mode
,Sec-Fetch-Site
,Sec-Fetch-User
Fetch Metadata-Request Header- Schützen Sie Ihre Ressourcen vor Webangriffen mit Fetch Metadata (web.dev)
- Fetch Metadata Request Headers Playground (secmetadata.appspot.com)