Эндрю Уэзеролл - Компьютерные сети. 5-е издание
- Название:Компьютерные сети. 5-е издание
- Автор:
- Жанр:
- Издательство:Питер
- Год:2011
- ISBN:9785446100682
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Эндрю Уэзеролл - Компьютерные сети. 5-е издание краткое содержание
Компьютерные сети. 5-е издание - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Каждый запрос состоит из одной или нескольких строк ASCII-текста, причем первое слово в первой строке является именем вызываемого метода. Встроенные методы перечислены в табл. 7.12. Имена методов чувствительны к регистру символов, то есть метод GET существует, а get — нет.
Таблица 7.12.Встроенные методы HTTP-запросов
Метод GET запрашивает у сервера страницу (под которой в общем случае подразумевается объект, но на практике обычно это просто файл), закодированную согласно стандарту MIME. Большую часть запросов к серверу составляют именно запросы GET. Вот самая типичная форма GET :
GET filename HTTP/1.1
где filename указывает на запрашиваемую страницу, а 1.1 — на используемую версию протокола.
Метод HEAD просто запрашивает заголовок сообщения, без самой страницы. С помощью этого метода можно собрать индексную информацию или просто проверить работоспособность данного URL.
Метод POST используется, когда подтверждаются формы. Он, так же как и метод GET, используется для веб-сервисов SOAP. В нем также хранится URL, но вместо того, чтобы просто найти страницу, он передает данные на сервер (то есть содержимое формы или параметры RPC). Затем сервер в зависимости от URL что-то делает с этими данными, обычно прикрепляет их к объекту. В результате может быть, к примеру, что-то продано или вызвана процедура. Наконец, метод возвращает страницу с полученным результатом.
Оставшиеся методы редко используются для просмотра сетевых ресурсов. Метод PUT является противоположностью метода GET: он не читает, а записывает страницу.
Этот метод позволяет создать набор веб-страниц на удаленном сервере. Тело запроса содержит страницу. Она может быть закодирована с помощью MIME. В этом случае строки, следующие за командой PUT, могут включать различные заголовки, например заголовки аутентификации, подтверждающие права абонента на запрашиваемую операцию.
Метод DELETE, что неудивительно, удаляет страницу или, по крайней мере, указывает на то, что веб-сервер удалит страницу. Как и в методе PUT, здесь особую роль могут играть аутентификация и разрешение на выполнение этой операции.
Метод TRACE предназначен для отладки. Он приказывает серверу отослать назад запрос. Этот метод особенно полезен, когда запросы обрабатываются некорректно и клиенту хочется узнать, что за запрос реально получает сервер.
Метод 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
Ответ
Естественный язык, используемый на странице
Читать дальшеИнтервал:
Закладка: