Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как сервер взаимодействует с браузером (с поисковиком).
 
 автор: Владимир55   (29.01.2012 в 12:59)   письмо автору
 
 

Если я правильно понимаю, то инициировать этот диалог может только браузер. Сервер, по своей инициативе, ничего в браузер передать не может.

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

Но меня интересует начало диалога.

Какой заголовок браузер посылает первым, что он запрашивает (имеется в виду открытие обычной страницы)?

Посылает ли браузер серверу сведения о том, что запрашиваемая информация уже имеется в кеше браузера, и время, когда он её получил?

===============
Просмотрел «Протокол Передачи Гипертекста -- HTTP/1.1», но там в явной форме интересующей информации не обнаружил.

  Ответить  
 
 автор: cheops   (29.01.2012 в 13:13)   письмо автору
 
   для: Владимир55   (29.01.2012 в 12:59)
 

>Если я правильно понимаю, то инициировать этот диалог может только браузер. Сервер, по
>своей инициативе, ничего в браузер передать не может.
>Так что начинает диалог браузер, передав на сервер соответствующий заголовок. Потом
>браузер может обращаться к серверу еще несколько раз, истребуя графические файлы или
>что-то ещё.
Совершенно верно.

>Какой заголовок браузер посылает первым, что он запрашивает (имеется в виду открытие
>обычной страницы)?
Браузер посылает что-то вроде (минимальный вариант)
GET / HTTP/1.1\r\n
HOST: site.dev\r\n\r\n
Где в заголовке GET может быть не обязательно корень сайта /, здесь может быть любой путь в рамках сайта. в HTTP-заголовке HOST подставляется доменное имя сайта.

>Посылает ли браузер серверу сведения о том, что запрашиваемая информация уже имеется
>в кеше браузера, и время, когда он её получил?
Если у браузера в кэше есть информация и он считает, что она актуальная, он просто не будет посылать никаких запросов.

  Ответить  
 
 автор: Sfinks   (29.01.2012 в 14:06)   письмо автору
 
   для: Владимир55   (29.01.2012 в 12:59)
 

Если у браузера есть в кеше данные и он считает их актуальными, но вы ему все-равно жмете "обновить", то он посылает заголовок:
If-Modified-Since: Tue, 03 Jan 2012 19:18:26 GMT
и ожидает что если файл не менялся с указанной даты ему вернут 304 и он не будет грузить лишние данные, а возьмет из кеша. Если же он получает 200, то грузит новые данные и заменяет ими кеш.

  Ответить  
 
 автор: Владимир55   (29.01.2012 в 21:42)   письмо автору
 
   для: Sfinks   (29.01.2012 в 14:06)
 

Реально ли средствами РНР отловить получение сервером такого заголовка и зафиксировать его, например записав в текстовый файл?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования