Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
En-tête Origin
Baseline Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2020.
L'en-tête de requête HTTPOrigin indiquel'origine (schéma, nom d'hôte et port) à l'origine de la requête.Par exemple, si un agent utilisateur doit demander des ressources incluses dans une page, ou récupérées par des scripts qu'il exécute, alors l'origine de la page peut être incluse dans la requête.
| Type d'en-tête | En-tête de requête |
|---|---|
| En-tête de requête interdit | Oui |
Dans cet article
Syntaxe
Origin: nullOrigin: <scheme>://<hostname>Origin: <scheme>://<hostname>:<port>Directives
nullL'origine doit être protégée pour des raisons de confidentialité ou il s'agit d'uneorigine opaque (les cas correspondants sont décrits dans la sectiondescription ci-après).
<scheme>Le protocole utilisé. Il s'agit généralement de HTTP ou de HTTPS.
<hostname>Le nom de domaine ou l'adresse IP du serveur d'origine.
<port>FacultatifLe numéro de port sur lequel écoute le serveur. Si aucun port n'est donné, c'est le port par défaut pour le protocole correspondant qui est utilisé (par exemple
443pour une URL qui utiliserait le protocole HTTPS).
Description
L'en-têteOrigin est semblable à l'en-têteReferer, mais ne contient pas le chemin de la ressource et peut valoirnull.Il est utilisé pour fournir le contexte de sécurité de la requête d'origine, sauf dans les cas où l'information de l'origine serait sensible ou superflue.
De façon générale, les agents utilisateurs ajoutent l'en-tête de requêteOrigin aux :
- Requêtesinter-origine.
- Requêtesde même origine, sauf pour les requêtes
GETouHEAD(c'est-à-dire qu'il est ajouté aux requêtes de même originePOST,OPTIONS,PUT,PATCHetDELETE).
Il existe quelques exceptions à ces règles ; par exemple, si une requêteGET ouHEAD d'origine croisée est effectuée enmode no-cors, l'en-têteOrigin ne sera pas ajouté.
La valeur de l'en-têteOrigin peut êtrenull dans un certain nombre de cas, notamment (liste non exhaustive) :
- Les origines dont leschéma n'est pas
http,https,ftp,ws,wssougopher(y comprisblob,fileetdata). - Les images et données multimédias d'origine croisée, y compris celles dans les éléments HTML
<img>,<video>et<audio>. - Les documents créés par programme à l'aide de
createDocument(), générés à partir d'une URLdata:, ou qui n'ont pas de contexte de navigation créateur. - Les redirections entre origines.
- Les documents servis avec la directive
sandboxdeContent-Security-Policydont la valeur n'inclut pasallow-same-origin. - Lescadres intégrés avec un attribut sandbox dont la valeur n'inclut pas
allow-same-origin. - Les réponses qui sont des erreurs réseau.
Referrer-Policydéfini àno-referrerpour les modes de requête non-cors(par exemple, les envois de formulaires basiques).
Note :Une liste plus détaillée de ces cas avecnull est présentée sur Stack Overflow :Quand les navigateurs envoient-ils l'en-tête d'origine ? Quand l'origine est-elle mise à nul ?(angl.)
Exemples
Origin: https://developer.mozilla.orgOrigin: https://developer.mozilla.org:80Spécifications
| Specification |
|---|
| The Web Origin Concept> # section-7> |
| Fetch> # origin-header> |