--- title: Referrer-Policy slug: Web/HTTP/Headers/Referrer-Policy tags: - Cabeçalho HTTP - Cabeçalho de Resposta - HTTP - Referencia - Referrer-Policy - Resposta - privacidade translation_of: Web/HTTP/Headers/Referrer-Policy ---
{{HTTPSidebar}}

O cabeçalho HTTP Referrer-Policy controla quanta informação de referência (enviado pelo cabeçalho {{HTTPHeader("Referer")}}) deve ser incluída nas requisições.

Tipo de cabeçalho {{Glossary("Response header")}}
{{Glossary("Forbidden header name")}} não

Sintaxe

O nome original do cabeçalho {{HTTPHeader("Referer")}} é um erro ortográfico da palavra "referrer". O cabeçalho Referrer-Policy não compartilha do mesmo erro ortográfico.

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

Diretivas

no-referrer
O cabeçalho {{HTTPHeader("Referer")}} será omitido completamente. Nenhuma informação de referência será enviada junto com as requisições.
no-referrer-when-downgrade (padrão)
Este é o comportamento padrão quando nenhuma política é especificada, ou se o valor provido é inválido. A origem, caminho e cadeia de consulta ({{glossary("origin")}}, {{glossary("path")}}, and {{glossary("querystring")}}) da URL são enviadas como referência quando os níveis de protocolo de segurança continuam os mesmos (HTTP→HTTP, HTTPS→HTTPS) ou melhora (HTTP→HTTPS), mas não é enviado para destinos menos seguros (HTTPS→HTTP).
Existe um esforço dos navegadores em mover para um valor padrão mais estrito, chamado de strict-origin-when-cross-origin (veja https://github.com/whatwg/fetch/pull/952), considere usar este valor (ou um mais estrito), se possível, quando trocando a Referrer-Policy.
origin
Somente envia a origem ({{glossary("origin")}}) do documento como referência.
Por exemplo, um documento em https://example.com/page.html irá mandar a referência https://example.com/.
origin-when-cross-origin
Envia a origem, caminho e cadeia de consulta quando performando uma requisição {{glossary("Same-origin_policy", "same-origin")}}, mas somente envia a origem do documento em outros casos.
same-origin
A referência será enviada para origens do mesmo site, mas requisições entre origens  não enviarão informação de referência.
strict-origin
Envia somente a origem do documento como referência quando o nível de protocolo de segurança se mantém o mesmo (HTTPS→HTTPS), mas não o envia para um destinatário menos seguro (HTTPS→HTTP).
strict-origin-when-cross-origin
Envia a origem, caminho e cadeia de consulta quando performando uma requisição de mesma origem, somente envia a origem quando o nível do protocolo de segurança se mantém o mesmo durante uma requisição entre origens (HTTPS→HTTPS), e envia nenhum cabeçalho para destinatários menos seguros (HTTPS→HTTP).
unsafe-url
Envia a origem, o caminho e a cadeia de consulta quando performando qualquer requisição, independente da segurança.

Esta política irá vazar informações potencialmente privadas da URL HTTPS do recurso para origens inseguras. Considere o impacto desta configuração com cuidado.

Integração com HTML

Você também pode colocar política de referência dentro do HTML. Por exemplo, você pode colocar uma política de referência para o documento inteiro com um elemento {{HTMLElement("meta")}} com um nome de referrer:

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

Ou colocar ele para requisições individuais com o atributo referrerpolicy nos elementos {{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("img")}}, {{HTMLElement("iframe")}}, {{HTMLElement("script")}}, or {{HTMLElement("link")}}:

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

Alternativamente, uma relação de link noreferrer em um elemento a, area, ou link pode ser colocada:

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

Integração com CSS

CSS pode buscar recursos referênciados de suas folhas de estilo. Estes recursos seguem a política de referência também como:

Exemplos

Política Documento Navegar para Referência
no-referrer https://example.com/page qualquer lugar (sem referência)
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 (sem referência)
origin https://example.com/page qualquer lugar 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 (sem referência)
strict-origin https://example.com/page https://mozilla.org https://example.com/
http://example.org (sem referência)
http://example.com/page qualquer lugar 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 (sem referência)
unsafe-url https://example.com/page?q=123 qualquer lugar https://example.com/page?q=123

Especificando uma política de recuo (fallback)

Se você quer especificar uma política de recuo em qualquer caso que a política desejada não tenha um grande suporte do navegador, use uma lista separada por vírgulas com a política desejada especificada por último:

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

No cenário acima, no-referrer só será usada se strict-origin-when-cross-origin não for suportada pelo navegador.

Especificar múltiplos valores só é suportado no cabeçalho HTTP Referrer-Policy, e não no atributo referrerpolicy.

Especificações

Especificação Status
Referrer Policy Rascunho do editor

Compatibilidade com navegadores

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

Valores possíveis são:

Veja também