Referer
Применение
Заголовок Referer отправляется клиентами (браузерами, HTTP-библиотеками), чтобы указать URL страницы или ресурса, ссылающегося на запрашиваемый ресурс. Когда пользователь переходит по ссылке на https://example.re/page, браузер передаёт адрес ссылающейся страницы в заголовке Referer вместе с последующим запросом.
Примечание
Имя заголовка «Referer» — историческая опечатка в английском слове «referrer». Эта опечатка попала в исходную спецификацию HTTP, и исправление написания сейчас сломало бы существующие реализации. Написание с ошибкой остаётся официальным именем заголовка.
Заголовок служит сразу нескольким целям. Системы аналитики опираются на реферер для отслеживания источников трафика. Серверы используют его значение для журналирования и контроля доступа. Поисковые системы исторически использовали данные реферера, чтобы понимать связи ссылок между страницами.
Заголовок ответа Referrer-Policy управляет тем, сколько информации попадает в Referer. Политики варьируются от передачи полного URL (unsafe-url) и передачи только источника (origin) до полного отключения заголовка (no-referrer). Большинство браузеров по умолчанию используют strict-origin-when-cross-origin: полный URL отправляется для запросов того же источника, а для межсайтовых запросов — только источник.
Заголовок Referer не отправляется при запросе со страницы HTTPS на страницу HTTP (понижение уровня защиты) при политике по умолчанию. Идентификаторы фрагмента и учётные данные в значение никогда не включаются.
Абсолютный URL
Полный URL, включая схему, хост, путь и строку запроса. Запросы того же источника обычно включают URL целиком.
Referer: https://example.re/articles/http-headers?page=2
Только источник
Схема и хост без пути и строки запроса. Отправляется для межсайтовых запросов при политике браузера по умолчанию.
Referer: https://example.re/
Пустой или отсутствующий
Заголовок не отправляется вовсе, когда Referrer-Policy имеет значение no-referrer, когда запрос приходит с URL из закладок, при прямом вводе URL в адресную строку, а также при понижении с HTTPS на HTTP при политике по умолчанию.
Пример
Браузер, переходящий по ссылке со страницы результатов поиска, отправляет URL поиска в качестве реферера. Сервер, принимающий запрос, видит, откуда пришёл посетитель.
Referer: https://search.example.re/results?q=http+headers
Межсайтовый запрос с защищённой страницы отправляет только часть с источником при политике по умолчанию strict-origin-when-cross-origin.
Referer: https://example.re/
Ресурс, загружаемый в пределах того же источника, включает в значение реферера полный путь и строку запроса.
Referer: https://example.re/docs/guide?section=headers