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