stringtranslate.com

HTTP-реферер

В HTTP « Referer » (ошибочное написание Referrer [1] ) — это необязательное поле заголовка HTTP , которое идентифицирует адрес веб- страницы (т. е. URI или IRI ), с которой был запрошен ресурс. Проверив реферер, сервер, предоставляющий новую веб-страницу, может увидеть, откуда произошел запрос.

В наиболее распространенной ситуации это означает, что когда пользователь щелкает гиперссылку в веб -браузере , в результате чего браузер отправляет запрос на сервер, содержащий целевую веб-страницу, запрос может включать поле Referer, которое указывает последнюю страницу, на которой находится целевая веб-страница. пользователь был включен (тот, где он нажал на ссылку).

Веб-сайты и веб-серверы регистрируют содержимое полученного поля Referer, чтобы идентифицировать веб-страницу, с которой пользователь перешел по ссылке, в рекламных или статистических целях. [2] Это влечет за собой потерю конфиденциальности пользователя и может создать угрозу безопасности . [3] Чтобы снизить риски безопасности, браузеры постоянно сокращают объем информации, отправляемой в Referer. По состоянию на март 2021 года по умолчанию Chrome , [4] Edge на основе Chromium , Firefox , [5] Safari [6] по умолчанию отправляют только источник в запросах между источниками, удаляя все, кроме имени домена.

Этимология

Ошибка в написании слова « Referer» была введена в первоначальном предложении ученого-компьютерщика Филиппа Халлама-Бейкера о включении поля заголовка «Referer» в спецификацию HTTP . [7] [8] Орфографическая ошибка была высечена в камне к моменту (май 1996 г.) ее включения в стандартный документ запроса на комментарии RFC 1945 [9] (который «отражает обычное использование протокола, называемого «HTTP/1.0»). " ' в это время); Соавтор документа Рой Филдинг заметил в марте 1995 года, что «ни один (реферер или реферер) не понимается» стандартной программой проверки орфографии Unix того периода. [10] С тех пор слово «Referer» стало широко используемым в отрасли при обсуждении HTTP-рефереров; Однако использование орфографической ошибки не является универсальным, поскольку правильное написание «реферер» используется в некоторых веб-спецификациях, таких как Referrer-Policyзаголовок HTTP или объектная модель документа . [3]

Подробности

При посещении веб-страницы реферером или ссылающейся страницей является URL-адрес предыдущей веб-страницы, с которой был выполнен переход по ссылке.

В более общем смысле, реферер — это URL-адрес предыдущего элемента, который привел к этому запросу. Например, реферером изображения обычно является HTML- страница, на которой оно должно отображаться. Поле реферера — это необязательная часть HTTP-запроса, отправляемого веб-браузером на веб-сервер. [11]

Многие веб-сайты регистрируют рефереры в рамках попыток отслеживать своих пользователей . Большинство программ для анализа веб-журналов могут обрабатывать эту информацию. Поскольку информация о реферере может нарушать конфиденциальность , некоторые веб-браузеры позволяют пользователю отключать отправку информации о реферере. [12] Некоторые прокси-серверы и брандмауэры также фильтруют информацию о реферере, чтобы избежать утечки местоположения закрытых веб-сайтов. Это, в свою очередь, может вызвать проблемы: некоторые веб-серверы блокируют части своего веб-сайта для веб-браузеров, которые не отправляют правильную информацию о реферере, в попытке предотвратить глубокие ссылки или несанкционированное использование изображений ( кража полосы пропускания ). Некоторые прокси-программы имеют возможность указывать адрес верхнего уровня целевого веб-сайта в качестве реферера, что уменьшает эти проблемы, но в некоторых случаях все же может раскрыть информацию о последней посещенной пользователем веб-странице.

Многие блоги публикуют информацию о реферерах, чтобы ссылаться на людей, которые ссылаются на них, и, следовательно, расширять общение. Это, в свою очередь, привело к росту спама со стороны рефереров : рассылки фальшивой информации о реферерах с целью популяризации веб-сайта спамера.

Доступ к информации о реферере на стороне клиента можно получить с помощью document.referrer в JavaScript . [13] Это можно использовать, например, для индивидуализации веб-страницы на основе запроса поисковой системы пользователя. Однако поле реферера не всегда включает ключевые слова для поиска, например, при использовании поиска Google с HTTPS. [14]

Скрытие реферера

Большинство веб-серверов ведут журналы всего трафика и записывают HTTP-реферер, отправленный веб-браузером для каждого запроса. Это вызывает ряд проблем с конфиденциальностью, и в результате был разработан ряд систем, предотвращающих отправку веб-серверам реального ссылающегося URL-адреса. Эти системы работают либо путем заполнения поля реферера, либо путем замены его неточными данными. Как правило, пакеты интернет-безопасности стирают данные реферера, а веб-серверы заменяют их ложным URL-адресом, обычно своим собственным. Это поднимает проблему реферального спама. Технические детали обоих методов довольно схожи: программные приложения действуют как прокси-сервер и манипулируют HTTP-запросами, в то время как веб-методы загружают веб-сайты внутри фреймов, заставляя веб-браузер отправлять URL-адрес реферера адреса их веб-сайта. Некоторые веб-браузеры предоставляют своим пользователям возможность отключить поля реферера в заголовке запроса. [12]

