DEV Community

Passarin
Passarin

Posted on

Você se preocupa com o Referrer Policy dos seus links HTML <a>?

O atributo referrerpolicy é utilizado no elemento <a> do HTML5 para controlar como as informações de referenciamento (referrers) são enviadas quando o usuário clica no link e navega para uma nova página. Esses valores indicam como o cabeçalho HTTP Referer deve ser gerado e enviado para a página de destino.

Resumidamente, o cabeçalho Referer é um campo no cabeçalho HTTP de uma solicitação web que indica a origem da requisição. Ele informa ao servidor de destino de onde veio a solicitação. O cabeçalho Referer contém a URL da página da qual o usuário navegou ou foi direcionado para a página atual.

No entanto, esse cabeçalho também pode apresentar preocupações com a privacidade. Se a URL da página de referência contiver informações sensíveis, como parâmetros de consulta com dados pessoais, essas informações serão enviadas junto com a solicitação. Por esse motivo, alguns sites e desenvolvedores optam por manipular o cabeçalho Referer usando o atributo referrerpolicy no HTML ou configurando diretivas em nível de servidor para controlar como essas informações são transmitidas ou se são transmitidas.

Vamos explicar cada um dos valores:

no-referrer

Nenhum cabeçalho Referer é enviado. O referenciador não é incluído na requisição HTTP.

no-referrer-when-downgrade

O cabeçalho Referer é enviado apenas para requisições seguras (HTTPS), quando a requisição é feita a partir de uma página segura. Em requisições não seguras (HTTP), nenhum cabeçalho Referer é enviado.

origin

Apenas o valor de origem (origin) da URL de referência é enviado como Referer. O caminho e a consulta não são incluídos.

origin-when-cross-origin

Semelhante a "origin", mas se a origem da página de referência for diferente da origem da página de destino, o caminho completo é enviado como Referer.

same-origin

O cabeçalho Referer é enviado apenas para páginas que têm a mesma origem (mesmo esquema, host e porta).

strict-origin-when-cross-origin (Padrão dos navegadores)

Semelhante a "origin-when-cross-origin", mas apenas o valor de origem é enviado como Referer para requisições cruzadas.

unsafe-url

O cabeçalho Referer é sempre enviado, incluindo o caminho completo da URL de referência.

Esses valores permitem que os desenvolvedores controlem a privacidade e a segurança das informações de referenciamento, ajudando a evitar vazamento de informações sensíveis, especialmente ao lidar com navegação entre diferentes origens (cross-origin).

Escolher o valor apropriado depende dos requisitos de segurança e privacidade do aplicativo da web. Já vi muita gente copiando code snippets UNSAFE da internet.

A ortografia "Referer" em vez de "Referrer" é derivada de um erro tipográfico na especificação original HTTP/1.0, e a ortografia errada foi mantida por razões de compatibilidade.

Top comments (0)