Referrer-Policy header
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Januar 2020.
* Some parts of this feature may have varying levels of support.
Der HTTP Referrer-Policy Antwort-Header steuert, wie viele Referrer-Informationen (gesendet mit dem Referer-Header) mit Anfragen aufgenommen werden sollen.
Neben dem HTTP-Header können Sie diese Richtlinie im HTML festlegen.
| Header-Typ | Antwort-Header |
|---|
Syntax
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
Hinweis:
Der Header-Name Referer ist eine fehlerhafte Schreibweise des Wortes "Referrer". Der Referrer-Policy-Header teilt diesen Schreibfehler nicht.
Direktiven
no-referrer-
Der
Referer-Header wird ausgelassen: Gesendete Anfragen enthalten keine Referrer-Informationen. no-referrer-when-downgrade-
Senden Sie den Ursprung, den Pfad und die Abfragezeichenfolge im
Referer, wenn das Sicherheitsniveau des Protokolls gleich bleibt oder sich verbessert (HTTP→HTTP, HTTP→HTTPS, HTTPS→HTTPS). Senden Sie denReferer-Header nicht für Anfragen an weniger sichere Ziele (HTTPS→HTTP, HTTPS→file). origin-
Senden Sie nur den Ursprung im
Referer-Header. Zum Beispiel wird ein Dokument unterhttps://example.com/page.htmlden Referrerhttps://example.com/senden. origin-when-cross-origin-
Bei einer gleicher Herkunft Anfrage senden Sie den Ursprung, den Pfad und die Abfragezeichenfolge. Senden Sie nur den Ursprung für Anfragen über verschiedene Ursprünge und Anfragen an weniger sichere Ziele (HTTPS→HTTP).
same-origin-
Senden Sie den Ursprung, den Pfad und die Abfragezeichenfolge für gleicher Herkunft Anfragen. Senden Sie den
Referer-Header nicht für Anfragen über verschiedene Ursprünge. strict-origin-
Senden Sie nur den Ursprung, wenn das Sicherheitsniveau des Protokolls gleich bleibt (HTTPS→HTTPS). Senden Sie den
Referer-Header nicht an weniger sichere Ziele (HTTPS→HTTP). strict-origin-when-cross-origin(Standard)-
Senden Sie den Ursprung, den Pfad und die Abfragezeichenfolge bei einer Anfrage gleicher Herkunft. Für Anfragen über verschiedene Ursprünge senden Sie nur den Ursprung, wenn das Sicherheitsniveau des Protokolls gleich bleibt (HTTPS→HTTPS). Senden Sie den
Referer-Header nicht an weniger sichere Ziele (HTTPS→HTTP).Hinweis: Dies ist die Standardrichtlinie, wenn keine Richtlinie angegeben ist oder wenn der angegebene Wert ungültig ist (siehe Spezifikationsrevision November 2020). Zuvor war die Standardeinstellung
no-referrer-when-downgrade. unsafe-url-
Senden Sie den Ursprung, den Pfad und die Abfragezeichenfolge bei jeder Anfrage, unabhängig von der Sicherheit.
Warnung: Diese Richtlinie kann potenziell private Informationen von HTTPS-Ressourcen-URLs an unsichere Ursprünge weitergeben. Überdenken Sie sorgfältig die Auswirkungen dieser Einstellung.
Integration mit HTML
Sie können auch Referrer-Richtlinien innerhalb von HTML festlegen. Zum Beispiel können Sie die Referrer-Richtlinie für das gesamte Dokument mit einem <meta>-Element mit einem Namen von referrer festlegen:
<meta name="referrer" content="origin" />
Sie können das referrerpolicy-Attribut auf <a>, <area>, <img>, <iframe>, <script>, oder <link> Elementen angeben, um Referrer-Richtlinien für individuelle Anfragen festzulegen:
<a href="http://example.com" referrerpolicy="origin">…</a>
Alternativ können Sie eine noreferrer Link-Relation auf a, area oder link Elementen festlegen:
<a href="http://example.com" rel="noreferrer">…</a>
Warnung:
Wie oben gezeigt, wird die noreferrer-Link-Relation ohne ein Bindestrich geschrieben. Wenn Sie die Referrer-Richtlinie für das gesamte Dokument mit einem <meta> Element festlegen, sollte sie mit einem Bindestrich geschrieben werden: <meta name="referrer" content="no-referrer">.
Integration mit CSS
CSS kann Ressourcen abrufen, die in Stylesheets referenziert werden. Diese Ressourcen folgen ebenfalls einer Referrer-Richtlinie:
- Externe CSS-Stylesheets verwenden die Standardrichtlinie (
strict-origin-when-cross-origin), es sei denn, sie wird durch einenReferrer-PolicyHTTP-Header in der Antwort des CSS-Stylesheets überschrieben. - Für
<style>Elemente oderstyleAttribute wird die Referrer-Richtlinie des Eigentümerdokuments verwendet.
Beispiele
>no-referrer
| Vom Dokument | Navigation zu | Verwendeter Referrer |
|---|---|---|
https://example.com/page |
überall | (kein Referrer) |
no-referrer-when-downgrade
| Vom Dokument | Navigation zu | Verwendeter Referrer |
|---|---|---|
https://example.com/page |
https://example.com/otherpage |
https://example.com/page |
https://example.com/page |
https://mozilla.org |
https://example.com/page |
https://example.com/page |
http://example.com | (kein Referrer) |
| http://example.com/page | überall | http://example.com/page |
origin
| Vom Dokument | Navigation zu | Verwendeter Referrer |
|---|---|---|
https://example.com/page |
überall | https://example.com/ |
origin-when-cross-origin
| Vom Dokument | Navigation zu | Verwendeter Referrer |
|---|---|---|
https://example.com/page |
https://example.com/otherpage |
https://example.com/page |
https://example.com/page |
https://mozilla.org |
https://example.com/ |
https://example.com/page |
http://example.com/page | https://example.com/ |
same-origin
| Vom Dokument | Navigation zu | Verwendeter Referrer |
|---|---|---|
https://example.com/page |
https://example.com/otherpage |
https://example.com/page |
https://example.com/page |
https://mozilla.org |
(kein Referrer) |
strict-origin
| Vom Dokument | Navigation zu | Verwendeter Referrer |
|---|---|---|
https://example.com/page |
https://mozilla.org |
https://example.com/ |
https://example.com/page |
http://example.com | (kein Referrer) |
| http://example.com/page | überall | http://example.com/ |
strict-origin-when-cross-origin
| Vom Dokument | Navigation zu | Verwendeter Referrer |
|---|---|---|
https://example.com/page |
https://example.com/otherpage |
https://example.com/page |
https://example.com/page |
https://mozilla.org |
https://example.com/ |
https://example.com/page |
http://example.com | (kein Referrer) |
unsafe-url
| Vom Dokument | Navigation zu | Verwendeter Referrer |
|---|---|---|
https://example.com/page?q=123 |
überall | https://example.com/page?q=123 |
Eine Fallback-Richtlinie angeben
Wenn Sie eine Fallback-Richtlinie angeben möchten, falls die gewünschte Richtlinie nicht ausreichend von Browsern unterstützt wird, verwenden Sie eine kommagetrennte Liste mit der gewünschten Richtlinie zuletzt angegeben:
Referrer-Policy: no-referrer, strict-origin-when-cross-origin
In dem obigen Szenario wird no-referrer nur verwendet, wenn der Browser die Richtlinie strict-origin-when-cross-origin nicht unterstützt.
Hinweis:
Mehrere Werte anzugeben, wird nur im Referrer-Policy HTTP-Header unterstützt, nicht im referrerpolicy Attribut.
Browser-spezifische Präferenzen/Einstellungen
>Firefox-Präferenzen
Sie können die Standard-Referrer-Richtlinie in den Firefox-Präferenzen konfigurieren. Die Präferenznamen sind versionsspezifisch:
- Firefox Version 59 und später:
network.http.referer.defaultPolicy(undnetwork.http.referer.defaultPolicy.pbmodefür private Netzwerke) - Firefox Versionen 53 bis 58:
network.http.referer.userControlPolicy
Alle diese Einstellungen nehmen den gleichen Satz von Werten an: 0 = no-referrer, 1 = same-origin, 2 = strict-origin-when-cross-origin, 3 = no-referrer-when-downgrade.
Spezifikationen
| Specification |
|---|
| Referrer Policy> # referrer-policy-header> |