Ответ протокола HTTP

После получения запроса, сервер HTTP обрабатывает его и отправляет результат обработки клиенту. Так же, как и запрос, ответ состоит из заголовка и тела ответа, разделенных пустой строкой.

Начальная строка заголовка ответа имеет следующий формат:

версия-HTTP код-обработки пояснение

Параметр версия-HTTP содержит идентификатор версии протокола HTTP, которую поддерживает сервер.

Параметр код-обработки содержит трехзначный числовой код статуса обработки запроса, который обрабатывается программным обеспечением клиента. Числовые коды обработки запроса составляют иерархическую структуру. Напри­мер, 200 – код успешной обработки запроса, код 400 сигнализирует о синтаксической ошибке в запросе, а код 500 – о невозможности по тем или иным причинам выполнить правильно составленный запрос.

Параметр пояснение содержит короткую строку описания кода обработки, которая, в основ­ном, предназначена для текстового анализа результата обработки запроса.

После первой строки ответа могут следовать общие заголовки, поля которых аналогичны общему заголовку запроса.

Следующие поля образуют группу полей заголовка ответа (Response Headers):

· поле Location: (полный URL ресурса, который отвечает на отправленный запрос, т.е. если клиент отправил запрос на Web-сервер с целью получения какого-либо документа, который был перемещен в другой каталог или на другой сервер, и запрашиваемый сервер выдает поле Location:, то за­прос клиента, автоматически, перенаправляется по URL, указанному Web-сервером);

· поле Server: (спецификация программного обеспечения Web-сервера, отвечающего на запрос);

· поле Age: («возраст» ресурса в секундах, например, age-value=86400 означает, что ресурс существует одни сутки);

· поле Retry-After: (в случае неудачи доступа к ресурсу, повторный запрос ресурса в заданную дату и время или через заданный промежуток времени, например, значение поля 300 означает, что повторный запрос к ресурсу должен быть выполнен через 300 секунд);

· поле WWW-Authenticate: (параметры схемы и пространства аутентификации).

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

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

Пример 4.6.4. Ответ по протоколу HTTP:

HTTP/1.0 200 OK

Date: Wednesday, 05-Feb-97 23:04:12 GMT

Server: IIS 5.01

MIME-version: 1.0

Last-modified: Monday, 15-Nov-00 23:33:16 GMT

Content-type: text/html

Content-length: 2345

пустая строка

текст документа HTML

Помимо приведенных полей, клиент HTTP и сервер HTTP могут обрабатывать пользовательские заголовки (Custom Headers), введенные специально для данного клиента и/или сервера, но не поддерживаемые текущей спецификацией HTTP, например, заголовки с именами User-Logon и User-Password для ввода соответственно имени и пароля пользователя при обращении к ресурсам сервера HTTP.

Протокол HTTP предоставляет простой механизм аутентификации пользователя ресурсов сервера. Механизм построен на обмене информацией аутентификации между клиентом и сервером ресурса и позволяет выбирать схему аутентификации и уровень секретности передаваемых данных.

Наиболее распространенная схема аутентификации – Basic, предусматривающая передачу клиентом своего идентификатора и пароля для получения доступа к ресурсам на сервере. Идентификатор и пароль пользователя при передаче кодируются с помощью base64.

Схема Basic не предусматривает какого-либо шифрования пользовательских данных, поэтому в системах, требующих высокого уровня защищенности, применяется шифрование данных на уровне протоколов TCP или UDP.

В тех системах, где требования к безопасности передаваемых данных не столь высоки, применяется механизм SSL (Secure Socket Layer – уровень сокетов безопасности), обеспечивающий дополнительное шифрование данных на уровне наиболее распространенных протоколов шифрования. В этом случае обычно используется так называемая безопасная версия протокола HTTP (с шифрованием данных) – протокол HTTPS (HTTP Secure).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: