HTTPQUERY
Deutsch

Referrer-Policy

Verwendung

Wenn ein Browser einem Link folgt oder eine Subressource lädt, sendet er normalerweise einen Referer-Header mit der URL der Ausgangsseite. Der Referrer-Policy-Header gibt Site-Betreibern die Kontrolle darüber, welcher Teil der URL weitergegeben wird und ob der Referer-Header überhaupt gesendet wird.

Datenschutzsensible Sites entfernen Referrer-Informationen, um zu verhindern, dass Query-Parameter, Pfade oder Details zur Herkunft an Dritte gelangen. Die Richtlinie gilt für Navigationen, Subressourcen-Anfragen und Prefetch-Vorgänge, die von der Seite ausgelöst werden.

Eine kommagetrennte Liste von Richtlinien dient als Fallback-Kette. Der Browser wählt die letzte Richtlinie der Liste aus, die er unterstützt, was vorwärtskompatible Deployments unkompliziert macht.

Festlegen der Richtlinie

Es gibt drei Mechanismen, um die Referrer-Richtlinie zu setzen:

Attribute auf Elementebene überschreiben das Meta-Tag auf Seitenebene, welches wiederum den HTTP-Header überschreibt. Der HTTP-Header ist die zuverlässigste Methode, weil die Richtlinie wirksam wird, bevor überhaupt HTML geparst wird.

no-referrer

Die Direktive no-referrer unterdrückt den Referer-Header vollständig. Mit keiner von der Seite ausgehenden Anfrage werden URL-Informationen gesendet.

no-referrer-when-downgrade

Die Direktive no-referrer-when-downgrade sendet bei Anfragen mit gleichem Protokoll die vollständige URL (Origin, Pfad und Query-String). Wenn die Anfrage die Sicherheit herabstuft (HTTPS zu HTTP), wird der Referer-Header weggelassen.

origin

Die Direktive origin sendet nur den Origin-Teil der URL (Schema, Host und Port). Pfad und Query-String werden bei jeder Anfrage entfernt.

origin-when-cross-origin

Die Direktive origin-when-cross-origin sendet bei Same-Origin-Anfragen die vollständige URL. Bei Cross-Origin-Anfragen oder Protokoll-Herabstufungen wird nur der Origin gesendet.

same-origin

Die Direktive same-origin sendet bei Same-Origin-Anfragen die vollständige URL und lässt den Referer-Header bei Cross-Origin-Anfragen vollständig weg.

strict-origin

Die Direktive strict-origin sendet nur den Origin, und zwar nur dann, wenn das Sicherheitsniveau des Protokolls gleich bleibt oder sich verbessert (HTTPS zu HTTPS oder HTTP zu HTTP). Eine Protokoll-Herabstufung unterdrückt den Header.

strict-origin-when-cross-origin

Die Direktive strict-origin-when-cross-origin sendet bei Same-Origin-Anfragen die vollständige URL, sendet bei Cross-Origin-Anfragen auf demselben Sicherheitsniveau nur den Origin und lässt den Header bei einer Protokoll-Herabstufung weg. Dies ist in modernen Browsern die Standardrichtlinie, wenn keine Referrer-Policy gesetzt ist.

unsafe-url

Die Direktive unsafe-url sendet mit jeder Anfrage die vollständige URL (Origin, Pfad und Query-String), unabhängig von Ziel oder Protokoll. Damit werden die meisten Informationen preisgegeben, was im Produktivbetrieb nur selten angemessen ist.

Beispiel

Eine strenge Standardrichtlinie, die bei Cross-Origin-Navigationen nur den Origin sendet:

Referrer-Policy: strict-origin-when-cross-origin

Eine datenschutzorientierte Konfiguration, die sämtliche Referrer-Daten unterdrückt:

Referrer-Policy: no-referrer

Eine Fallback-Kette, bei der der Browser strict-origin wählt, sofern unterstützt, und andernfalls auf no-referrer zurückfällt:

Referrer-Policy: no-referrer, strict-origin