Referer
Заголовок запроса 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 |
Совместимость с браузерами
BCD tables only load in the browser
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.