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

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

Заголовок 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/en-US/docs/Web/JavaScript

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

Спецификация Название
RFC 7231, секция 5.5.2: Referer Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content

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

ВозможностьChromeEdgeFirefoxInternet ExplorerOperaSafari
Базовая поддержка Да Да Да Да Да Да
ВозможностьAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Базовая поддержка Да Да Да Да Да Да Да

См. также

Метки документа и участники

Внесли вклад в эту страницу: stonetrooper
Обновлялась последний раз: stonetrooper,