Протокол передачи гипертекста (Hypertext Transfer Protocol – HTTP) – это протокол, который определяет, как клиент и сервер общаются и обмениваются данными через Интернет. Он является основным протоколом для передачи данных веб-страниц, изображений, видео, аудио, API и других ресурсов между клиентскими приложениями (web-браузерами) и веб-серверами.
Протокол HTTP использует клиент-серверную модель, где клиент (например, веб-браузер) отправляет запросы на сервер, а сервер отвечает на эти запросы с помощью ответов. HTTP работает поверх протокола передачи данных (Transmission Control Protocol – TCP) или протокола передачи надежных сообщений (Stream Control Transmission Protocol – SCTP) и обычно использует порт 80 для соединения.
В основе протокола HTTP лежит простой синтаксис запроса-ответа. Клиент отправляет HTTP-запрос на сервер, в котором указывает метод (GET, POST, PUT, DELETE и т. д.), URL ресурса, версию протокола и другие заголовки запроса. Сервер анализирует запрос, выполняет запрошенное действие и отправляет HTTP-ответ с кодом состояния (200 OK, 404 Not Found, и т. д.), заголовками ответа и содержимым ответа, которое может быть HTML-страницей, изображением, XML-документом и т. д.
Протокол HTTP также поддерживает различные функции и возможности, включая управление кэшированием, управление сеансами, аутентификацию, шифрование с помощью протокола HTTPS (HTTP Secure) и др. С версией HTTP/2 добавились новые функции, такие как мультиплексирование, сжатие заголовков и данных, а также приоритизация запросов.
HTTP является основой для работы сетевых приложений и веб-разработки, и его понимание важно для разработчиков, администраторов систем и всех, кто работает с Интернетом и веб-технологиями.