
Реферер (англ. Referer) — HTTP-заголовок запроса, который содержит URL предыдущей страницы, с которой пользователь перешёл на текущий ресурс, позволяющий веб-серверам и системам аналитики определять источник трафика.
Что такое реферер в современной веб-разработке — стандартный механизм передачи информации о происхождении пользователя. Когда кликаешь по ссылке, браузер автоматически отправляет адрес страницы, на которой ссылка размещена, в заголовке HTTP-запроса к целевому сайту.
Реферер критически важен для веб-аналитики: Google Analytics, Яндекс.Метрика и другие сервисы используют его для определения источника трафика — пришёл ли пользователь с поисковой системы, рекламы, социальной сети, другого сайта или ввёл URL напрямую.
Интересный технический факт: в стандарте HTTP название заголовка пишется с опечаткой — Referer вместо грамматически правильного Referrer. Опечатка вошла в стандарт RFC 1945 в 1996 году и осталась там навсегда — изменение нарушило бы совместимость с миллионами серверов.
Что такое реферер
Реферер — стандартный HTTP-заголовок, который браузер автоматически добавляет в запрос к серверу при переходе пользователя с одной страницы на другую через ссылку. Заголовок содержит полный URL предыдущей страницы (страницы-источника). Сервер целевого сайта получает эту информацию вместе с запросом и может использовать её для аналитики, защиты от прямых ссылок на ресурсы (hotlinking), персонализации контента.
Простой пример: пользователь находится на странице google.com с результатами поиска по запросу «купить ноутбук». Кликает по ссылке на сайт магазина. Браузер отправляет запрос к серверу магазина с заголовком Referer: https://www.google.com/search?q=купить+ноутбук. Магазин получает информацию, что пользователь пришёл из поиска Google по конкретному запросу.
В современной веб-разработке реферер — один из основных источников данных для маркетинговой аналитики. Через анализ реферера можно понять, какие каналы привлекают трафик, какие сайты ссылаются на нас, какие поисковые системы и запросы приводят посетителей.
Как работает реферер
Стандартная цепочка передачи информации о реферере:
- Пользователь на странице А. Открывает любой сайт — поисковую выдачу, соцсеть, статью в блоге.
- Клик по ссылке на страницу Б. Браузер начинает формировать HTTP-запрос к серверу страницы Б.
- Добавление заголовка Referer. Браузер автоматически вставляет в запрос заголовок
Referer:со значением полного URL страницы А — той самой, с которой выполнен переход. - Отправка запроса серверу. Запрос идёт к веб-серверу страницы Б. Сервер видит и URL запрашиваемого ресурса, и URL страницы-источника.
- Обработка реферера сервером. Сервер может использовать эту информацию для аналитики, защиты от прямого доступа, персонализации страницы. Например, если на сайт пришли с конкретного партнёрского сайта, можно показать специальное приветствие.
- Отображение страницы Б. Сервер возвращает запрошенный контент. Реферер сохраняется в логах сервера для последующего анализа.
- JavaScript-доступ. На странице Б JavaScript-код может прочитать значение реферера через свойство
document.referrer. Системы аналитики (Google Analytics, Яндекс.Метрика) делают именно это.
Реферер передаётся не во всех случаях. Браузер не отправляет заголовок при прямом вводе URL в адресной строке, при переходе из закладок, при переходе со страницы HTTPS на страницу HTTP (по соображениям безопасности), при использовании специальных мета-тегов или политик безопасности.
История опечатки в названии
Одна из самых известных опечаток в истории интернета — название HTTP-заголовка Referer. По правилам английского языка должно быть Referrer (с двумя «r» во второй части слова, по аналогии с глаголом «refer» → «referring», «referrer»). Но в стандарте написано Referer с одной «r».
Хронология возникновения опечатки:
- 1995. Филип Холлам-Бейкер, исследователь CERN и впоследствии разработчик систем безопасности, предложил включить новый заголовок в спецификацию HTTP. В черновике он по ошибке написал слово как Referer (с одной «r»).
- 1996. Заголовок вошёл в стандарт RFC 1945 (HTTP/1.0) с этим написанием. Никто не заметил опечатку при ревью.
- 1997. Стандарт HTTP/1.1 (RFC 2068, позже RFC 2616) сохранил написание Referer. Изменить было нельзя — миллионы веб-серверов и клиентов уже использовали именно эту строку для распознавания заголовка.
- 1999. Признание опечатки. В обсуждениях рабочей группы IETF признали ошибку, но решили не исправлять — обратная совместимость важнее лингвистической правильности.
- 2014. Появление Referrer Policy. Новые спецификации браузерной безопасности (Referrer Policy для управления передачей реферера) уже используют грамматически правильное написание Referrer. Старое название Referer сохраняется только для самого HTTP-заголовка.
В современной веб-разработке встречаются оба варианта. В HTTP-заголовке — Referer (одна «r»). В JavaScript-свойстве объекта document — referrer (две «r»). В политике безопасности — Referrer-Policy. Это создаёт регулярную путаницу даже у опытных разработчиков.
Типы реферных данных в аналитике
Системы веб-аналитики классифицируют реферный трафик по нескольким категориям:
| Источник | Описание | Как определяется |
|---|---|---|
| Organic Search | Переходы из органической выдачи поисковых систем | Реферер содержит домен поисковой системы (google.com, yandex.by) |
| Paid Search | Переходы из платной рекламы поисковиков | Реферер + UTM-метки рекламных кампаний |
| Social | Трафик из социальных сетей | Реферер содержит домены соцсетей (vk.com, facebook.com) |
| Referral | Переходы с других сайтов по обычным ссылкам | Реферер — любой сторонний домен, не относящийся к другим категориям |
| Direct | Прямой вход без реферера | Заголовок Referer отсутствует |
| Переходы из email-рассылок | Обычно через UTM-метки, реферер часто пустой | |
| Display Ads | Переходы с медийной рекламы | Реферер с доменов рекламных сетей + UTM |
В Яндекс.Метрике и Google Analytics эти категории работают автоматически — система анализирует значение реферера и относит каждый визит к одному из источников. Дополнительная разметка UTM-метками помогает точнее классифицировать платный трафик и кампании.
Политика безопасности реферера
В современном вебе передача реферера регулируется политикой безопасности — Referrer Policy. Это набор правил, которые сайт может задать для управления тем, как браузер передаёт реферер при переходах с него на другие сайты:
- no-referrer. Браузер никогда не отправляет заголовок Referer при переходах с данного сайта. Максимальная приватность.
- no-referrer-when-downgrade. Стандартное поведение по умолчанию. Реферер отправляется всегда, кроме переходов с HTTPS на HTTP.
- origin. Браузер отправляет только домен исходной страницы (например, https://example.com), без полного пути и параметров.
- origin-when-cross-origin. Полный реферер отправляется только при переходах внутри одного домена. На внешние сайты передаётся только домен-источник.
- same-origin. Реферер отправляется только при переходах внутри одного домена. На внешние сайты — никогда.
- strict-origin. Только домен-источник, и только при переходе на сайт того же уровня безопасности (HTTPS → HTTPS).
- strict-origin-when-cross-origin. Современный рекомендованный стандарт. Полный реферер для своего домена, домен-источник для других сайтов, ничего при переходе с HTTPS на HTTP.
- unsafe-url. Браузер всегда отправляет полный реферер. Используется редко, специально когда сайту нужны максимальные данные для аналитики.
Политика задаётся через мета-тег <meta name="referrer" content="..."> в HTML или через HTTP-заголовок Referrer-Policy. С 2020 года Chrome, Firefox, Safari, Edge по умолчанию используют strict-origin-when-cross-origin — это снижает количество данных, передаваемых третьим сайтам, без полного отключения реферера.
Как скрыть или изменить реферер
Технические способы управления реферером со стороны пользователя или сайта:
- Использование браузера в режиме инкогнито. Часть приватных режимов браузеров автоматически очищает реферер при переходах. Уровень очистки зависит от настроек конкретного браузера.
- Атрибут rel=”noreferrer” на ссылке. Если в HTML-коде ссылка имеет такой атрибут —
<a href="..." rel="noreferrer">, браузер не отправит реферер при клике по ней. Часто используется на партнёрских ссылках для скрытия источника. - Прокси-серверы и VPN. Некоторые прокси-сервисы могут модифицировать или удалять реферер при перенаправлении трафика. Зависит от конкретного провайдера.
- Браузерные расширения. Refer Control, Smart Referrer и подобные расширения дают пользователю полный контроль над передачей реферера для всех или конкретных сайтов.
- Мета-теги политики безопасности. Владелец сайта может настроить Referrer Policy для ограничения передачи реферера со своего сайта на другие.
- Программное удаление через JavaScript. Перед переходом по ссылке скрипт может перенаправить пользователя через специальный обработчик, который удаляет реферер.
- Подмена реферера (только для тестирования). В консоли разработчика браузера или через Postman, Curl можно отправить запрос с произвольным значением заголовка Referer. Это используется для отладки серверной логики.
Полностью скрыть реферер от всех сайтов на постоянной основе сложно — это требует системных настроек браузера или специальных расширений, и может ухудшить работу с легитимными сервисами, которые используют реферер для базовой функциональности.
Часто задаваемые вопросы
Что такое реферер простыми словами?
Реферер — это адрес страницы, с которой посетитель перешёл на сайт. Когда кликаешь по ссылке в Google или в соцсети, браузер автоматически сообщает целевому сайту, откуда ты пришёл. Эта информация передаётся через специальный HTTP-заголовок и используется системами аналитики для понимания источников трафика.
Почему Referer пишется с одной «r»?
Это историческая опечатка, попавшая в стандарт HTTP в 1995 году при первом описании заголовка. По правилам английского языка должно быть Referrer (с двумя «r»), но в спецификации RFC 1945 закрепилось написание с одной «r». Исправить опечатку было нельзя — это нарушило бы совместимость с миллионами веб-серверов и клиентов. Поэтому в HTTP-заголовке до сих пор Referer, а в новых стандартах (Referrer Policy, JavaScript document.referrer) — правильное написание с двумя «r».
Можно ли подделать значение реферера?
Да, технически возможно. Любой инструмент, который формирует HTTP-запросы вручную (Postman, Curl, специализированные парсеры) может указать произвольное значение Referer. Браузеры тоже можно настроить на подмену через расширения или специальные команды разработчика. Поэтому реферер нельзя использовать как доверенный источник данных для безопасности — только для аналитики и приближённых оценок.
Зачем сайту знать реферер посетителей?
Несколько применений. Главное — аналитика источников трафика. Понимание, какой канал работает: поиск, реклама, соцсети, партнёрские ссылки. Второе — персонализация. Можно показать специальные предложения посетителям с конкретных партнёрских сайтов. Третье — защита от хотлинкинга (прямого встраивания картинок и файлов с одного сайта на другие). Четвёртое — отладка работы сайта.
Почему в Google Analytics часть трафика помечена как Direct?
«Direct» означает, что браузер не передал реферер при переходе. Это происходит в нескольких случаях: пользователь ввёл URL в адресную строку вручную, перешёл по закладке, открыл ссылку из мессенджера или приложения, перешёл с HTTPS на HTTP (что блокирует реферер по соображениям безопасности), сайт-источник имеет ограничивающую Referrer Policy. Часть трафика, особенно мобильного, часто попадает в Direct из-за этих технических ограничений.
Что такое document.referrer в JavaScript?
Это свойство объекта document, которое возвращает значение реферера для текущей страницы. JavaScript-код на сайте может прочитать это свойство и использовать значение в коде — для аналитики, персонализации, отладки. Системы веб-аналитики (Google Analytics, Яндекс.Метрика) внутренне используют именно document.referrer для определения источника визита. Обратите внимание — здесь правильное написание с двумя «r», в отличие от HTTP-заголовка.
Влияет ли реферер на SEO?
Прямого влияния на ранжирование нет — реферер не является фактором ранжирования. Но косвенно реферер важен для SEO-аналитики: через него отслеживается органический трафик из поисковых систем, понимается эффективность различных каналов привлечения, оценивается работа ссылочного профиля (сколько реальных переходов даёт каждый сайт-донор). Без корректной передачи реферера невозможна полноценная веб-аналитика.