Большинство веб-браузеров не отправляют поле реферера, когда им предлагается перенаправить с помощью поля «Обновить». Сюда не входят некоторые версии Opera и многие мобильные веб-браузеры. Однако Консорциум Всемирной паутины (W3C) не рекомендует использовать этот метод перенаправления . [15]

Если доступ к веб-сайту осуществляется через HTTP Secure (HTTPS) соединение и ссылка указывает куда угодно, кроме другого безопасного места, то поле реферера не отправляется. [11]

В стандарт HTML5 добавлена ​​поддержка атрибута/значения rel="noreferrer", который предписывает пользовательскому агенту не отправлять реферер. [16]

Другой метод сокрытия реферера — преобразовать исходный URL-адрес ссылки в URL-адрес на основе схемы URI данных , содержащий небольшую HTML-страницу с метаобновлением исходного URL-адреса. Когда пользователь перенаправляется со data:страницы, исходный реферер скрыт.

В стандарте политики безопасности контента версии 1.1 представлена ​​новая директива реферера , которая позволяет лучше контролировать поведение браузера в отношении заголовка реферера. В частности, это позволяет веб-мастеру указать браузеру вообще не блокировать реферер, показывать его только при переходе с того же источника и т. д. [17]

Рекомендации

  1. ^ Горли, Дэвид; Тотти, Брайан; Сэйер, Марджори; Аггарвал, Аншу; Редди, Сайлу (27 сентября 2002 г.). HTTP: Полное руководство. «О'Рейли Медиа, Инк.». ISBN 9781565925090.
  2. ^ Кирнин, Дженнифер (10 апреля 2012 г.). «Реферер. Что такое реферер. Как работают HTTP-рефереры?». О сайте.com . Архивировано из оригинала 29 мая 2013 г. Проверено 20 марта 2013 г.
  3. ^ ab «Есть ли утечка на вашем сайте?». Блог ICO . 16 сентября 2015 г. Архивировано из оригинала 24 мая 2018 г. Проверено 16 августа 2018 г.
  4. ^ «Политика реферера: по умолчанию используется строгое происхождение при перекрестном происхождении — статус платформы Chrome» . www.chromestatus.com . Проверено 23 марта 2021 г.
  5. ^ Ли, Дими; Кершбаумер, Кристоф (22 марта 2021 г.). «Firefox 87 по умолчанию отсекает HTTP-рефереры для защиты конфиденциальности пользователей». Блог о безопасности Mozilla . Проверено 23 марта 2021 г.
  6. ^ Виландер, Джон (10 декабря 2019 г.). «Предотвращение отслеживания. Предотвращение отслеживания». Блог о WebKit .
  7. ^ Халлам-Бейкер, Филипп (21 сентября 2000 г.). «Re: Эл Гор — отец Интернета?». Группа новостей : alt.folklore.computers . Проверено 20 марта 2013 г.
  8. ^ Халлам-Бейкер, Филипп. «Re: Реферер: (так в оригинале)». Архивы публичных списков рассылки W3C . Архивировано из оригинала 19 февраля 2024 г. Проверено 19 февраля 2024 г.
  9. ^ Бернерс-Ли, Т .; Филдинг, Р .; Фристык, Х. (май 1996 г.). Протокол передачи гипертекста — HTTP/1.0. IETF . дои : 10.17487/RFC1945 . РФК 1945.
  10. ^ Филдинг, Рой (9 марта 1995 г.). «Re: реферер: (так в оригинале)». ietf-http-wg-old (список рассылки) . Проверено 20 марта 2013 г.
  11. ^ аб Филдинг, Р.; Решке, Дж. (июнь 2014 г.). Филдинг, Р.; Решке, Дж. (ред.). Протокол передачи гипертекста (HTTP/1.1): семантика и содержимое: реферер (RFC 7231 § 5.5.2). IETF. сек. 5.5.2. дои : 10.17487/RFC7231 . S2CID  14399078. RFC 7231 . Проверено 26 июля 2014 г.
  12. ^ ab "Network.http.sendRefererHeader". МозиллаЗин . 10 июня 2007 г. Проверено 27 мая 2015 г.
  13. ^ «Свойство ссылки на документ HTML DOM» . W3Школы . Проверено 20 марта 2013 г.
  14. ^ Гундерсен, Брет (19 октября 2011 г.). «Влияние зашифрованного поиска Google». Блог Adobe по цифровому маркетингу . Проверено 17 марта 2021 г.
  15. ^ «Методы HTML для рекомендаций по доступности веб-контента 1.0: элемент META» . W3C . 06.11.2000 . Проверено 20 марта 2013 г.
  16. ^ «4.12 Ссылки — Уровень жизни HTML: 4.12.5.8 Тип ссылки «noreferrer»» . ЧТОРГ . 19 февраля 2016 г. Проверено 19 февраля 2016 г.
  17. ^ «Политика безопасности контента, уровень 2» . W3. 2014 . Проверено 8 декабря 2014 г.

Внешние ссылки