WebKit иногда не передаёт Referer

Так вот, оба браузера построены на библиотеке Webkit и оба грешат тем, что не передают HTTP_REFERER.

На самом деле передают, но не всегда, что еще больше запутывает ситуацию. Если человек просто нажмет на ссылку, то реферер будет передан серверу, если откроет новое окно или вкладку «альтернативным» нажатием (на Маке это cmd-click или нажатие средней кнопки), то тоже передастся, а вот если нажать правой кнопкой (или ctrl-click), то нет.

Причём, пятый Хром ведёт себя так же. Ненависть. Багу уже несколько лет, разработчикам он известен, но они его не исправляют.

Комментарии 14

maxim-zotov.livejournal.com № 2
Баг проявляется в большем числе случаев, чем это написано на приведенной странице.

Referrer передается серверу (в http-заголовке), но не записывается в переменную JavaScript'а document.referrer в том случае, если делается http-редирект (например, переходы с поиска Яндекса ;)).

Для development-версии (5.x) ошибка исправлена (а раньше была исправлена и для development-версии 4.x), для релиза — не исправлена (то есть не работало в 3.x, сейчас не работает и в 4.x).

Тестовая страница:
http://support.li.ru/tmp/chrome-ref-fail.html
В нормальных браузерах после перехода по обеим ссылкам будет показан адрес ссылающейся страницы в двух строках. В Chrome 4 строка «JavaScript referrer» будет пустой

В пятой версии при открытии ссылки в новом окне или вкладке (именно вручную через контекстное меню правой кнопкой) во всех случаях referrer не передается. А вот если кликнуть по ссылке с нажатым shift или ctrl, то передается.
vkv.livejournal.com № 3
может это фича, а не баг?
Евгений Степанищев (bolknote.ru) автор № 4
Странная какая-то фича. Неудобная и неоправданная.
wiktar (wiktar.com) № 5
«ctrl-click» — это нажатие правой кнопкой мыши и выбор «Open link in new tab» в меню?
Евгений Степанищев (bolknote.ru) автор № 9
«ctrl-click» — это нажатие правой кнопкой мыши и выбор «Open link in new tab» в меню?

Нет, это клик мышью при зажатом ctrl.

mkal.livejournal.com № 6
В опере, если открывать ссылку кликом колёсика мышки, то тоже не передаётся. Может это фича?
Азат Разетдинов (razetdinov.ya.ru) № 8
Действительно, в Опере Ctrl + Shift + клик передаёт Referer, а кликом колесом — нет.
Лично я только колесом и пользуюсь.
Евгений Степанищев (bolknote.ru) автор № 10
В опере, если открывать ссылку кликом колёсика мышки, то тоже не передаётся.

Однако.

jankkhvej.blogspot.com № 11
Это фича. Причём очень правильная. С какого, собственно, хрена он должен передавать, если я явно начинаю новую навигацию?
Евгений Степанищев (bolknote.ru) автор № 12

Если бы это была фича, то с другими похожими действиями реферер тоже не передавался бы.

С какого, собственно, хрена он должен передавать, если я явно начинаю новую навигацию?

На реферерах очень многое держится в интернете, в плане рекламы.

jankkhvej.blogspot.com № 13

Комментарий для Евгения Степанищева:

Если бы это была фича, то с другими похожими действиями реферер тоже не передавался бы.

Действия похожие, да не те.

На реферерах очень многое держится в интернете, в плане рекламы.

Потому я и не хочу, в основном, чтобы они передавались, начиная новую навигацию. Реклама должна умереть. Пусть ищут другие способы заработка в интернете.

Евгений Степанищев (bolknote.ru) автор № 14

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

Реклама должна умереть. Пусть ищут другие способы заработка в интернете.

Вы неожиданно стали какие-то очень неумные вещи говорить. Что значит «пусть»? Реклама умрёт, умрёт с ней и масса замечательных сайтов.