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

UptoLike

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