HTTP
HTTP (с англ. «HyperText Transfer Protocol») — один из множества прикладных протоколов для передачи информации в виде гипертекстовых документов в формате HTML . сети Интернет.
Зайдите в любой браузер и введите в адресную строку адрес сайта, то браузер автоматически прибавляет к адресу приставку «http://». Часто эта приставка по умолчанию скрыта, но если скопировать адрес и вставить его, например, в текстовый документ, то ее без труда можно будет увидеть.
Эта приставка обозначает, что вы будете обращаться к ресурсу по протоколу HTTP.
Главная задача протокола HTTP — это прием и передача гипертекстовых документов (веб-страниц, просматриваемых нами в браузере).
Сторона, которая принимает содержимое каждой веб-страницы — это браузер (очень часто его называют клиентом), а сторона, которая отдает содержимое веб-страниц называется сервером.
Технологию, по которой происходит этот обмен, называют «клиент-серверной» технологией.
А что собой представляет веб-страница, которую сервер отправляет нам в ответ на запрос? На самом деле это обычный HTML-код, который получает браузер и соответствующим образом его интерпретирует.
Структура протокола HTTP
Любой запрос в протоколе состоит из трех частей с соблюдением их порядка:
- Стартовая строка — определяет тип запроса (сообщения).
- Заголовок — описывает тело запроса, параметры передачи и прочие данные.
- Тело сообщения — сама информация, которая передается. Обязательно должно быть отделено от заголовка пустой строчкой.
Заголовок и тело сообщения могут отсутствовать, однако стартовая строка — обязательный элемент, так как в ней указывается тип запроса/ответа.
Программное обеспечение
Всё программное обеспечение для работы с протоколом HTTP разделяется на три большие категории:
- Серверы как основные поставщики услуг хранения и обработки информации (обработка запросов).
- Клиенты — конечные потребители услуг сервера (отправка запроса).
- Прокси для выполнения транспортных служб.
Для отличия конечных серверов от прокси в официальной документации используется термин «исходный сервер» (англ. origin server). Один и тот же программный продукт может одновременно выполнять функции клиента, сервера или посредника в зависимости от поставленных задач. В спецификациях протокола HTTP подробно описывается поведение для каждой из этих ролей.