--- title: Zasada Polecającego (Referrer-Policy) slug: Web/HTTP/Headers/Referrer-Policy tags: - HTTP - Reference - Referencja - Referrer-Policy - Response - Response Header - nagłówek HTTP - nagłówek odpowiedzi - odpowiedź - polecający - prywatność - referrer - zasada polecającego translation_of: Web/HTTP/Headers/Referrer-Policy ---
{{HTTPSidebar}}

{{glossary("HTTP header")}} Referrer-Policy kontroluje, w jakim zakresie informacje dot. polecającego (referrera) (wysyłane poprzez nagłówek {{HTTPHeader("Referer")}}) powinny być zawarte w żądaniu

Typ nagłówka {{Glossary("Response header")}}
{{Glossary("Forbidden header name")}} nie

Składnia

Originalna nazwa nagłówka, {{HTTPHeader("Referer")}}, to błędnie zapisane słowo "referrer" ("polecający"). Nagłówek Referrer-Policy nie zawiera tej literówki.

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

Dyrektywy

no-referrer
Nagłówek {{HTTPHeader("Referer")}} zostanie całkowicie pominięty. Żadna informacja dot. polecającego nie zostanie wysłana w żądaniu.
no-referrer-when-downgrade (domyślna)
Zachowanie domyślne, jeśli zasada nie została określona lub jeśli wartość jest niepoprawna. {{glossary("origin")}}, {{glossary("path")}} oraz {{glossary("querystring")}} URLu są wysyłane jako polecający, podczas gdy poziom bezpieczeństwa protokołu pozostaje na tym samym poziomie (HTTP→HTTP, HTTPS→HTTPS) lub jest bezpieczniejszy (HTTP→HTTPS), ale nie gdy destynacja jest mniej bezpieczna (HTTPS→HTTP).
origin
Wysyła jedynie {{glossary("origin")}} dokumentu jako jego polecającego. Przykładowo, dokument pod adresem https://example.com/page.html wyśle referrer brzmiący: https://example.com/.
origin-when-cross-origin
Wyśle origin, ścieżkę i string z zapytaniem podczas obsługi żądania {{glossary("Same-origin_policy", "same-origin")}}, w innych przypadkach wyśle jedynie origin dokumentu.
same-origin
Referrer zostanie wysłany do originów same-site, natomiast żądania cross-origin nie będą zawierać informacji o referrerze.
strict-origin
Wyśle origin dokumentu jako referrer, jeśli poziom bezpieczeństwa protokołu zostaje na tym samym poziomie (HTTPS→HTTPS), nie wyśle, jeśli poziom bezpieczeństwa destynacji jest niższy (HTTPS→HTTP).
strict-origin-when-cross-origin
Wyśle origin, ścieżkę i string z zapytaniem podczas obsługi żądania same-orign, wyśle jedynie origin, jeśli poziom bezpieczeństwa protokołu pozostaje taki sam (HTTPS→HTTPS), natomiast nie wyśle nagłówka do destynacji o niższym poziomie bezpieczeństwa (HTTPS→HTTP).
unsafe-url
Wyśle origin, ścieżkę i string z zapytaniem podczas obsługi jakiegokolwiek zdarzenia, niezależnie od bezpieczeństwa.

Niniejsza zasada może skutkować wyciekiem potencjalnie prywatnych informacji z URLów zasobów HTTPS do niebezpiecznych originów. Mocno się zastanów, zanim wybierzesz to ustawienie.

Integracja z HTMLem

Możesz ustawić zasady polecającego także w HTMLu. Przykładowo, możesz ustawić zasadę polecającego dla całego dokumentu poprzez konfigurację elementu {{HTMLElement("meta")}} z name równe referrer:

<meta name="referrer" content="origin">

Lub ustawić dla określonych żądań poprzez atrybut referrerpolicy na elementach {{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("img")}}, {{HTMLElement("iframe")}}, {{HTMLElement("script")}} czy {{HTMLElement("link")}}:

<a href="http://example.com" referrerpolicy="origin">

Alternatywnie, w przypadku elementu a, area, bądź link możesz ustawić relację linku na noreferrer :

<a href="http://example.com" rel="noreferrer">

Integracja z CSSem

CSS może przechwytywać zasoby wyszczególnione w arkuszach stylów. Niniejsze zasoby również podlegają zasadzie polecającego:

Przykłady

Zasada Document Nawigacja do Referrer
no-referrer https://example.com/page gdziekolwiek (no referrer)
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 (no referrer)
origin https://example.com/page anywhere 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 (no referrer)
strict-origin https://example.com/page https://mozilla.org https://example.com/
http://example.org (no referrer)
http://example.com/page anywhere 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 (no referrer)
unsafe-url https://example.com/page?q=123 anywhere https://example.com/page?q=123

Określanie zasady awaryjnej

Jeśli chcesz określić zasadę awaryjną na wypadek, gdy pożądana zasada nie jest wspierana przez daną przeglądarkę, użyj listy oddzielonej przecinkiem, gdzie na samym końcu wpisujesz pożądaną zasadę:

Referrer-Policy: no-referrer, strict-origin-when-cross-origin

W przypadku powyższego scenariusza, no-referrer zostanie użyty jedynie, jeśli strict-origin-when-cross-origin nie jest wspierany przez daną przeglądarkę.

Określanie wielu wartości jest wspierane jedynie w nagłówku HTTP Referrer-Policy, nie jest natomiast w atrybucie referrerpolicy.

Specyfikacje

Specyfikacja Status
Zasada Referrera Wersja robocza redaktora

Kompatybilność z przeglądarkami

{{Compat("http.headers.Referrer-Policy")}}

Dopuszczalne wartości to:

Zobacz również