На главную | Содержание | Назад | Вперёд
Наши друзья

 

 

Протокол HTTP

Как рее говорилось, протоколы — это правила, помогающие стандартизировав методы передачи информации между компьютерами. Кроме того, вам уже юл-жно быть известно, что за передачу данных в сети World Wide Web отвечает гипертекстовый транспортный протокол (HTTP — Hypertext Transport Protocol). Он предоставляет серверам и броузерам возможность передавать через Internet гипермедиа (документы Web). Кроме того, HTTP отвечает за целостность фай­лов мультимедиа. Другими словами, этот протокол предоставляет возможность передачи через Internet файлов с (неподвижными) изображениями, графикой,
видео, аудио, гипертекстом и другими видами данных. Прочитав эту книгу, вы, возможно, обнаружите, что Web-сайт вашей компании предоставляет ог­ромную потенциальную возможность для нападения на всю компьютерную сис­тему. Чтобы понять реальность подобных нападений и изучить средства оборо­ны, читателю понадобятся базовые знания о HTTP.
Изучая новый для вас протокол, не забывайте о том, что Internet является «сред­ством перемещения» информации для Web. Помните, что Internet построен на
протоколе TCP/IP (2). Чтобы упростить задачу, представьте, что HTTP расположен поверх набора протоколов TCP/IP. В этой главе я расскажу о том,
как работает HTTP, и о том, как этот протокол взаимодействует с TCP/IP.
Прочитав главу, вы узнаете следующее:
* Для распространения файлов мультимедиа в HTTP используется специ­фикация MIME.
♦ Протокол HTTP обладает наиболее богатыми возможностями и является основным протоколом Web,
♦ Транзакция в HTTP состоит из четырех основных этапов (если ничто не прервет ее): создания соединения, запроса клиента, ответа сервера и раз­рыва соединения сервером.
» Web-броузер устанавливает соединение с Web-сервером при помощи про­токола TCP/IP. После этого данные передаются на основе протокола HTTP.
* Огромную роль в использовании ресурсов Web играют URI и URL.
» Для получения ресурсов (файлов) с Web-сервера Web-броузеры использу­ют запросы HTTP.
» Передаваемые при помощи HTTP приложения могут содержать информа­цию о передаваемых данных.
» Сообщения HTTP Full-Request и Full-Response предоставляют серверам и клиентам необходимую для передачи и приема объектов Web информацию.


