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-Metadaten-Anforderungs-Header gibt das Ziel der Anforderung an. Das ist der Initiator der ursprünglichen Fetch-Anforderung, also der Ort (und die Art), wie die abgerufenen Daten genutzt werden.

Dies ermöglicht es Servern, zu bestimmen, ob sie eine Anforderung bedienen sollten, basierend darauf, ob sie für die erwartete Nutzung geeignet ist. Beispielsweise sollte eine Anforderung mit dem Ziel audio Audiodaten anfordern, nicht irgendeine andere Art von Ressource (zum Beispiel ein Dokument, das sensible Benutzerdaten enthält).

Header-Typ Fetch-Metadaten-Anforderungs-Header
Verbotener Anforderungs-Header Ja (Sec--Präfix)
CORS-safelisted Anforderungs-Header Nein

Syntax

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

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 Audioworklet abgerufen werden. Dies könnte von einem Aufruf von audioWorklet.addModule() stammen.

document

Das Ziel ist ein Dokument (HTML oder XML), und die Anforderung ist das Ergebnis einer vom Benutzer initiierten Navigation auf oberster Ebene (zum Beispiel, wenn ein Benutzer auf einen Link klickt).

embed

Das Ziel sind eingebettete Inhalte. 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 von 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, etc. 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 Inhalts-Sicherheitsrichtlinien).

script

Das Ziel ist ein Skript. Dies könnte von einem HTML-<script>-Tag oder einem Aufruf von WorkerGlobalScope.importScripts() stammen.

serviceworker

Das Ziel ist ein Service-Worker. Dies könnte von einem Aufruf von navigator.serviceWorker.register() stammen.

sharedworker

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-Texttrack. 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 im FedCM API verwendet, um die Authentizität der Endpunkte des Identitätsanbieters (IdP) zu überprüfen und sich gegen CSRF-Angriffe abzusichern.

worker

Das Ziel ist ein Worker.

xslt

Das Ziel ist eine XSLT-Transformation.

Beispiele

Verwendung von Sec-Fetch-Dest

Eine Cross-Site-Anforderung, die von einem <img>-Element generiert wird, würde zu einer Anforderung mit den folgenden HTTP-Anforderungs-Headern führen (beachten Sie, dass das Ziel image ist):

http
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