WEB

HTTP протокол

HTTP протокол
Протокол передачи гипертекста (Hypertext Transfer Protocol - HTTP) - это прикладной протокол* для передачи гипертекстовых документов, таких как HTML.

HTTP протокол описывает взаимодействие между двумя компьютерами (клиентом и сервером), построенное на базе сообщений, называемых запрос (Request) и ответ (Response).

Каждое сообщение состоит из трех частей:

  • Cтартовая строка
  • Заголовки
  • Тело

При этом обязательной является только стартовая строка.

Стартовые строки для запроса и ответа имеют различный формат — нам интересна только стартовая строка запроса, которая выглядит так:
METHOD URI HTTP/VERSION

Запрос и ответ по HTTP протоколу


Он создан для связи между веб-браузерами и веб-серверами, хотя HTTP может использоваться и для других целей. Протокол следует классической клиент-серверной модели, когда клиент открывает соединение для создания запроса, а затем ждет ответа. HTTP - это протокол без сохранения состояния, относит каждый запрос к независимой транзакции, которая не связана с предыдущим запросом, то есть сервер не сохраняет никаких данных (состояние) между двумя парами "запрос-ответ".
Несмотря на то, что HTTP основан на TCP/IP, он также может использовать любой другой протокол транспортного уровня с гарантированной доставкой.

 

Справочно:
*Протокол прикладного уровня (Application layer) — протокол верхнего (7-го) уровня сетевой модели OSI, обеспечивает взаимодействие сети и пользователя. Уровень разрешает приложениям пользователя иметь доступ к сетевым службам, таким, как обработчик запросов к базам данных, доступ к файлам, пересылке электронной почты. Также отвечает за передачу служебной информации, предоставляет приложениям информацию об ошибках и формирует запросы к уровню представления (уровень представления - отвечает за преобразование протоколов и кодирование/декодирование данных.

Запросы приложений, полученные с уровня приложений, он преобразует в формат для передачи по сети, а полученные из сети данные преобразует в формат, понятный приложениям. На этом важном уровне может осуществляться сжатие/распаковка или кодирование/декодирование данных, а также перенаправление запросов другому сетевому ресурсу, если они не могут быть обработаны локально.

© 2021 QAstart.by