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 Antwortheader steuert, wie viele Referrer-Informationen (gesendet mit dem Referer Header) mit Anfragen einbezogen werden sollen. Abgesehen vom HTTP-Header können Sie diese Richtlinie in HTML festlegen.
| Header-Typ | Antwortheader |
|---|---|
| Forbidden-Anforderungsheader | Nein |
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 falsche Schreibweise des Wortes „Referrer“. Der Referrer-Policy-Header teilt diese falsche Schreibweise nicht.
Direktiven
no-referrer-
Der
Referer-Header wird ausgelassen: gesendete Anfragen enthalten keine Referrer-Informationen. no-referrer-when-downgrade-
Senden Sie den origin, Pfad und die Abfragezeichenfolge im
Referer, wenn das Sicherheitsniveau des Protokolls gleich bleibt oder verbessert wird (HTTP→HTTP, HTTP→HTTPS, HTTPS→HTTPS). Senden Sie denReferer-Header nicht für Anfragen zu weniger sicheren Zielen (HTTPS→HTTP, HTTPS→file). origin-
Senden Sie nur den origin im
Referer-Header. Zum Beispiel sendet ein Dokument unterhttps://example.com/page.htmlden Referrerhttps://example.com/. origin-when-cross-origin-
Bei einer same-origin Anfrage senden Sie den origin, Pfad und die Abfragezeichenfolge. Senden Sie nur den origin für Cross-Origin-Anfragen und Anfragen zu weniger sicheren Zielen (HTTPS→HTTP).
same-origin-
Senden Sie den origin, Pfad und die Abfragezeichenfolge für same-origin Anfragen. Senden Sie den
Referer-Header nicht für Cross-Origin-Anfragen. strict-origin-
Senden Sie nur den origin, wenn das Sicherheitsniveau des Protokolls gleich bleibt (HTTPS→HTTPS). Senden Sie den
Referer-Header nicht zu weniger sicheren Zielen (HTTPS→HTTP). strict-origin-when-cross-origin(Standard)-
Senden Sie den origin, Pfad und die Abfragezeichenfolge, wenn Sie eine same-origin-Anfrage ausführen. Für Cross-Origin-Anfragen senden Sie nur den origin, wenn das Sicherheitsniveau des Protokolls gleich bleibt (HTTPS→HTTPS). Senden Sie den
Referer-Header nicht zu weniger sicheren Zielen (HTTPS→HTTP).Hinweis: Dies ist die Standardrichtlinie, wenn keine Richtlinie angegeben ist oder wenn der angegebene Wert ungültig ist (siehe Spezifikationsrevision November 2020). Früher war der Standard
no-referrer-when-downgrade. unsafe-url-
Senden Sie den origin, Pfad und die Abfragezeichenfolge bei jeder Anfrage, unabhängig von der Sicherheit.
Warnung: Diese Richtlinie leakt möglicherweise private Informationen aus HTTPS-Ressourcen-URLs an unsichere Ursprünge. Erwägen 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 name von referrer festlegen:
<meta name="referrer" content="origin" />
Sie können das Attribut referrerpolicy auf <a>, <area>, <img>, <iframe>, <script> oder <link> Elementen angeben, um Referrer-Richtlinien für einzelne Anfragen zu festlegen:
<a href="http://example.com" referrerpolicy="origin">…</a>
Alternativ können Sie ein noreferrer link relation auf a, area oder link Elementen festlegen:
<a href="http://example.com" rel="noreferrer">…</a>
Warnung:
Wie oben zu sehen, wird die noreferrer-Linkbeziehung ohne Bindestrich geschrieben. Wenn Sie die Referrer-Richtlinie für das gesamte Dokument mit einem <meta>-Element festlegen, sollte es mit 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 auf der Antwort des CSS-Stylesheets überschrieben. - Für
<style>-Elemente oderstyleattribute wird die Referrer-Richtlinie des Besitzerdokuments 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 |
Festlegen einer Fallback-Richtlinie
Wenn Sie eine Fallback-Richtlinie angeben möchten, falls die gewünschte Richtlinie keine breite Browser-Kompatibilität hat, verwenden Sie eine durch Kommata getrennte Liste, wobei die gewünschte Richtlinie zuletzt angegeben wird:
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:
Das Angeben mehrerer Werte wird nur im Referrer-Policy HTTP-Header unterstützt, nicht im referrerpolicy Attribut.
Browserspezifische Einstellungen
>Firefox-Einstellungen
Sie können die Standard-Referrer-Richtlinie in Firefox-Einstellungen konfigurieren. Die Namen der Einstellungen 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 akzeptieren denselben Satz von Werten: 0 = no-referrer, 1 = same-origin, 2 = strict-origin-when-cross-origin, 3 = no-referrer-when-downgrade.
Spezifikationen
| Specification |
|---|
| Referrer Policy> # referrer-policy-header> |
Browser-Kompatibilität
Loading…