Атрибут referrerpolicy
Атрибут referrerpolicy
определяет, какую информацию о реферере следует отправлять при переходе по ссылке.
Реферер (от англ. referrer — отсылающий) — это адрес веб-страницы, с которой пользователь перешёл на текущую страницу. Например, если пользователь перейдёт со страницы https://puzzleweb.ru
на страницу example.com
, то реферер для страницы example.com
будет https://puzzleweb.ru
.
Браузеры передают информацию о реферере в виде GET-запроса в заголовке Referer
.
Информация о реферере может применяться для следующих целей:
- отслеживание источников трафика;
- сбор статистики по переходам между страницами сайта;
- определение страниц на других сайтах, которые привлекают больше трафика на ваш сайт.
Атрибут referrerpolicy
не может быть использован, если не установлен атрибут href
.
Синтаксис
<a referrerpolicy="no-referrer |
no-referrer-when-downgrade |
origin |
origin-when-cross-origin |
same-origin |
strict-origin |
strict-origin-when-cross-origin |
unsafe-url">
Значения
Атрибут может принимать одно из следующих значений:
Значение | Описание |
---|---|
"" | Тоже самое, что и значение по умолчанию. |
no-referrer | Указывает, что никакая информация о реферере не должна отправляться. Заголовок Referer не отправляется. |
no-referrer-when-downgrade | Заголовок Referer не отправляется при переходе с защищённого протокола на обычный (HTTPS→HTTP). |
origin | Информация о реферере ограничена и содержит только протокол, адрес сайта и порт, если он указан (например, https://example.com:80 ). |
origin-when-cross-origin | В пределах одного сайта передаётся полный путь. При переходе на другой сайт информация о реферере ограничена и включает в себя только протокол, адрес сайта и порт. |
same-origin | Реферальные данные отправляются в пределах одного сайта, при переходе на другой сайт заголовок Referer не отправляется. |
strict-origin | Реферальные данные содержат протокол, адрес сайта и порт (при его наличии). Сами данные передаются только в рамках одного и того же протокола (HTTPS→HTTPS или HTTP→HTTP) и не отправляются при переходе на менее безопасный (HTTPS→HTTP). |
strict-origin-when-cross-origin | Полный путь передаётся в пределах одного сайта, на другой сайт передаются протокол, адрес сайта и порт, но только когда протокол остаётся прежним (HTTPS→HTTPS или HTTP→HTTP). Заголовок не передаётся при переходе на менее безопасный протокол (HTTPS→HTTP). |
unsafe-url | Информация о реферере содержит полный адрес документа (но не пароли или имя пользователя). |
Значение по умолчанию
strict-origin-when-cross-origin
Пример
<!doctype html>
<html lang="ru">
<head>
<meta charset="utf-8">
<title>Заголовок</title>
</head>
<body>
<a href="https://puzzleweb.ru/html/tag_a.php"
referrerpolicy="no-referrer">Ссылка</a>
</body>
</html>
Результат