© Чукарин А.В., 2006
79
8. Протокол HTTP
8.1. Протокол обмена гипертекстовой информацией
HTTP – это протокол прикладного уровня, разработанный для
обмена гипертекстовой информацией в сети Internet. Протокол
используется одной из популярнейших систем Сети – Word Wide Web –
с 1990 года.
Реальная информационная система требует гораздо большего
количества функций, чем просто поиск. HTTP позволяет реализовать в
рамках обмена данными набор методов доступа, базирующихся на
спецификации универсального идентификатора ресурсов (Universal
Resource Identifier), применяемого в форме универсального локатора
ресурсов (Universe Resource Locator) или универсального имени ресурса
(Universal Resource Name). Сообщения по сети при использовании
протокола HTTP передаются в формате, схожем с форматом почтового
сообщения Internet (RFC-822) или с форматом сообщений MIME
(Multiperposal Internet Mail Exchange). HTTP используется для
взаимодействия программ-клиентов с программами-шлюзами,
разрешающими доступ к ресурсам электронной почты Internet (SMTP),
спискам новостей (NNTP), файловым архивам (FTP), системам Gopher и
WAIS. Протокол разработан для доступа к этим ресурсам посредством
промежуточных программ-серверов (proxy), которые позволяют
передавать информацию между различными информационными
службами без потерь. Протокол реализует принцип запросов и ответов.
Запрашивающая программа – клиент – инициирует взаимодействие с
отвечающей программой – сервером, и посылает запрос, включающий в
себя метод доступа, адрес URI, версию протокола, похожее по форме на
MIME-сообщение с модификаторами типа передаваемой информации,
информацию клиента, и, возможно, тело сообщения клиента. Сервер
отвечает строкой состояния, включающей версию протокола и код
возврата, за которой следует сообщение в форме, подобной MIME.
Данное сообщение содержит информацию сервера, метаинформацию
и тело сообщения. Понятно, что в принципе, одна и та же программа
может выступать и в роли сервера и в роли клиента (так собственно и
происходит при использовании proxy-серверов).