Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

HTTP реферер (опечатка из ссылающейся [1] ) является необязательным HTTP - поле заголовка , которое идентифицирует адрес веб - страницы (то есть, URI или МРИ ), который связан с запрошенного ресурса. Проверив реферер, новая веб-страница сможет увидеть, откуда исходит запрос.

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

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

Поведение по умолчанию, связанное с утечкой реферера, подвергает веб-сайты риску нарушения конфиденциальности и безопасности. [3]

Этимология [ править ]

Ошибочное написание реферера было введено в первоначальное предложение компьютерного ученого Филиппа Халлама-Бейкера по включению поля в спецификацию HTTP . [4] Опечатка стала очевидной к моменту ее включения в документ стандартов RFC 1945 по запросу о комментариях ; Соавтор документа Рой Филдинг заметил, что ни "реферер", ни "реферер" с ошибками не распознавались стандартной программой проверки орфографии Unix того периода. [5]"Referer" с тех пор стало широко использоваться в отрасли при обсуждении HTTP-рефереров; Однако использование орфографических ошибок не является универсальным, поскольку правильное написание «реферер» используется в некоторых веб-спецификациях, таких как объектная модель документа .

Подробности [ править ]

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

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

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

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

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

Referer скрытие [ править ]

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

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

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

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

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

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

Ссылки [ править ]

  1. ^ Горли, Дэвид; Тотти, Брайан; Сэйер, Марджори; Аггарвал, Аншу; Редди, Сайлу (27 сентября 2002 г.). HTTP: полное руководство . ISBN 9781565925090.
  2. ^ Кирнин, Дженнифер (2012-04-10). «Реферер - Что такое реферер - Как работают рефереры HTTP?» . About.com . Проверено 20 марта 2013 .
  3. ^ "Есть ли на вашем сайте утечка?" . Блог ICO . 2015-09-16. Архивировано из оригинала на 2018-05-24 . Проверено 16 августа 2018 .
  4. ^ Халлэй-Бэйкер, Филлип (2000-09-21). "Re: Эл Гор - отец Интернета?" . alt.folklore.computers . Проверено 20 марта 2013 .
  5. ^ Филдинг, Рой (1995-03-09). "Re: referer: (sic)" . ietf-http-wg-старый . Проверено 20 марта 2013 .
  6. ^ «Протокол передачи гипертекста (HTTP / 1.1): семантика и контент (RFC 7231 § 5.5.2)» . IETF . Июнь 2014 . Проверено 26 июля 2014 . Поле заголовка "referrer" [sic] позволяет пользовательскому агенту указать ссылку URI для ресурса, из которого был получен целевой URI […]
  7. ^ a b "Network.http.sendRefererHeader" . MozillaZine . 2007-06-10 . Проверено 27 мая 2015 .
  8. ^ "Свойство реферера документа HTML DOM" . w3schools.com . Проверено 20 марта 2013 .
  9. ^ Гундерсен, Брет (2011-10-19). «Влияние зашифрованного поиска Google» . Блог Adobe по цифровому маркетингу . Проверено 20 марта 2013 .
  10. ^ «Методы HTML для руководства по доступности веб-контента 1.0: элемент META» . W3C . 2000-11-06 . Проверено 20 марта 2013 .
  11. ^ «Протокол передачи гипертекста (HTTP / 1.1): семантика и контент: реферер (RFC 7231 § 5.5.2)» . IETF. Июнь 2014 . Проверено 26 июля 2014 . Пользовательский агент НЕ ДОЛЖЕН отправлять поле заголовка реферера в незащищенном HTTP-запросе, если ссылающаяся страница была получена с помощью безопасного протокола.
  12. ^ "4.12 Ссылки - Уровень жизни HTML: 4.12.5.8 Тип ссылки" noreferrer " " . WHATWG . 2016-02-19 . Проверено 19 февраля 2016 .
  13. ^ «Уровень политики безопасности контента 2» . W3. 2014 . Проверено 8 декабря 2014 .

Внешние ссылки [ править ]

  • RFC 7231 : протокол передачи гипертекста (HTTP / 1.1): семантика и контент
  • RFC 3987 : интернационализированные идентификаторы ресурсов (IRI)
  • Политика реферера - черновик редактора W3C