Сети и системы телекоммуникаций. Погонин В.А - 77 стр.

UptoLike

Протокол передачи гипертекста (HTTP) – протокол прикладного уровня для распределенных,
совместных, многосредных информационных систем. HTTP используется в World Wide Web
(WWW), начиная с 1990 года. Первой версией HTTP, известной как HTTP/0.9, был простой про-
токол для передачи необработанных данных через Интернет. По определению RFC 1945 HTTP/1.0
был улучшением этого протокола, допускал MIME-подобный формат сообщений, содержащий
метаинформацию о передаваемых данных и имел модифицированную семантику запро-
сов/ответов. Однако HTTP/1.0 недостаточно учитывал особенности работы с иерархическими
прокси-серверами (hierarchical proxies), кэшированием, постоянными соединениями, и виртуаль-
ными хостами (virtual hosts). Кроме того, быстрый рост числа не полностью совместимых с про-
токолом HTTP/1.0 приложений, потребовал введения новой версии протокола, в которой были бы
заложены дополнительные возможности, которые помогли бы привести эти приложения к еди-
ному стандарту.
9.4.1. Назначение
Протокол HTTP/1.1 содержит более строгие требования, чем HTTP/1.0, гарантирующие более
надежную работу.
Большие информационные системы требуют большего количества функциональных возмож-
ностей, чем просто загрузку информации, включая поиск и модификацию данных при помощи
внешних интерфейсов. HTTP предоставляет открытый (open-ended) набор методов, которые ос-
нованы на системе ссылок, которые обеспечиваются URI (Универсальными Идентификаторами
Ресурсов). URI могут идентифицировать как расположение (URL), так и имя (URN) ресурса, к ко-
торому применяется данный метод. Сообщения передаются в формате, подобному используемому
электронной почтой согласно определениям MIME (Многоцелевых Расширений Электронной
Почты).
HTTP также используется как обобщенный протокол связи между агентами пользователей
(user agents) и прокси-серверами/шлюзами (proxies/gateways) или другими Интернет-сервисами,
включая такие как SMTP, NNTP, FTP, Gopher и WAIS. Таким образом, HTTP определяет основы
многосредного доступа к ресурсам для разнообразных приложений. Более подробная терминоло-
гия приведена в прил. 1.
9.4.2. ОБЩЕЕ ОПИСАНИЕ ПРОТОКОЛА HTTP
Протокол HTTP – это протокол запросов/ответов. Клиент посылает по соединению запрос
серверу, содержащий: метод запроса, URI, версию протокола, MIME-подобное сообщение, вклю-
чающее модификаторы запроса, клиентскую информацию и, возможно, тело запроса. Сервер от-
вечает строкой состояния, включающей версию протокола сообщения, кодом успешного выпол-
нения или ошибки, MIME-подобным сообщением, содержащим информацию о сервере, метаин-
формацию объекта и, возможно, тело объекта.
Большинство HTTP соединений, инициализируется агентом пользователя и состоит из запро-
са, который нужно применить к ресурсу на некотором первоначальном сервере. В самом простом
случае, он может быть выполнен посредством одиночного соединения между агентом пользовате-
ля и первоначальным сервером, как показано на рис. 9.2.
Более сложная ситуация возникает, когда в цепочке запросов/ответов присутствует один или
несколько посредников. Существуют три основных разновидности посредников: прокси-сервера,
шлюзы, и туннели. Прокси-сервер является агентом-посредником, который получает запросы на
некоторый URI в абсолютной форме, изменяет все сообщение или его часть и отсылает изменен-
ный запрос серверу, идентифицированному URI. Шлюз – это принимающий агент, действующий
как бы на уровень выше некоторого другого сервера(ов) и при необходимости транслирующий
запросы в протокол основного сервера. Туннель действует как реле (relay) между двумя соедине-
ниями не изменяя сообщений; туннели используются, когда связь нужно производить через по-
средника (например firewall), который не понимает содержание сообщений.
КЛИЕНТ