Метод CONNECT позволяет пользователю подключиться к серверу через устройство-посредник, такое как веб-кэш.
Метод OPTIONS позволяет клиенту запросить у сервера страницу и получить методы и заголовки, которые можно на ней использовать.
В ответ на каждый запрос от сервера поступает ответ, содержащий строку состояния, а также, возможно, дополнительную информацию (например, веб-страницу или ее часть). Строка состояния может содержать трехразрядный код состояния, сообщающий об успешном выполнении запроса или о причинах неудачи. Первый разряд предназначен для разделения всех ответов на пять основных групп, как показано в табл. 7.13. Коды, начинающиеся с 1 (1xx), на практике используются редко. Коды, начинающиеся с 2, означают, что запрос был обработан успешно и данные (если их запрашивали) отосланы. Коды 3xx сообщают клиенту о том, что нужно попытать счастья в другом месте — используя либо другой URL, либо свой собственный кэш (будет обсуждаться далее).
Таблица 7.13.Группы кодов состояния, содержащиеся в ответах сервера

Коды, начинающиеся с 4, означают, что запрос по какой-либо причине, связанной с клиентом, потерпел неудачу: например, была запрошена несуществующая страница или сам запрос был некорректен. Наконец, коды 5xx сообщают о внутренних ошибках сервера, возникших либо вследствие ошибки программы, либо из-за временной перегрузки.
Заголовки сообщений
За строкой запроса (например, содержащей название метода GET ) могут следовать другие строки с дополнительной информацией. Они называются заголовками запросов( request headers). Эту информацию можно сравнить с параметрами, предоставляемыми при вызове процедуры. В свою очередь, ответы могут содержать заголовки ответов( response headers). Некоторые заголовки могут встречаться и там, и там. Наиболее важные из них перечислены в табл. 7.14. Этот список достаточно длинный, так что, как вы понимаете, каждому запросу и ответу может соответствовать набор заголовков.
Таблица 7.14.Некоторые заголовки сообщений протокола HTTP
Заголовок
Тип
Содержимое
User-Agent
Запрос
Информация о браузере и его платформе
Accept
Запрос
Тип страниц, поддерживаемых клиентом
Accept-Charset
Запрос
Поддерживаемые клиентом наборы символов
Accept-Encoding
Запрос
Поддерживаемые клиентом типы кодирования
Accept-Language
Запрос
Естественные языки, понимаемые клиентом
If-Modified-Since
Запрос
Время и дата последнего обновления
If-None-Match
Запрос
Теги, отосланные с последнего обновления
Host
Запрос
DNS-имя сервера
Authorization
Запрос
Список персональных идентификаторов клиента
Referer
Запрос
URL, с которого был отправлен предыдущий запрос
Cookie
Запрос
Отправка ранее принятого cookie-файла на сервер
Set-Cookie
Ответ
Сервер хочет, чтобы клиент сохранил cookie
Server
Ответ
Информация о сервере
Content-Encoding
Ответ
Тип кодирования содержимого (например, gzip)
Content-Language
Ответ
Естественный язык, используемый на странице
Content-Length
Ответ
Размер страницы в байтах
Content-Type
Ответ
Тип MIME страницы
Content-Range
Ответ
Идентифицирует часть контента страницы
Last-Modified
Ответ
Время и дата внесения последних изменений в страницу
Expires
Читать дальше
Конец ознакомительного отрывка
Купить книгу