Referer
Uso
La cabecera Referer la envían los clientes (navegadores, bibliotecas HTTP) para indicar la URL de la página o el recurso que enlaza con el recurso solicitado. Cuando un usuario hace clic en un enlace de https://example.re/page, el navegador envía la dirección de la página que contiene el enlace en la cabecera Referer de la solicitud siguiente.
Nota
El nombre de la cabecera “Referer” es un error ortográfico histórico de la palabra inglesa “referrer”. La especificación HTTP original introdujo esa errata, y corregir ahora la ortografía rompería las implementaciones existentes. La forma mal escrita sigue siendo el nombre oficial de la cabecera.
La cabecera cumple varias funciones. Los sistemas de analítica se apoyan en el referrer para rastrear las fuentes de tráfico. Los servidores usan su valor para el registro y el control de acceso. Los motores de búsqueda usaban históricamente los datos de referrer para entender las relaciones de enlace entre páginas.
La cabecera de respuesta Referrer-Policy controla cuánta información incluye la cabecera Referer. Las políticas van desde enviar la URL completa (unsafe-url) hasta enviar solo el origen (origin) u omitir la cabecera por completo (no-referrer). La mayoría de los navegadores usa de forma predeterminada strict-origin-when-cross-origin, que envía la URL completa en las solicitudes del mismo origen y solo el origen en las solicitudes de origen cruzado.
La cabecera Referer no se envía en una solicitud que va de una página HTTPS a una página HTTP (una degradación) bajo la política predeterminada. Los identificadores de fragmento y las credenciales nunca se incluyen en el valor.
Absolute URL
La URL completa, con esquema, host, ruta y cadena de consulta. Las solicitudes del mismo origen suelen incluir la URL completa.
Referer: https://example.re/articles/http-headers?page=2
Origin only
El esquema y el host, sin ruta ni cadena de consulta. Es lo que se envía en las solicitudes de origen cruzado bajo la política predeterminada del navegador.
Referer: https://example.re/
Empty or absent
La cabecera se omite por completo cuando Referrer-Policy está establecida en no-referrer, cuando la solicitud procede de una URL guardada como marcador, cuando se escribe una URL directamente en la barra de direcciones o durante las degradaciones de HTTPS a HTTP bajo la política predeterminada.
Ejemplo
Un navegador que sigue un enlace desde una página de resultados de búsqueda envía la URL de búsqueda como referrer. El servidor que recibe la solicitud ve de dónde procede el visitante.
Referer: https://search.example.re/results?q=http+headers
Una solicitud de origen cruzado desde una página segura envía únicamente la parte del origen bajo la política predeterminada strict-origin-when-cross-origin.
Referer: https://example.re/
Un recurso cargado en el mismo origen incluye la ruta y la cadena de consulta completas en el valor del referrer.
Referer: https://example.re/docs/guide?section=headers