HTTP- основной ПРОТОКОЛ WEB
Когда вы путешествуете по Web, броузер обменивается сообщениями с сервера­ми Web, используя протокол HTTP. Всякий раз при переходе по гиперссылке
броузер с помощью HTTP обращается к серверу, хранящему необходимую ин­формацию.
Чтобы понять, как происходит обмен документами Web и какую роль в этом играет HTTP, необходимо сперва изучить различные типы документов. Как можно предположить (из главы 2), существует ряд стандартов, определяющих форматы документов. В этом случае форматы документов Web задаются спецификацией MIME.
ПОНЯТИЕ MIME
MIME (Multi purpose Internet Mail Extension) — это техническая спецификация, описывающая передачу мультимедийных данных с помощью почтовых стандар­тов Internet. До внедрения MIME в Web использовалась другая спецификация,
описывающая синтаксис текстовых сообщений для обмена данными между ком­пьютерами (электронная почта).
Однако передача только текстовых сообщений накладывала ограничения на пере­дачу мультимедийных данных. Нужен был новый протокол. Полностью стандарты
передачи текстовых сообщений описаны в документе RFC 822 (D. H. Crocker, Standardfor the Format of ARPA Internet Text Message, August 1982).
В документе RFC 822 описан формат текстовых сообщений, передаваемых от одного компьютера к другому. В нем не рассматриваются такие типы сообще­ний, как аудио, видео или графическая информация. Кроме того, RFC 822 не предполагает использование кодовых страниц, отличных от ASCII (US-ASCII). Итак, все шло к созданию новой спецификации. Как мы увидим далее, специ­фикация MIME обеспечивает передачу любого типа данных по Internet.
MIME определяет форматы графических, звуковых, двоичных и видеофайлов, файлов приложений и др. На. самом деле с помощью MIME можно определить свои форматы файла и использовать их при работе с сервером Web (при усло­вии, что сервер может работать с этим форматом).
Примечание. Мы будем рассматривать сервер Web как сервер HTTP, совместимый с версией HTTP 1.0. В настоящее время это наиболее распространенный протокол в Web, однако уже существует версия HTTP 1.1.
СТАНДАРТЫ        и INTERNET
Как уже говорилось, Internet состоит из тысяч различных ком­пьютеров, работающих под управлением всевозможных опе­рационных систем. Для корректного взаимодействия все они должны работать по строго определенным правилам, иди, как их еще называют, протоколам. Например, представим программу, загружа­ющую с сервера некоторый файл. Прежде всего она должна указать серверу необходимый файл. После этого программа будет терпеливо ожидать ответа сервера, в котором расположено разрешение (или запрет) на доступ к этому файлу. Если ответ положительный, то программе может понадобиться зна­чение размера файла и. "прочие его характеристики. Как известно, подобные взаимодействия между программами не являются случайным набором дей­ствий и описаны в некоторой спецификации.
Практически все стандарты Web и Internet можно найти в самой сети. Опи­сания стандартов расположены в специальных документах — RFC (Request for Comments). Больше всего они напоминают рабочие пометки исследова-. телей и разработчиков сети. Все они используют RFC для общения друг с другом. Второе основное предназначение этих документов — обучать нович­ков и вводить их в современное состояние дел. В настоящее время в Web существует около 2200 подобных документов. Для лучшего понимания сете­вых технологий вам просто необходимо усвоить основные стандарты Web, и лучшим вашим наставником будут документы RFC.
Web, так же как и Internet, является открытой и не принадлежит какому-либо конкретному человеку, компании или государству. Однако при чтении этой книги у вас мог возникнуть вопрос: «Кто же ответственен за созда­ние стандартов и их поддержку?» Оказывается, есть такие организации. Это World Wide Web Consortium (группа под руководством Тима Бернерса-Ли -| одного из создателей Web) и Internet Advisory Board (IAB). Именно эти opra-низации ответственны за разработку и утверждение новых стандартов.
В состав World Wide Web Consortium (W3C) вошли представители частных предприятий и университетов. Эти люди управляют разработкой и внедре­нием новых технических решений. IAB состоит из четырех основных групп: Internet Engineering Task Force (IETF), Internet Engineering Steering Group (IESG), Internet Research Task Force (IRTF) и Internet Research Steering Group (IRSG). Эти и Другие группы занимаются обсуждением и испытанием новых стандартов и определяют их дальнейшую судьбу.
Если вам понадобится диалоговая помощь или ссылка на документы Internet либо Web, то нет ничего лучше RFC. С самого начала они представляли неиссякаемый источник наиболее свежей и необходимой информации для программистов, исследователей и простых пользователей. Именно там мож­но найти ответы на все волнующие вас вопросы. Стоит отметить, что эти документы расположены в различных местах Internet. Для начала я рекомендую воспользоваться ссылкой, расположенной в http://www.jamsa.com/. Эта ссылка представляет собой пиктограмму, связанную со списком RFC. С ее помо­щью вы сможете быстро найти ответы на все вопросы.
ИСПОЛЬЗОВАНИЕ MIME
Как вы уже знаете, Web состоит из миллионов гиперсвязанных документов. Каждый документ может включать в себя дополнительные ссылки на файлы с графикой, аудио, видео, текстовой информацией и т. д. Когда сервер Web по­сылает броузеру какой-либо файл или документ, он включает в него информа­цию о типе файла, которая располагается в заголовке MIME, который часто называют просто заголовком. С его помощью программа, принимающая файл, 'определяет типы расположенных в нем данных. В общем случае заголовок пред­ставляет собой дополнительную информацию, вставляемую в начало файла. Сама же информация называется телом объекта. Итак, каждый файл Web состоит из двух частей: заголовка MIME и тела объекта. вы увидите, что возможны случаи, когда программа посылает только за­головок. Кроме того, при использовании MIME можно включать в тело объекта несколько документов и посылать их одновременно.
типь  И РАСШИРЕНИЯ ME
В заголовок каждого файла, передаваемого клиенту, сервер Web включает тип и расширение MIME. Тип MIME определяет основной тип файла (например, графический файл). Расширение MIME является уточнением типа MIME. Типы и расширения MIME часто изменяются, поскольку идет постоянное развитие и переход на новые типы файлов. В таблице 6.1 приведено лишь несколько типов файлов и их расширения. Для получения более свежей и подробной информа­ции о типах MIME посетите некоторые из сайтов Web, адреса которых я разме­стил в конце главы.
Тип и расширение MIME указываются в поле заголовка Content-Type, предше­ствующего сообщению, посылаемому сервером броузеру. Для того чтобы разо­браться, как эта информация используется в протоколе HTTP, необходимо сперва изучить, какие компоненты Web используют MIME.
Типы и расширения MIME используют как серверы, так и броузеры. Когда сервер Web готовит файл для передачи броузеру, обычно тип и расширение MIME
определяется с помощью расширения файла. Затем сервер посылает эту информа­цию броузеру. Получив файл, броузер использует заголовок Content-Type для опре­деления типа последующей информации. Например, это может выглядеть так:
ПОДРОБНОСТИ о  ТИПАХ MIME
Рассмотрим типы MIME более подробно. Существует семь типов MIME: application, audio,  image,  message, multipart, text и video.
• Приложения используют тип application для передачи данных приложения или двоичных данных. С помощью этого типа можно организовать службу пересылки файлов электронной почты. Кроме того, этот тип часто ис­пользуется для пересылки упакованных (архивированных) файлов. При­ложения используют тип application для передачи данных приложений или двоичных данных (исполняемых модулей программ) по Internet.
• Приложения используют тип audio для передачи аудиофайлов. Чтобы прослушать такой файл, вам нужна звуковая карта, колонки и вспомога­тельное программное обеспечение, позволяющее воспроизводить звуковые файлы.
• Значение image используется при передаче неподвижных изображений (кар­тинок). В Web вы встретите много сайтов, где используется этот тип.
• Приложения используют тип message для встраивания существующих со­общений электронной почты. Например, рассматриваемый тип MIME применяется в том случае, если вам необходимо ответить на сообщение электронной почты и включить в него оригинал принятого письма.
• Приложения используют значение multipart для объединения нескольких документов, возможно, с различными типами данных, в одном сообще­нии. Например, этот тип используется, для того чтобы уменьшить число сообщений, проходящих между сервером и броузером. В этом случае сервер может объединять в одном теле объекта несколько документов. Сервер Web добавляет к телу объекта строку заголовка Content-Type со значением multipart/mixed и посылает сообщение броузеру. Получив такое сообще­ние, броузер изучает заголовок и определяет, из каких типов документов оно скомпоновано. В рассматриваемом случае сервер должен позаботить­ся о разделении документов, чтобы клиент ясно видел начало и конец каждого из них.
• Приложения используют тип/ехгдля представления текстовой информации с помощью некоторого набора символов. Кроме того, этот тип является стандартным форматом для языков описания текста. Примерами передаваемой информации являются ASCII-текст, файлы формата RTF (Rich Text Format) и HTML (HyperText Markup Language). С помощью HTML создатели Web-сайтов разрабатывают и продают Web-страницы.
• Приложения используют тип video для передачи видеоизображений, воз­можно, со звуком в качестве составного формата видеоданных.
Создатели MIME предусмотрели в нем возможности расширения. Как только появляются новые пары тип/расширение, это сразу находит отражение в стан­дарте. Так как передача гипермедийных данных — это наиболее важное преиму­щество Web перед Internet, то трудно переоценить важность стандарта MIME. Далее вам не раз придется столкнуться с примерами его использования. Однако уже сейчас при помощи пункта Параметры меню Вид вы можете посмотреть, какие типы MIME поддерживает ваш броузер. показано диалого­вое окно, отображаемое Internet Explorer.

 

На главную | Содержание | Назад | Вперёд
 
Яндекс.Метрика