--- title: Referrer-Policy slug: Web/HTTP/Headers/Referrer-Policy tags: - HTTP - HTTP Header - Privacy - Reference - Referrer-Policy - Response - Response Header - Réponse - en-tête - referrer translation_of: Web/HTTP/Headers/Referrer-Policy ---
L'en-tête {{glossary("HTTP header")}} Referrer-Policy contrôle la quantité d'informations sur le référent (referrer) (envoyées par l'en-tête {{HTTPHeader("Referer")}}) incluses dans la requête.
| Type d'en-tête | {{Glossary("Response header")}} |
|---|---|
| {{Glossary("Forbidden header name")}} | non |
Le nom originel de l'en-tête, {{HTTPHeader("Referer")}}, est une faute de frappe du mot anglais "referrer". L'en-tête Referrer-Policy ne comporte pas cette erreur.
Referrer-Policy: no-referrer Referrer-Policy: no-referrer-when-downgrade Referrer-Policy: origin Referrer-Policy: origin-when-cross-origin Referrer-Policy: same-origin Referrer-Policy: strict-origin Referrer-Policy: strict-origin-when-cross-origin Referrer-Policy: unsafe-url
no-referrerno-referrer-when-downgrade (default)strict-origin-when-cross-origin (voir https://github.com/whatwg/fetch/pull/952), envisagez d'utiliser cette valeur (ou une autre encore plus stricte) si possible si vous définissez la valeur de Referrer-Policy.originhttps://example.com/page.html enverra le référent https://example.com/.origin-when-cross-originsame-originstrict-originstrict-origin-when-cross-originunsafe-urlCette valeur divulgera des informations potentiellement confidentielles de la part des URL de ressources HTTPS vers des origines non sécurisées. Considérez les conséquences de ce paramétrage avant de vous en servir.
Vous pouvez aussi définir des règles de référent au sein d'HTML. Par exemple, vous pouvez définir la règle de référent pour le document entier avec un élément {{HTMLElement("meta")}} dont le name est referrer :
<meta name="referrer" content="origin">
Ou le définit pour des requêtes spécifiques avec l'attribut referrerpolicy sur les éléments {{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("img")}}, {{HTMLElement("iframe")}}, {{HTMLElement("script")}}, ou {{HTMLElement("link")}} :
<a href="http://example.com" referrerpolicy="origin">
Autrement, une relation de lien définie à noreferrer sur un élément a, area, ou link peut être défini :
<a href="http://example.com" rel="noreferrer">
Comme vu précédemment, la relation de lien noreferrer s'écrit sans trait d'union. Toutefois, quand la règle de référent est spécifiée pour le document entier avec un élément {{HTMLElement("meta")}}, il faut mettre le trait d'union : <meta name="referrer" content="no-referrer">.
CSS peut demander des ressources référencées dans des feuilles de styles. Ces ressources suivent une règle de référent aussi :
no-referrer-when-downgrade), moins qu'elle soit remplacée un l'en-tête HTTP Referrer-Policy dans la réponse de la feuille de styles CSS.style, la règle de référent du propriétaire du document est utilisée.| Règle | Document | Navigation vers | Référent |
|---|---|---|---|
no-referrer |
https://example.com/page | n'importe où | (pas de référent) |
no-referrer-when-downgrade |
https://example.com/page | https://example.com/otherpage | https://example.com/page |
| https://mozilla.org | https://example.com/page | ||
| http://example.org | (pas de référent) | ||
origin |
https://example.com/page | n'importe où | https://example.com/ |
origin-when-cross-origin |
https://example.com/page | https://example.com/otherpage | https://example.com/page |
| https://mozilla.org | https://example.com/ | ||
| http://example.com/page | https://example.com/ | ||
same-origin |
https://example.com/page | https://example.com/otherpage | https://example.com/page |
| https://mozilla.org | (pas de référent) | ||
strict-origin |
https://example.com/page | https://mozilla.org | https://example.com/ |
| http://example.org | (pas de référent) | ||
| http://example.com/page | n'importe où | http://example.com/ | |
strict-origin-when-cross-origin |
https://example.com/page | https://example.com/otherpage | https://example.com/page |
| https://mozilla.org | https://example.com/ | ||
| http://example.org | (pas de référent) | ||
unsafe-url |
https://example.com/page?q=123 | n'importe où | https://example.com/page?q=123 |
Si vous voulez spécifier une règle à appliquer par défaut dans les où la règle voulue n'est pas supportée par les navigateurs, utilisez un liste de valeurs séparées par des virgules avec la règle voulue fournie en dernière position :
Referrer-Policy: no-referrer, strict-origin-when-cross-origin
Ici, no-referrer ne sera utilisée que si strict-origin-when-cross-origin n'est pas supportée par le navigateur.
Spécifier plusieurs valeurs n'est supporté que dans l'en-tête HTTP Referrer-Policy et non dans l'attribut referrerpolicy.
| Spécification | Statut |
|---|---|
| Referrer Policy | Brouillon de l'éditeur. |
{{Compat("http.headers.Referrer-Policy")}}
Referrer-Policy dans about:config, l'option s'appelant network.http.referer.userControlPolicy.network.http.referer.defaultPolicy et network.http.referer.defaultPolicy.pbmode.Les valeurs permises sont :
no-referrersame-originstrict-origin-when-cross-originno-referrer-when-downgrade (par défaut)