Referer

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Заголовок запроса Referer содержит URL исходной страницы, с которой был осуществлён переход на текущую страницу. Заголовок Referer позволяет серверу узнать откуда был осуществлён переход на запрашиваемую страницу. Сервер может анализировать эти данные, записывать их в логи или оптимизировать процесс кеширования.

Обратите внимание, что слово «Referer» на самом деле является неправильным написанием слова «Referrer». См. HTTP referer.

Предупреждение: Заголовок Referer может раскрыть информацию пользователя об истории посещённых страниц, что может привести к нарушению приватности.

Поэтому, никогда не ссылайтесь и не включайте на страницу контент без предварительной проверки конфиденциальности, безопасности и сопряжённых с этим рисков, в том числе на страницах, которые не содержат информации о риске, но связаны с ним.

К примеру, по умолчанию URL страницы сброса пароля будет попадать на хосты, размещающие контент на странице, и хосты ссылок, нажатых на этой странице. В обоих случаях сторонний хост получит Referer пользователя.

Существует риск, что содержимое, загруженное на страницу получит доступ к Referer из объекта document.referrer.

Остерегайтесь хостов первого эшелона, таких как хост изображений. Несмотря на кажущийся, минимальный риск, они получают ваш Referer и это может стать проблемой безопасности.

Некоторые браузеры, такие как Firefox, также отправляют Referer в представлениях, отличных от страниц HTML. К примеру, JsonView отправит Referer хосту, когда в JSON будет переход по URL-адресу, это может раскрыть приватные данные. Иногда передача Referer случается при работе с API, при некорректных параметрах запроса в API ключах.

Браузер не отправляет заголовок Referer, если:

  • исходный ресурс — локальный "файл" или "data" URI,
  • используется незащищённый HTTP-запрос, а исходная страница была получена с защищённым протоколом (HTTPS).
Тип заголовка Request header
Forbidden header name yes

Синтаксис

Referer: <url>

Указания

<url>

Абсолютный или частичный адрес предыдущей веб-страницы, с которой был осуществлён переход на запрашиваемую страницу. Фрагменты URL-адреса (т.к. #якорь") и данные пользователя(т.к. "логин:пароль" в "https://username:password@example.com/foo/bar/") не включать.

Пример

Referer: https://developer.mozilla.org/ru/docs/Web/JavaScript

Спецификации

Specification
HTTP Semantics
# field.referer

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также