Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

En-tête Sec-Fetch-Dest

Baseline
Large disponibilité
*

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis mars 2023.

Vous voulez une meilleure prise en charge pour cette fonctionnalité ? Dites-nous pourquoi.

* Certaines parties de cette fonctionnalité peuvent bénéficier de prise en charge variables.

L'en-tête de métadonnées de requête de récupération HTTP Sec-Fetch-Dest indique la destination de la requête. C'est l'initiateur de la requête de récupération originale, c'est-à-dire l'endroit (et la manière) où les données récupérées sont utilisées.

Cela permet aux serveurs de déterminer s'ils doivent traiter une requête en fonction de son adéquation avec l'utilisation prévue. Par exemple, une requête dont la destination est audio doit demander des données audio, et non un autre type de ressource (par exemple, un document contenant des informations sensibles sur l'utilisateur·ice).

L'en-tête n'est inclus que dans les requêtes vers des URL potentiellement fiables.

Type d'en-tête En-tête de métadonnées de requête de récupération
En-tête de requête interdit Oui (préfixe Sec-)
En-tête de requête autorisé par CORS Non

Syntaxe

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: 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: text
Sec-Fetch-Dest: track
Sec-Fetch-Dest: video
Sec-Fetch-Dest: webidentity
Sec-Fetch-Dest: worker
Sec-Fetch-Dest: xslt

Les serveurs doivent ignorer cet en-tête s'il contient une autre valeur.

Directives

Note : Ces directives correspondent aux valeurs retournées par Request.destination.

audio

La destination est constituée de données audio. Celles-ci peuvent provenir d'une balise HTML <audio>.

audioworklet

La destination est constituée de données récupérées pour être utilisées par un audio worklet. Celles-ci peuvent provenir d'un appel à audioWorklet.addModule().

document

La destination est un document (HTML ou XML), et la requête est le résultat d'une navigation de premier niveau initiée par l'utilisateur·ice (par exemple, résultant d'un clic de l'utilisateur·ice sur un lien).

embed

La destination est un contenu intégré. Celui-ci peut provenir d'une balise HTML <embed>.

empty

La destination est la chaîne de caractères vide. Cela est utilisé pour les destinations qui n'ont pas leur propre valeur. Par exemple : fetch(), navigator.sendBeacon(), EventSource, XMLHttpRequest, WebSocket, etc.

fencedframe

La destination est un cadre renfoncé.

font

La destination est une police. Celle-ci peut provenir d'une règle CSS @font-face.

frame

La destination est un cadre. Celui-ci peut provenir d'une balise HTML <frame>.

iframe

La destination est un cadre intégré. Celle-ci peut provenir d'une balise HTML <iframe>.

image

La destination est une image. Celle-ci peut provenir d'une balise HTML <img>, d'un élément SVG <image>, d'une règle CSS background-image, d'une règle CSS cursor, d'une règle CSS list-style-image, etc.

json

La destination est JSON. Celle-ci peut provenir d'un import with { type: "json" } en JavaScript.

manifest

La destination est un manifeste. Celle-ci peut provenir d'un <link rel=manifest>.

object

La destination est un objet. Celle-ci peut provenir d'une balise HTML <object>.

paintworklet

La destination est un mini-travailleur (worklet en anglais) de peinture. Celle-ci peut provenir d'un appel à CSS.PaintWorklet.addModule().

report

La destination est un rapport (par exemple, un rapport de politique de sécurité du contenu).

script

La destination est un script. Celle-ci peut provenir d'une balise HTML <script> ou d'un appel à WorkerGlobalScope.importScripts().

serviceworker

La destination est un service de travailleur (service worker en anglais). Celle-ci peut provenir d'un appel à navigator.serviceWorker.register().

sharedworker

La destination est un travailleur partagé (shared worker en anglais). Celle-ci peut provenir d'un SharedWorker.

style

La destination est un style. Celle-ci peut provenir d'un HTML <link rel=stylesheet>, d'une règle CSS @import, ou d'un import with { type: "css" } en JavaScript.

text

La destination est du texte brut. Celle-ci peut provenir d'un import with { type: "text" } en JavaScript.

track

La destination est une piste de texte HTML. Celle-ci peut provenir d'une balise HTML <track>.

video

La destination est des données vidéo. Celle-ci peut provenir d'une balise HTML <video>.

webidentity

La destination est un point de terminaison associé à la vérification de l'identité de l'utilisateur·ice. Par exemple, il est utilisé dans l'API FedCM pour vérifier l'authenticité des points de terminaison des fournisseurs d'identité (IdP), protégeant contre les attaques CSRF.

worker

La destination est un objet Worker.

xslt

La destination est une transformation XSLT.

Exemples

Utiliser Sec-Fetch-Dest

Une requête inter-site générée par une élément HTML <img> ce qui donne une requête comportant les en-têtes HTTP suivants (à noter que la destination est image) :

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

Spécifications

Spécification
Fetch Metadata Request Headers
# sec-fetch-dest-header

Compatibilité des navigateurs

Voir aussi