http протокол

Работа с протоколом HTTP (часть 2)

Итак, сервер принял все заголовки, поместил их в свои серверные переменные. К ним мы имеем доступ через $SERVER. Таким образом и собирается статистика, какие браузеры у пользователей (user-agent), откуда они пришли (referer). Сервер находит искомый ресурс и посылает в браузер ответ из двух частей:

  • Строка ответа — HTTP/1.1 200 OK.

Сначала идет указание протокола (HTTP/1.1), затем передается код состояния (200 — все нормально), потом — описание статуса. В конце идет признак конца строки /r/n.

  • Мета-заголовки.
Server: Microsoft IIS 6  
Content-Type: text/html 
Content-Length: 16345 
Last-Modified: Sun, 03 Jul 2011 11:00:00 GMT

Заголовков много. Сервер может придумать свой custom-заголовок. В конце ответа сервера идет пустая строка /r/n/r/n. И после этого пошел контент в браузер (html).

На вывод мета-заголовков сервера влияют: 1) какие заголовки решил отдать admin сервера + может какие-то удалить или переназначить; 2) мы как серверные разработчики; 3) разработчики сервера.

Немного истории

Заголовок User-agent — Mozilla — пишет на все браузеры. В самом начале был один единственный браузер ‘Мозаик’. Потом появился Netscape Navigator, который делала компания NetscapeCommunications. Разработчики этой компании хотели сначала назвать браузер ‘Mozaik Killer’. Но отдел маркетинга не пропустил название. Тогда назвали браузер Netscape Navigator. Но название ‘mozaik killer’ сократили и впихнули к себе в заголовок user-agent. Браузер ‘Mozaik’ был довольно примитивным и не поддерживал технологию фреймов (передовую тогда). А netscape уже поддерживал. Тогда серверные разработчики, чтобы отследить, какой браузер к ним приходит (для загрузки страницы с фреймами или без), заглядывали в user-agent, и если там был mozilla, то отдавали страницу с фреймами.

Затем на рынке появилась компания Microsoft с браузером Internet Explorer (IE), который тоже поддерживал фреймы, но их ему никто не отдавал (на серверах работает старый код). Все сервера его принимали за Mozaik и отдавали простые страницы. Тогда разработчики IE впихнули в браузер user-agent => Mozilla. Так исторически и осталось. А потом стала популярна Opera, которая уже передается нормально.




Добавить комментарий

Ваш e-mail не будет опубликован.