Протокол HTTP

СЕТЕВЫЕ  ТЕХНОЛОГИИ

Протокол HTTP

Принцип взаимодействия на основе протокола HTTP основан на схеме "запрос-ответ" и предполагает следующую последовательность действий:

  • клиент формирует сообщение-запрос и передает серверу;

  • сервер получает сообщение, анализирует и обрабатывает запрос, формирует сообщение-ответ и направляет его клиенту.

В сообщениях-запросах в текстовом виде указывается строка запроса, содержащая команду, которую должен выполнить HTTP-сервер, а также параметры запроса, например URL, определяющий объект, над которым выполняются действия. В качестве примера можно привести строку

Рис 1

представляющую собой запрос на получение ресурса, расположенного по адресу www.fio.ru с использование версии 1 протокола HTTP.

Достаточно часто команды протокола HTTP называют методами HTTP. Команды протокола позволяют клиенту:

  • запросить у сервера ресурс (например, Web-документ, графический файл и тип) или проверить возможность доступа к ресурсу;

  • передать данные серверу (например, содержимое заполненных полей формы);

  • удалить ресурс на сервере;

  • установить или отменить связь ресурса с другими ресурсами.

Как правило, для того, чтобы получить и представить пользователю запрашиваемый Web-документ, клиенту требуется выполнить несколько запросов. Это объясняется тем, что Web-документ, в общем случае представляется целом набором файлов, а для получения каждого файла требуется выполнить отдельный запрос.

Сообщения-ответы содержат в себе строку состояния, определяющую результат выполнения сервером команды клиента . Эта строка состоит из двух частей - числового кода и текстового описания результата. Например, строка

Рис 2

сообщает клиенту о том, что запрашиваемый ресурс не найден

Поскольку протокол предполагает передачу данных в текстовом виде (ASCII), то заголовок представляет последовательность строк вида

Рис 3

В полях заголовка передается информация, необходимая для корректного получения и правильной интерпретации Web-документов и других ресурсов, которые передаются с помощью протокола:

  • данные о клиенте, например, название, версия, поддерживаемые кодировки и т.п. и о сервере;

  • данные о пользователе (при необходимости) который запрашивает ресурсы), например, информация для аутентификации и адрес электронной почты;

  • информация о передаваемом ресурсе, например, тип содержимого (текст, графика и т.п.), язык, размер данных, дата обновления и т.п.;

  • информация о способе кодирования данных при передаче, например, версия MIME и использование алгоритмов сжатия данных.

Состав заголовка HTTP-сообщения зависит от того, является ли сообщение запросом клиента или ответом сервера, а также от типа запроса или ответа