document.referrer != $_SERVER['HTTP_REFERER']
Форум, физкульт-привет!
Правлю в ПХП хедеры, открываю страницу в браузере и вижу, что хедеры поправлены и заголовок Referer задан, тот что я хотел. Вывожу же алертом document.referrer'a, а он совсем другой. Я что-то недопонимаю. Видимо javascript referrer'a берет не из полученых заголовков, а из реальных действий в браузере? Всем спасибо! |
РЕБЯТ, ПОДСКАЖИТЕ ПЛИЗ! :help:
|
Браузер отправляет серверу заголовки. Кладёт в них referer. Этот же referer браузер отдаёт javascript-у.
Сервер принимает заголовки, делает с ними чего хочет, вы вот изменяете их, после чего они остаются на сервере, т.к. это заголовки запроса. А в браузер от сервера уходят заголовки ответа, в которых нет Referer-а. |
Подождите, подождите! Я открываю страницу любую в браузере и могу посмотреть с какими заголовками она пришла, через разные утилитки. Верно?
|
И что?
|
Ну вот видимо я не очень верно объяснился. Если это верно, то:
1. Я открываю страницу А. 2. Делаю переход со страницы А на страницу Б. 3. При переходе со страницы А на страницу Б, прежде чем клиент увидит страницу Б, сервер генерирует страницу Б. В пхп коде при генерации ответа (при генерации страницы Б) изменяю хедер referer на "бла-бла-бла" и когда открывается страница Б утилиткой вижу, что referer изменился и он равен "бла-бла-бла", а был ведь "А". Но при просмотре javascript объекта document вижу, что у него document.referrer остался А. Вопрос 1) почему так? Вопрос 2) Получается, что как будто значение document.referrer менял сам браузер исходя из того, что он знал что переход был с А на Б, и он не смотрел хедеры. Получается по этому? |
Цитата:
|
Цитата:
|
Цитата:
|
Я меняю
$_SERVER['HTTP_REFERER']. Разве это не заголовок ответа? |
Часовой пояс GMT +3, время: 22:55. |