ТРЕПАНАЦИЯ ПРОТОКОЛА: HTTP
Спецвыпуск Xakep, номер #022, стр. 022-042-3
Host - употребляется клиентом для указания URL в более простой форме, используется с методом GET следующим образом:
GET /pub/WWW/ HTTP/1.1
Host: www.w3.org
Таким образом, при выполнении этого запроса будет взят документ с http://www.w3.org/pub/WWW/
If-Modified-Since - это поле создано для использования условного запроса GET. Документ возвращается клиенту, только если он обновился с момента указанной даты. Если документ не изменялся, то сервер возвратит код статуса 304.
If-Unmodified-Since - противоположный по действию параметр.
Last-Modified - содержится дата и время последнего обновления ресурса.
Location - хранится полный адрес прежней "дислокации" ресурса.
MIME-Version - поле, указывающееся в запросе клиента, показывающее версию имеющегося протокола MIME. Протокол используется для работы с файлами различных типов.
Referer - поле, позволяющее клиенту указывать серверу адрес, с которого он запрашивает ресурс.
Retry-after - параметр возвращаемый сервером, в случае, когда имеется загруженность и сервер не может обработать запрос. Возвращается время, после которого клиент сможет повторить свой запрос, сопровождается все это кодом состояния 503.
Server - здесь возвращается имя и версия HTTP-сервера.
User-Agent - поле указывающее имя и версию HTTP-клиента.
WWW-Authenticate - возвращается сервером в случае, когда клиент должен реализовать не анонимный авторизованный доступ. Сопровождается кодом состояния 401.
Существует множество специфичных полей, также используемых в этом протоколе. Здесь перечислены самые основные.
Теперь остается рассмотреть действия сервера на заявленный запрос клиента. Сервер интерпретирует метод запроса, и создает сообщение ответа. Оно состоит из заголовка (header), куда включаются статус сервера, информация о доставляемом документе, прочая информация для клиента (разбросанная по полям, рассмотренным выше) и сообщения. После чего сервер завершает сеанс связи.
Давай посмотрим, что такое статус сервера. Имеется целый набор кодов статуса сервера, они разделены на типы:
Первый тип - информационный, означающий, что запрос получен и обрабатывается. Сюда включены коды с 100 до 199.
100 Continue - клиент должен продолжить свой запрос.
101 Switching Protocols - сервер переключает протокол по требованию клиента, указанному в поле Upgrade.
Второй тип - успешно обработанные запросы:
200 OK - запрос был успешно выполнен, возвращаемая информация зависит от метода указанного клиентом.
201 Created - запрос был выполнен, в результате чего был создан новый ресурс. Его расположение возвращается в поле Location.
202 Accepted - запрос принят, но его обработка не закончена. Фактически запрос может и не выполнится.
203 Non-Authoritative Information - возвращаемая в заголовке информация не оригинал, а взята у третьей стороны.
204 No Content - сервер выполнил запрос, но из-за отсутствия информации возвращает лишь код статуса и заголовок.
205 Reset Content - запрос выполнен и клиентская программа (браузер) должна очистить документ (форму) инициирующую запрос.
Назад на стр. 022-042-2 Содержание Вперед на стр. 022-042-4
|