HTTP - Обзор

Протокол передачи гипертекста (HTTP) - это протокол прикладного уровня для распределенных, совместных гипермедийных информационных систем. Это основа для передачи данных во всемирной паутине (то есть в Интернете) с 1990 года. HTTP - это общий протокол без сохранения состояния, который можно использовать для других целей, а также с использованием расширений его методов запроса, кодов ошибок и заголовков.

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

Основные характеристики

Есть три основных функции, которые делают HTTP простым, но мощным протоколом:

  • HTTP is connectionless:HTTP-клиент, т. Е. Браузер, инициирует HTTP-запрос, и после того, как запрос сделан, клиент ждет ответа. Сервер обрабатывает запрос и отправляет ответ, после чего клиент разрывает соединение. Таким образом, клиент и сервер знают друг о друге только во время текущего запроса и ответа. Дальнейшие запросы выполняются при новом подключении, например, клиент и сервер являются новыми друг для друга.

  • HTTP is media independent:Это означает, что любой тип данных может быть отправлен по HTTP, если и клиент, и сервер знают, как обрабатывать содержимое данных. От клиента и сервера требуется указать тип контента, используя соответствующий MIME-тип.

  • HTTP is stateless:Как упоминалось выше, HTTP не требует установления соединения и является прямым результатом того, что HTTP является протоколом без сохранения состояния. Сервер и клиент знают друг друга только во время текущего запроса. После этого они оба забывают друг о друге. Из-за такого характера протокола ни клиент, ни браузер не могут сохранять информацию между различными запросами на веб-страницах.

HTTP / 1.0 использует новое соединение для каждого обмена запрос / ответ, тогда как соединение HTTP / 1.1 может использоваться для одного или нескольких обменов запрос / ответ.

Базовая архитектура

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

Протокол HTTP - это протокол запроса / ответа, основанный на архитектуре клиент / сервер, где веб-браузеры, роботы, поисковые системы и т. Д. Действуют как HTTP-клиенты, а веб-сервер действует как сервер.

Клиент

HTTP-клиент отправляет запрос на сервер в форме метода запроса, URI и версии протокола, за которым следует MIME-подобное сообщение, содержащее модификаторы запроса, информацию о клиенте и возможное содержимое тела через соединение TCP / IP.

Сервер

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