Referer
Verwendung
Der Referer-Header wird von Clients (Browsern, HTTP-Bibliotheken) gesendet, um die URL der Seite oder Ressource anzugeben, die auf die angeforderte Ressource verweist. Klickt ein Nutzer auf einen Link auf https://example.re/page, sendet der Browser die Adresse der verlinkenden Seite mit der darauffolgenden Anfrage im Referer-Header.
Hinweis
Der Header-Name “Referer” ist ein historischer Schreibfehler des englischen Wortes “referrer”. Die ursprüngliche HTTP-Spezifikation führte diesen Tippfehler ein, und die Schreibweise jetzt zu korrigieren würde bestehende Implementierungen brechen. Die falsch geschriebene Form bleibt der offizielle Header-Name.
Der Header erfüllt mehrere Zwecke. Analytics-Systeme stützen sich auf den Referrer, um Traffic-Quellen nachzuverfolgen. Server verwenden den Wert für Protokollierung und Zugriffskontrolle. Suchmaschinen nutzten Referrer-Daten historisch, um die Verlinkungsbeziehungen zwischen Seiten zu verstehen.
Der Antwort-Header Referrer-Policy steuert, wie viele Informationen der Referer-Header enthält. Die Richtlinien reichen vom Senden der vollständigen URL (unsafe-url) über das Senden ausschließlich des Origins (origin) bis zum vollständigen Weglassen des Headers (no-referrer). Die meisten Browser verwenden standardmäßig strict-origin-when-cross-origin, wodurch bei Same-Origin-Anfragen die vollständige URL und bei Cross-Origin-Anfragen nur der Origin gesendet wird.
Der Referer-Header wird unter der Standardrichtlinie nicht bei einer Anfrage von einer HTTPS-Seite an eine HTTP-Seite (einem Downgrade) gesendet. Fragmentbezeichner und Anmeldedaten sind niemals im Wert enthalten.
Absolute URL
Die vollständige URL einschließlich Schema, Host, Pfad und Query-Zeichenkette. Same-Origin-Anfragen enthalten typischerweise die komplette URL.
Referer: https://example.re/articles/http-headers?page=2
Nur Origin
Schema und Host ohne Pfad oder Query-Zeichenkette. Wird bei Cross-Origin-Anfragen unter der Standardrichtlinie des Browsers gesendet.
Referer: https://example.re/
Leer oder nicht vorhanden
Der Header wird vollständig weggelassen, wenn die Referrer-Policy auf no-referrer gesetzt ist, wenn die Anfrage von einer als Lesezeichen gespeicherten URL stammt, wenn eine URL direkt in die Adressleiste eingegeben wird oder bei Downgrades von HTTPS auf HTTP unter der Standardrichtlinie.
Beispiel
Ein Browser, der einem Link von einer Suchergebnisseite folgt, sendet die Such-URL als Referrer. Der Server, der die Anfrage empfängt, sieht, woher der Besucher kam.
Referer: https://search.example.re/results?q=http+headers
Eine Cross-Origin-Anfrage von einer sicheren Seite sendet unter der Standardrichtlinie strict-origin-when-cross-origin nur den Origin-Teil.
Referer: https://example.re/
Eine Ressource, die im selben Origin geladen wird, enthält im Referrer-Wert den vollständigen Pfad und die Query-Zeichenkette.
Referer: https://example.re/docs/guide?section=headers