Структура и описание протокола HTTP

Любой протокол — это язык со своей грамматикой, синтаксической структурой, включающей в себя форматы сообщений, и семантическими иравилами, указывающими, как следует интерпретировать поля сообщений. Hypertext Transfer Protocol (HTTP) представляет собой протокол типа запрос-ответ, составляющий основу Всемирной паутины. Это протокол прикладного уровня, подобно File Transfer Protocol (FTP) и Telnet. Однако в отличие от этих протоколов, HTTP не сохраняет своего состояния. HTTP появился в 1990 г., а с 1995 г стал протоколом, с помощью которого передается значительная часть трафика Internet.

Важно понимать разницу между HTTP и Всемирной паутиной. Как упоминалось в первой главе, Web состоит из трех симпатических частей: протокола HTTP, языка гипертекстовой разметки (HTML) и схемы именования с помощью унифицированных идентификаторов ресурсов (URI). В Web используются несколько важных программных компонентов (браузеры с графическим пользовательским интерфейсом, прокси-серверы и собственно Web-серверы), которые взаимодействуют между собой с помощью протокола HTTP. Web-компоненты также используют HTTP как механизм коммуникационного взаимодействия для обращения к ресурсам, доступным через другие протоколы, например, FTP или Telnet.

HTTP используется для передачи информации в различных форматах, на различных языках и с различными наборами символов. Синтаксис НТТР-сообщения основан на стандарте MIME — Multipurpose Internet Mail Extensions [FB96a, FB96bJ. Содержимое НТТР-сообщения слепо воспринимается протоколом — никакой интерпретации при этом не производится

Материал, изложенный в этой главе, основывается на документе RFC 1945 [BLFF96J и предваряется описанием ключевых понятий и терминологии, которые существенны для понимания HTTP. Документ RFC 1945 отражает общие принципы использования HTTP в середине 90-х годов. Текущей версией протокола HTTP на момент публикации данной статьи была версия НТТР/1.1. Следующая глава будет посвящена НТТР/1.1 и отличиям между НТТР/1.0 и НТТР/1.1. Наше решение представить описание НТТР/1.0 и НТТР/1.1 в отдельных главах является не случайным. Предварительное рассмотрение НТТР/1.0 дает читателю возможность познакомиться с основными принципами протокола и его преимуществами по сравнению с другими конкурировавшими на момент его создания протоколами. Дальнейшее рассмотрение НТТР/1.1 позволяет познакомиться с эволюцией протокола.

В этой главе будет рассмотрено, как HTTP развивался с первых дней возникновения Web. Мы начнем с обзора протокола HTTP, познакомимся с его истоками, основными возможностями и его влиянием на другие технологии. Протокол HTTP разрабатывался на основе других приложений, популярных во времена создания Web, и использовал некоторые их идеи.

В следующем разделе будут рассмотрены «строительные блоки» протокола: элементы языка (объекты, методы запросов, заголовки, используемые в НТТР-сооб- щениях) и различные классы ответов. Имеющийся на настоящий момент набор но- пулярпых Web-приложений, таких как поиск и удаленное выполнение команд, представляют лишь небольшое подмножество операций, осуществляемых с использованием HTTP. Понимание основных элементов протокола поможет оцепить все его возможности и с успехом применять его в различных приложениях.

После рассмотрения вопросов, связанных с возможностями расширения протокола HTTP, мы поговорим о проблемах безопасности при взаимодействиях с использованием HTTP. Будет рассмотрен протокол Secure Socket Layer (SSL) и его использование для обмена информацией в Web. Как и в других коммуникационных протоколах, в HTTP имеется несколько правил, которые помогают при построении совместимых реализаций. Мы рассмотрим правила совместимости для протокола HTTP и поговорим о значении номера версии протокола. Завершается глава обсуждением принципов и практики применения НТТР/1.0.

Источник: Web-протоколы. Теория и практика. — M.: ЗАО «Издательство БИНОМ», 2002 г. – 592 c.: ил.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100