Пишу, по большей части, про историю, свою жизнь и немного про программирование.

rel=«noreferrer»

Как известно, около года назад в WebKit появилась поддержка атрибута «rel» у ссылки со значением «noreferrer». Если указать это значение, то браузер не будет передавать заголовок «referer», в котором указано с какого адреса браузер осуществил переход.

Это прекрасная вещь, которая позволяет защищать, к примеру, информацию из интранета. У нас (в «Яндексе») стоят специальные скрипты для скрытия заголовка «referer» специальными ухищрениями, чтобы предотвратить утечку (так как некоторые сервисы у нас с ЧПУ) данных. Этот атрибут, если он был бы реализован везде, решил бы эту задачу более изящно.

К сожалению, с его распространением, думаю, будет расти его параноидальное использование, что сильно повлияет на статистику. Сейчас можно быть до какой-то степени уверенным, что если «referer» не выставлен, то человек пришёл из закладок в браузере или набрал адрес руками, скоро такое предположить будет неверно. Так же было удобно по тому же заголовку искать обсуждения своих статей (впрочем, я уже довольно давно делаю это, подписавшись на RSS сформированного мной запроса к «Яндекс.Блогам»).

Ну и ещё один показатель бардака — HTTP-заголовок называется «referer», а значение атрибута — «noreferrer».

P.S. Возможно поддержка «noreferrer» и ещё где-то реализована, я не интересовался.

20 комментариев
besisland (besisland.name) 2010

Бардака никакого нет, а имеет место ошибочное написание «referer» с одной «r», которое было замечено слишком поздно и потому так и оставлено. В остальных случаях следует писать правильно: «referrer». То есть один маленький бардачок (в заголовках) остаётся, но его проще оставить, чем менять.

Евгений Степанищев (bolknote.ru) 2010

Комментарий для besisland.name:

Бардак именно в том, что раз уж один раз написали ошибочно, то стоит это считать термином и так дальше и использовать.

SiMM 2010

У меня proxomitron.ru эти заголовки режет. А причина простая — некоторые чудаки выкладывают фотографии на хостингах, которые не считают нужным отдавать контент, если referer левый.

SiMM 2010

Комментарий для SiMM:

Кстати, авторизоваться как mr-simm.livejournal.com не удалось:
This is an OpenID server endpoint, not a human-readable resource. For more information, see http://openid.net/​.

Roman Ryltsov (alax.myopenid.com) 2010

Комментарий для besisland.name:

В каком смысле «referer» ошибочно? Это вполне по US-английски.

Roman Ryltsov (alax.myopenid.com) 2010

Комментарий для alax.myopenid.com:

Забираю свои слова назад :) http://lists.w3.org/Archives/Public/ietf-http-wg-old/1995JanApr/0107.html

igor.kalashnikov@gmail.com 2010

реализованна -> реализована
:)

Евгений Степанищев (bolknote.ru) 2010

Комментарий для igor.kalashnikov@gmail.com:

Спасибо!

Леонид Царев (leotsarev.ya.ru) 2010

Комментарий для SiMM:

Livejournal.com OpenID provider вчера сломался.

astur (astur.net.ru) 2010

...и после этого ещё находятся люди, способные утверждать, что поддержка стандартов в браузерах ДО их принятия стандартизующими организациями — это хорошо. То есть, кроме Гейтса ещё такие люди находятся :)

Евгений Степанищев (bolknote.ru) 2010

Комментарий для astur.net.ru:

А Гейтс хоть когда-то так считал?

astur (astur.net.ru) 2010

Знаешь, возможно я слишком категоричен... я ведь не заглядывал в голову Гейтсу. Возможно он так и не считал, когда в MS боролись за рынок браузеров добавляя в IE нествндартные фичи, чтобы сайты работали только там. Может быть, Бил наступал себе на горло и шёл против себя. Чёрт его поймёт... всё-таки  — одна из самых противоречивых личностей современности и всё такое :)

openid не работает 2010

Можно весь интранет насильно перевести на https. При переходе с https-страниц на http реферер не передается. Хотя проблема с переходом https->https, конечно, остается.

Евгений Степанищев (bolknote.ru) 2010

Комментарий для openid не работает:

Во-первых, https <-> https, да. А во вторых, https сильнее грузит железо и требуется следить за сертификатами всего хозяйства, ну и покупать их тоже.

Andrei Charnou (www.shcoder.by) 2010

А в PS специально noreFFerer написал? :)

Евгений Степанищев (bolknote.ru) 2010

Комментарий для www.shcoder.by:

oops… :) Спасибо, поправил!

Дольщик Тушино (tushino.wordpress.com) 2011

А где можно проверить, что реферрер действительно не передаётся?
Т. е. сервис/страница, при заходе на который он бы показывал откуда я пришёл. Поиск «check referrer / show referrer / view referrer» (и с «r», и с «rr») выдаёт кучу всего, но не то, что нужно.

Евгений Степанищев (bolknote.ru) 2011

Комментарий для tushino.wordpress.com:

Так просто создайте небольшой скрипт на любом языке программирования и проверьте.

Edvard 2014

Skryvayu referer s pomoshyu iframe src=javascript:parent.location

Pochemy rabotaet tolko v chrome

metr2.net 2016

Проверил. Метрика всё равно отслеживает ссылку с rel=«noreferrer». Можно делать ссылку через ридерект другого сайта, тогда будет видет только он.