|
|
|
| Если я правильно понимаю, то инициировать этот диалог может только браузер. Сервер, по своей инициативе, ничего в браузер передать не может.
Так что начинает диалог браузер, передав на сервер соответствующий заголовок. Потом браузер может обращаться к серверу еще несколько раз, истребуя графические файлы или что-то ещё.
Но меня интересует начало диалога.
Какой заголовок браузер посылает первым, что он запрашивает (имеется в виду открытие обычной страницы)?
Посылает ли браузер серверу сведения о том, что запрашиваемая информация уже имеется в кеше браузера, и время, когда он её получил?
===============
Просмотрел «Протокол Передачи Гипертекста -- HTTP/1.1», но там в явной форме интересующей информации не обнаружил. | |
|
|
|
|
|
|
|
для: Владимир55
(29.01.2012 в 12:59)
| | >Если я правильно понимаю, то инициировать этот диалог может только браузер. Сервер, по
>своей инициативе, ничего в браузер передать не может.
>Так что начинает диалог браузер, передав на сервер соответствующий заголовок. Потом
>браузер может обращаться к серверу еще несколько раз, истребуя графические файлы или
>что-то ещё.
Совершенно верно.
>Какой заголовок браузер посылает первым, что он запрашивает (имеется в виду открытие
>обычной страницы)?
Браузер посылает что-то вроде (минимальный вариант)
GET / HTTP/1.1\r\n
HOST: site.dev\r\n\r\n
| Где в заголовке GET может быть не обязательно корень сайта /, здесь может быть любой путь в рамках сайта. в HTTP-заголовке HOST подставляется доменное имя сайта.
>Посылает ли браузер серверу сведения о том, что запрашиваемая информация уже имеется
>в кеше браузера, и время, когда он её получил?
Если у браузера в кэше есть информация и он считает, что она актуальная, он просто не будет посылать никаких запросов. | |
|
|
|
|
|
|
|
для: Владимир55
(29.01.2012 в 12:59)
| | Если у браузера есть в кеше данные и он считает их актуальными, но вы ему все-равно жмете "обновить", то он посылает заголовок:
If-Modified-Since: Tue, 03 Jan 2012 19:18:26 GMT
| и ожидает что если файл не менялся с указанной даты ему вернут 304 и он не будет грузить лишние данные, а возьмет из кеша. Если же он получает 200, то грузит новые данные и заменяет ими кеш. | |
|
|
|
|
|
|
|
для: Sfinks
(29.01.2012 в 14:06)
| | Реально ли средствами РНР отловить получение сервером такого заголовка и зафиксировать его, например записав в текстовый файл? | |
|
|
|