Олифер В.Г., Олифер Н.А. - Компьютерные сети. Принципы, технологии, протоколы (4-ое изд.) - 2010 - обработка (953099), страница 203
Текст из файла (страница 203)
' Кг С 1945, 2616. ВОВ Глава 23. Сетевые службы Формат НТТР-сообщений В протоколе НТТР все сообщения состоят из текстовых строк. Сообщения как запросов, так и ответов имеют единую обобщенную структуру из трех частей: обязательной старто- вой строки, а также меобязательных заголовков и тела сообщения.
В табл. 5.1 приведены форматы и примеры стартовых строк и заголовков для запросов и ответов. Таблица 6.1. Форматы стартовых строк и заголовков Обобщеииаи етруатура сообщения Формат ответа: НТТР/(.х КодСо- стояния Фраза. Пример: НТТР/1.0 200 ОК Стартовая строка (всегдэ должна быть первой строкой сообщения; обя- зательный элемент) Формат запроса Метод/ БкЬ НТТР/1.х. Пример: СЕТ /Ьоойэ/ Ьоо1гэйкш НТТР/!.1 Заголовок о РЫЗ-имени компьютера, иэ котором расположен веб-сервер, Пример: Ноэг: ччхжой(ег.со.пЬ Заголовки (следуют в произвольном порядке; могут отсутствовать) Заголовок о времени отправления данного ответа.
Пример: Расе; 1)ап 2009 14:00:30 Заголовок об используемом брэуэере. Пример: 1)эег-эйепе Мою!!а/5.0 Заголоэокоб испольэуемом веб- сервере. Пример: Зегчег: АрасЬе/1.3.0 (Пп1х) Зэпиовох о количестве байтов в теле сообщения. Пример: Сопгепг-1.епйгЬ: 1234 Заголовок о предпочтительном язы- ке. Пример: Ассерг-1эпбцэйе: гп Заголовок о режиме соединения. Пример: Соппесиоп: с1оэе Заголовок о режиме соединения. Пример: Соппеспоп: с1оэе Пустая строка Тело сообщения (может Здесь могут быть расположены клю- Здесь может быть расположен текст отсутствовать) чевые слова для поисковой машины запрашиваемой страницы или страницы для передачи иа сервер Как видно из таблицы, запросы и ответы имеют разные форматы стартовой строки. Каждая из них состоит из трех элементов, включающих поле версии протокола НТТР. И в запросе, и в ответе примера указана версия НТТР 1.1.
Стартовая строка запроса включает в себя поле метода — это название операции, которая должма быть выполнена. Чаще всего в запросах используется метод СЕТ, то есть запрос объекта. Именно он включен в наш пример запроса. Помимо этого метода в запросах протокол предусматривает и другие методы, такие как РОБТ, который используется клиентом, например, для отправки электронной почты или в поисковых машинах, когда клиент запрашивает у сервера не определенмый объект, а объекты, содержащие ключевые слова, помещенные в теле сообщения. Еще одним элемемтом стартовой строки является (/Ы-ссылка на запрашиваемый объект — здесь это имя файла /Ьоойз/Ьооиз.гйпь В стартовой строке ответа, помимо уже упоминавшегося указания на версию протокола НТТР имеется поле кода состояния и поле фразы для короткого текстового сообщения, поясняющего данный 'код пользователю. В настоящее время стандарты определяют пять классов кодов состояния: Я 1хх — имформация о процессе передачи; ьл 2хх — информация об успешном принятии и обработки запроса клиента (в таблице в примере стартовой строки ответа приведен код и соответствующая фраза 200 ОК сообшает клиенту, что его запрос успешмо обработан); Веб-служба 0 Зхх — информация о том, что для успешного выполнения операции нужно произвести следующий запрос по другому ()В).-адресу, указанному в дополнительном заголовке ьосд11оп; О 4лх — информация об ошибках на стороне клиента (читатель наверняка не раз сталкивался с ситуацией, когда при указании адреса несуществующей страницы браузер выводил иа экран сообщение 404 йо1 г оипб); С) бхг — информация о неуспешном выполнения операции по вине сервера (например, сообщение 505 Мер Уе ге<оп Мог 5ирро ггеб говорит о том, что сервер не поддерживает версию НТТР предложенную клиентом).
Среди кодов состояния имеется код 401, сопровождаемый сообщением аогйогт хаг<оп гей о1 геб. Если клиент получает такое сообщение в ответ на попытку доступа к странице или объекту, это означает, что доступ к данному ресурсу ограничен и требует авторизации 1 пользователя.
Помимо поясняющей фразы сервер помещает в свой ответ дополнительный заголовок ннн- Аисоеп11 Са1е: <... >, который сообщает клиенту, какую информацию он должен направить серверу для того, чтобы процелура авторизации могла быть выполнена. Обычно это имя и пароль. Веб-клиент с момента получения такого ответа сервера начинает добавлять во все свои запросы к ресурсам данного сервера дополнительный заголовок Аогоог! га11оп: <имя, пароль>, который содержит информацию, необходимую для авторизации доступа.
Динамические веб-страницы До сих пор мы подразумевали, что содержание страницы не изменяется в зависимости от действий пользователя. Когда пользователь щелкает на гиперссылке, то он переходит на новую страницу, а если выполняет команду возвращения обратно, то на экране снова появляется предыдущая страница в неизменном виле. Такие страницы называются статическими. Однако в некоторых случаях было бы очень желательно, чтобы содержание страницы изменялось в зависимости от действий пользователя, например при наведении указателя мыши на определенную область страницы там появлялся бы рисунок вместо текста или значка.
Динамическое воспроизведение состояния базы данных также является типичным примером ситуации, когда статическая страница не может решить задачу. Например, многие ннтернет-магазины поддерживают базу данных продаваемых товаров, и вывод количества оставшихся в наличии товаров требует динамического обновления соответствующего поля веб-страницы.
Веб-страницы, которые могут генерировать выводимое на экран содержание, меняющееся в зависимости от некоторых внешних условий, называются динамическими. Динамика страницы достигается путем ее программирования, обычно для этого используются программные языки сценариев, такие как Рег!, РНР или )ачаЯсг! рп Различают два класса программ, предназначенных для создания динамического содержазня веб-страниц: О программы, работающие на стороне клиента (то есть на том компьютере, где запущен веб-браузер, воспроизводящий страницу на экране); 5) программы, работающие на стороне сервера.
' Об аутентификации и авторизации читайте в главе 24. Глава 23. Сетевые службы В том случае, когда программа работает на стороне клиента, код страницы передается веб-сервером веб-браузеру как обычный статический объект, а затем браузер выполняет этот код, с его помощью создает динамическое содержание страницы и выводит ее на экран. Примером может служить код, написанный на языке Асгюп5сг! рц который иногда используется для программирования интерактивной анимации в играх. Однако для этого требуется еше один механизм, поддерживаемый современными браузерами, — механизм надстроек (або-оп).
Механизм надстроек является программным интерфейсом между браузером и внешними программами, которые расширяют функциональные возможности браузеров. Программа-надстройка обрабатывает объекты веб-страницы определенного типа, в данном случае — код Асс!оп5спрс. Программой-надстройкой, которая понимает Асгюп5спрц является Р!азЬ-плейер компании Абебе. Если Р!азп-плейер загружен в браузер, то динамическая веб-страница, в которой есть код Асгюп5спрг, будет правильно работать и воспроизводить интерактивную анимацию. Другим популярным языком программирования страниц на стороне клиента является !ата5сг!Рг. При программировании содержания страницы на стороне сервера процесс выглядит немного сложнее, так как программный код страницы создает содержание на сервере, следовательно, здесь нужен дополнительный этап — передача этого содержания по протоколу Н "ГГР на клиентскую машину браузеру.
Популярными языками сценариев для серверной части являются Рег1, А5Р !5Р и РНР Сугцествует также стандартный программный интерфейс между веб-сервером и программами, генерирующими динамическое содержание,— это общий шлюзовой интерфейс (Сопппоп Сагещау 1псег1асе, СС1). 1Р-телефония !Р-теяефония — ато сервис, который обеспечивает коммутируемые голосовые соединения преимущественно по схеме «один к одному» и который поддяржиеаатоя сетью, использукяцей протокол 1Р а форме общедоступного Интернета или частной !Р-сети. О ТЕРИИНАХ Понятие «1Р-телефония* распространяется также н на те случаи, когда голос н факс передаются вместе с другими видами информации, в частности с текстом и изображением. Помимо термина «! Ртелефонна» употребляются также термины «Чо! Р» (Ко!се отет 1Р— голос через ! Р) н «ннтернеттелефоннях Хотя аббревиатура Чо1Р часто используется как синоним термина «1Р-телефоння», существует ее более широкая трактовка — любая услуга, включающая передачу юлосэ по протоколу 1Р,' это может быть, нэпрнмер, передача голосовой рекламы при щелчке на соответствующем значке, расположенном на эеб-странице.
Интернет-телефония — это частный случай !Р-телефонна, когда разговор происходит через Интернет, а не, например, в пределах локальной сети предприятия. Ранняя 1Р-телефония В своем развитии 1Р-телефония прошла три этапа. На первом эшапе это была, скорее, интернет-игрушка, пригодная разве что для общения двух энтузиастов, готовых мириться с сопровождающим диалог кваканьем и шипением.