Протокол HTTP

HTTP (HyperText Transfer Protocol — протокол передачи гипертекста) — это протокол прикладного уровня, во многом аналогичный протоколам FTP и SMTP В настоящее время используются две версии протокола HTTP 1.0 и HTTP 1.1

Обмен сообщениями идет по обычной схеме «запрос-ответ». Клиент и сервер обмениваются текстовыми сообщениями стандартного формата, то есть каждое сообщение представляет собой нескольких строк обычного текста в кодировке ASCII.

Для транспортировки HTTP-сообщений служит протокол TCP При этом ТСР-соединения могут использоваться двумя разными способами:

  • Долговременное соединение — передача в одном TCP-соединении нескольких объектов, причем время существования соединения определяется при конфигурировании веб-службы.
  • Кратковременное соединение — передача в рамках одного ТСР-соединения только одного объекта.

Долговременное соединение, в свою очередь, может быть использовано двумя способами:

  • Последовательная передача запросов с простоями — новый запрос посылается только после получения ответа.
  • Конвейерная передача — это более эффективный способ, в котором следующий запрос посылается до прибытия ответа на один или несколько предыдущих запросов (напоминает метод скользящего окна). Обычно по умолчанию степень параллелизма устанавливается на уровне 5-10, но у пользователя имеется возможность изменять этот параметр при конфигурировании клиента.

В HTTP 1.1 по умолчанию применяются постоянные соединения и конвейерный режим.