Sec-Fetch-Dest header
Baseline
Weitgehend verfügbar
*
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit März 2023 browserübergreifend verfügbar.
* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.
Der HTTP Sec-Fetch-Dest Fetch-Metadaten-Anforderungsheader gibt das Ziel der Anfrage an.
Das ist der Initiator der ursprünglichen Fetch-Anfrage, welcher bestimmt, wo (und wie) die angeforderten Daten verwendet werden.
Dies ermöglicht es Servern zu entscheiden, ob eine Anfrage bedient werden soll, basierend darauf, ob es für die erwartete Verwendung geeignet ist. Zum Beispiel sollte eine Anfrage mit einer audio-Bestimmung Audiodaten anfordern und nicht irgendeinen anderen Ressourcentyp (zum Beispiel ein Dokument, das sensible Benutzerinformationen enthält).
| Header-Typ | Fetch-Metadaten-Anforderungsheader |
|---|---|
| Verbotener Anforderungsheader | Ja (Sec--Präfix) |
| CORS-sicher gelisteter Anforderungsheader | 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: json
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 irgendeinen 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 zur Verwendung durch einen Audio Worklet abgerufen werden. Dies könnte von einem Aufruf von
audioWorklet.addModule()stammen. document-
Das Ziel ist ein Dokument (HTML oder XML), und die Anfrage resultiert aus einer benutzerinitiierten, obersten Navigationsebene (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,WebSocketusw. fencedframeExperimentell-
Das Ziel ist ein fenced frame.
font-
Das Ziel ist eine Schriftart. Dies könnte von CSS
@font-facestammen. frame-
Das Ziel ist ein Frame. Dies könnte von einem HTML
<frame>-Tag stammen. iframe-
Das Ziel ist ein Inline-Frame. Dies könnte von einem HTML
<iframe>-Tag stammen. image-
Das Ziel ist ein Bild. Dies könnte von einem HTML
<img>, SVG<image>, CSSbackground-image, CSScursor, CSSlist-style-imageusw. stammen. json-
Das Ziel ist JSON. Dies könnte vom Importieren eines Moduls aus JavaScript mit dem
type: "json"-Attribut stammen. 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 von einem Aufruf von
CSS.PaintWorklet.addModule()stammen. report-
Das Ziel ist ein Bericht (zum Beispiel ein Bericht über Sicherheitsrichtlinieninhalte).
script-
Das Ziel ist ein Skript. Dies könnte von einem HTML
<script>-Tag oder einem Aufruf vonWorkerGlobalScope.importScripts()stammen. serviceworker-
Das Ziel ist ein Service Worker. Dies könnte von einem Aufruf von
navigator.serviceWorker.register()stammen. -
Das Ziel ist ein Shared Worker. Dies könnte von einem
SharedWorkerstammen. style-
Das Ziel ist ein Stil. Dies könnte von einem HTML <link rel=stylesheet> oder einem CSS
@importstammen. track-
Das Ziel ist ein HTML-Textspur. 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 Verifizierung der Benutzeridentität verbunden ist. Zum Beispiel wird es in der FedCM API verwendet, um die Authentizität von Identitätsanbieter-Endpunkten (IdP) zu überprüfen und 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 siteübergreifende Anfrage, die durch ein <img>-Element generiert wird, würde zu einer Anfrage mit den folgenden HTTP-Anforderungsheadern führen (beachten Sie, dass das Ziel image ist):
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
Spezifikationen
| Spezifikation |
|---|
| Fetch Metadata Request Headers> # sec-fetch-dest-header> |
Browser-Kompatibilität
Siehe auch
Sec-Fetch-Mode,Sec-Fetch-Site,Sec-Fetch-UserFetch-Metadaten-Anforderungsheader- Schützen Sie Ihre Ressourcen vor Webangriffen mit Fetch-Metadaten (web.dev)
- Fetch Metadata Request Headers Spielwiese (secmetadata.appspot.com)