Referer
Заголовок запроса 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