Компания Mozilla изменила метод формирования заголовка http Referer в выпуске Firefox 87, намеченном на завтра. С целью блокирования потенциальных утечек конфиденциальных данных по умолчанию при переходе на другие сайты HTTP-заголовок Referer будет включать не полный URL источника, с которого осуществлён переход, а лишь домен. Путь и параметры запроса будут вырезаться. Т.е. вместо “Referer: https://www.example.com/путь/?аргументы” будет передан “Referer: https://www.example.com/”. Начиная с Firefox 59 подобная чистка производилась в режиме приватного просмотра, а теперь будет распространена и на основной режим.
Новое поведение поможет предотвратить передачу лишних данных о пользователе рекламным сетям и прочим внешним ресурсам. В качестве примера приводятся некоторые медицинские сайты, в процессе показа рекламы на которых третьи лица могут получить сведения конфиденциального характера, такие как возраст и поставленный пациенту диагноз. При этом удаление деталей из Referer может негативно повлиять на сбор статистики о переходах владельцами сайтов, которые теперь не смогут точно определить адрес предыдущей страницы, например для понимания с какой именно статьи был совершён переход. Также может нарушится работа некоторых систем динамической генерации содержимого, выполняющих разбор ключей, которые привели к переходу из поисковой системы.
Для управления выставлением Referer предусмотрен HTTP-заголовок Referrer-Policy, при помощи которого владельцы сайтов могут переопределить поведение по умолчанию для переходов со своего сайта и вернуть указание в Referer полной информации. В настоящее время по умолчанию применяется политика “no-referrer-when-downgrade”, при которой Referer не отправляется при переходе с HTTPS на HTTP, но передаётся в полной форме при загрузке ресурсов по HTTPS. Начиная с Firefox 87 начнёт действовать политика “strict-origin-when-cross-origin”, подразумевающая вырезание путей и параметров при отправке запроса на другие хосты при обращении по HTTPS, удаление Referer при переходе с HTTPS на HTTP и передачу полного Referer для внутренних переходов в рамках одного сайта.
Изменение будет действовать для обычных навигационных запросов (переходов по ссылкам), автоматических редиректов и при загрузке внешних ресурсов (изображений, СSS, скриптов). В Chrome переход по умолчанию на “strict-origin-when-cross-origin” был осуществлён летом прошлого года.