Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   document.referref != $_SERVER['HTTP_REFERER'] (https://javascript.ru/forum/misc/25247-document-referref-%3D-%24_server%5B%27http_referer%27%5D.html)

cmygeHm 30.01.2012 13:02

document.referrer != $_SERVER['HTTP_REFERER']
 
Форум, физкульт-привет!
Правлю в ПХП хедеры, открываю страницу в браузере и вижу, что хедеры поправлены и заголовок Referer задан, тот что я хотел. Вывожу же алертом document.referrer'a, а он совсем другой. Я что-то недопонимаю. Видимо javascript referrer'a берет не из полученых заголовков, а из реальных действий в браузере?
Всем спасибо!

cmygeHm 03.02.2012 11:24

РЕБЯТ, ПОДСКАЖИТЕ ПЛИЗ! :help:

Kolyaj 03.02.2012 11:45

Браузер отправляет серверу заголовки. Кладёт в них referer. Этот же referer браузер отдаёт javascript-у.
Сервер принимает заголовки, делает с ними чего хочет, вы вот изменяете их, после чего они остаются на сервере, т.к. это заголовки запроса. А в браузер от сервера уходят заголовки ответа, в которых нет Referer-а.

cmygeHm 03.02.2012 11:53

Подождите, подождите! Я открываю страницу любую в браузере и могу посмотреть с какими заголовками она пришла, через разные утилитки. Верно?

Kolyaj 03.02.2012 12:01

И что?

cmygeHm 03.02.2012 12:10

Ну вот видимо я не очень верно объяснился. Если это верно, то:
1. Я открываю страницу А.
2. Делаю переход со страницы А на страницу Б.
3. При переходе со страницы А на страницу Б, прежде чем клиент увидит страницу Б, сервер генерирует страницу Б. В пхп коде при генерации ответа (при генерации страницы Б) изменяю хедер referer на "бла-бла-бла" и когда открывается страница Б утилиткой вижу, что referer изменился и он равен "бла-бла-бла", а был ведь "А".
Но при просмотре javascript объекта document вижу, что у него document.referrer остался А.
Вопрос 1) почему так?
Вопрос 2) Получается, что как будто значение document.referrer менял сам браузер исходя из того, что он знал что переход был с А на Б, и он не смотрел хедеры. Получается по этому?

Kolyaj 03.02.2012 12:23

Цитата:

Сообщение от cmygeHm
и пришел "бла-бла-бла"

Куда пришёл? На сервер? В браузер?

cmygeHm 03.02.2012 12:54

Цитата:

Сообщение от Kolyaj (Сообщение 155055)
Куда пришёл? На сервер? В браузер?

отредактировал предыдущий пост.

Kolyaj 03.02.2012 13:08

Цитата:

Сообщение от cmygeHm
изменяю хедер referer на "бла-бла-бла"

Какой хедер изменяете? Есть заголовки запроса, а есть заголовки ответа. Referer приходит на сервер в заголовках запроса, а от сервера в браузер приходят заголовки ответа. Если вы измените на сервере заголовки запроса, то это будет чисто символическое изменение. Если в заголовки ответа напишете Referer, то браузер на него не обратит внимания, т.к. в ответе не предусмотрен Referer, от там смысла не имеет.

cmygeHm 03.02.2012 13:25

Я меняю
$_SERVER['HTTP_REFERER']
. Разве это не заголовок ответа?


Часовой пояс GMT +3, время: 05:02.