Главная страница
Навигация по странице:

  • О Веб-страница, или веб-документ, как правило, состоит из основного HTML-файла и,некоторого количества ссылок на другие объекты разного типа: JPEG- и GIF-изображения

  • 1 Если в U R L -адресе не указывается т ип протокола доступа, то браузер по у м о л ч а н и ю использует протокол H T T P . 804

  • Веб-сервер — это программа, храиямшя Ьбь^ад ло^ьн^ компьютера, на котором она запущена, и обеспечивающая д о с т у п о б ъ е к т а м по UffiL-agpecaM. Наиболее популяр­

  • Таблица 5.1. Форматы стартовых строк и заголовков Обобщенная структура сообщения НТТР-запрос НТТР-ответ Стартовая строка (всегда

  • Формат ответа: HTTP/l.x КодСо- стояния Фраза. Пример: НТТР/1.0 200 ОК Заголовки (следуют в произвольном порядке; могут отсутствовать)

  • Заголовок о времени отправления

  • Пример: Connection: close Пустая строка Тело сообщения (может отсутствовать) Здесь могут быть расположены клю­ чевые слова для поисковой машины

  • Динамические веб-страницы

  • 1 Об аутентификации и авторизации читайте в главе 24.

  • Учебник для вузов в. Олифер Н. Олифер Компьютерные Принципы, технологии, протоколы


    Скачать 22.28 Mb.
    НазваниеУчебник для вузов в. Олифер Н. Олифер Компьютерные Принципы, технологии, протоколы
    АнкорOlifer_V_G__Olifer_N_A_-_Kompyuternye_seti_-_2010.pdf
    Дата12.03.2017
    Размер22.28 Mb.
    Формат файлаpdf
    Имя файлаOlifer_V_G__Olifer_N_A_-_Kompyuternye_seti_-_2010.pdf
    ТипУчебник
    #3698
    страница83 из 99
    1   ...   79   80   81   82   83   84   85   86   ...   99
    Веб-служба
    Изобретение службы World Wide Web (WWW), или Всемирной паутины, стоит в одном ряду с изобретениями телефона, радио и телевидения. Благодаря WWW люди получили возможность доступа к нужной им информации в любое удобное для них время. Теперь проще найти интересующую вас статью в Интернете, чем в стопке журналов, хранящихся рядом в шкафу. Очень быстро исчезают многие традиционные приемы рациональной организации работы с информацией, заключающиеся, например, в хранении полезной ин­
    формации в записных книжках, раскладывании вырезок из журналов и газет в картонные папки с веревочками, упорядочивании документов в каталогах путем наклеивания на них маркеров с условными кодами, помогающими быстро отыскать нужный документ и т. д.
    Этим приемам приходят на смену новые безбумажные технологии Интернета, среди ко­
    торых важнейшей является сетевая служба WWW, или веб-служба. Заметим, что WWW не только предоставляет любому человеку возможность быстрого поиска нужных данных и доступа к ним, но и позволяет выносить на многомиллионную аудиторию пользователей

    802
    Глава 23. Сетевые службы
    Интернета собственную информацию — мнения, художественные и публицистические произведения, результаты научной работы, объявления и т. д. Причем он может это делать без особых организационных забот и практически бесплатно.
    Мы не будем долго останавливаться на описании всех возможностей этой службы, учиты­
    вая, что для большинства из нас регулярный просмотр веб-сайтов стал не просто обыден­
    ностью, а необходимым элементом жизненного уклада.
    Веб- и HTML-страницы
    Миллионы компьютеров, связанных через Интернет, хранят невообразимо огромные объемы информации, представленной в виде веб-страниц.
    О Веб-страница, или веб-документ, как правило, состоит из основного HTML-файла
    и,некоторого количества ссылок на другие объекты разного типа: JPEG- и GIF-изображения,
    другие HTML-файлы, аудио- и видеофайлы.
    Q Н Щ -ф яйлом , HTML-страницей или гипертекстовой страницей называют файл, который
    содержит текст, написанный на языке HTML (HyperText Markup Language — язык разметки
    гипертекста).
    История появления языка HTML связана с попытками программистов разработать средство, которое бы позволяло им программным путем создавать красиво сверстанные страницы для просмотра на экране. Другими словами, красивая картинка появляется на дисплее только в результате ее интерпретации специальной программой, а в исходном виде она представляет собой однообразный текст с множеством служебных пометок. Вместо применения различных приемов форматирования, таких как выделение заголовков круп­
    ным шрифтом, а важных выводов — курсивным или полужирным начертанием, создатель документа на языках этого типа просто вставляет в текст соответствующие указания о том, что данная часть текста должна быть выведена на экран в том или ином виде. Служебные пометки такого рода в исходном тексте выглядят, например, как <Ь> (начать и за­
    кончить вывод текста полужирным начертанием) и называются тегами. Язык HTML не является первым языком разметки текста, его предшественники существовали задолго до появления веб-службы, например в первых версиях ОС Unix существовал язык troff
    (с помощью этого языка отформатированы страницы электронной документации Unix, известные как тап-страницы).
    В язык HTML включены разные типы тегов, команд и параметров, в том числе для встав­
    ки в текст изображений (тег <і mg s гс="..." >). Чтобы HTML-страница выглядела так, как задумал программист, она должна быть выведена на экран специальной программой, спо­
    собной интерпретировать язык HTML. Такой программой является уже упоминавшийся веб-браузер.
    Существует особый тип*тега, который имеет вид <а h re f="..."> ... и называется гипер­
    ссылкой. Гиперссылка содержит информацию о веб-странице или объекте, который может находиться как на том же компьютере, так и на других компьютерах Интернета. Отличие гиперссылки от других тегов состоит в том, что элемент, описываемый ею, не появляется автоматически на экране, вместо этого на месте тега (гиперссылки) на экран выводится не­
    которое условное изображение или особым образом выделенный текст — имя гиперссылки.
    Чтобы получить доступ к объекту, на который указывает эта гиперссылка, пользователь

    Веб-служба
    803
    должен «щелкнуть» на ней, дав тем самым команду браузеру найти и вывести на экран требуемую страницу или объект. После того как новая веб-страница будет загружена, пользователь сможет перейти по следующей гиперссылке — такой «веб-серфинг» может продолжаться теоретически сколь угодно долго. Все это время веб-браузер будет находить указанные в гиперссылках страницы, интерпретировать все размещенные на них указания и выводить информацию на экран в том виде, в котором ее спроектировали разработчики этих страниц.
    URL
    Браузер находит веб-страницы и отдельные объекты по адресам специального формата,
    называемым URL (Uniform Resource Locator — унифицированный указатель ресурса).
    URL-адрес может выглядеть, например, так: http://www.olifer.co.uk/books/books.htm.
    В URL-адресе можно выделить три части:
    Тип протокола доступа. Начальная часть URL (http://) указывает на то, какой протокол должен быть использован для доступа к данным, расположение которых определяется оставшейся частью URL. Помимо HTTP, здесь могут быть указаны и другие протоколы, такие как FTP, telnet, также позволяющие осуществлять удаленный доступ к файлам или компьютерам1.
    DNS-имя сервера. Имя сервера, на котором хранится нужная страница. В нашем слу­
    чае — это имя сайта www.olifer.co.uk.
    Путь к объекту. Обычно это составное имя файла (объекта) относительно главного каталога веб-сервера, предлагаемого по умолчанию. В нашем случае путем к объекту является /books/books.htm. По расширению файла мы можем сделать вывод о том, что это HTML-файл.
    Веб-клиент и веб-сервер
    Как мы уже отмечали, сетевая веб-служба представляет собой распределенную программу, построенную в архитектуре клиент-сервер. Клиент и сервер веб-службы взаимодействуют друг с другом по протоколу HTTP.
    f
    WOpde устанавливается ИФКОМ*' -
    m m
    іМГ
    Через этот интерфейс пользователь получает доступ к широкому набору услуг, главной из которых, конечно, является «веб-серфинг», включающий поиск и просмотр страниц, навигацию между уже просмотренными страницами, переход по закладкам и хранение истории посещений. Помимо средств просмотра и навигации, веб-браузер предоставляет пользователю возможность манипулирования страницами: сохранение их в файле на диске своего компьютера, вывод на печать, передача по электронной почте, контекстный поиск
    1 Если в U R L -адресе не указывается т ип протокола доступа, то
    браузер
    по у м о л ч а н и ю использует
    протокол H T T P .

    804
    Глава 23. Сетевые службы в пределах страницы, изменение кодировки и формата текста, а также множество других функций, связанных с представлением информации на экране и конфигурированием самого браузера.
    К числу наиболее популярных сейчас браузеров можно отнести Internet Explorer компании
    Microsoft, Firefox компании Mozilla и последнее предложение компании Google — Chrome.
    Веб-браузер — это не единственный вид клиента, который может обращаться к веб-серверу.
    Эту роль могут исполнять любые программы и устройства, поддерживающие протокол
    HTTP, а также многие модели мобильных телефонов — для доступа в этом случае применя­
    ется специальный протокол WAP (Wireless Application Protocol — протокол беспроводных приложений).
    Значительную часть своих функций браузер выполняет в тесной кооперации с веб­
    сервером. Как уже было сказано, клиент и сервер веб-службы связываются через сеть по протоколу HTTP. Это означает, что в клиентской части веб-службы присутствует клиент­
    ская часть HTTP, а в серверной — серверная часть HTTP.
    Веб-сервер — это программа, храиямшя Ьбь^ад ло^ьн^
    компьютера, на котором
    она запущена, и обеспечивающая д о с т у п о б ъ е к т а м по UffiL-agpecaM. Наиболее популяр­
    ными веб-серверами сейчас являются Apache и Microsoft internet Information Server.
    Корневой каталог HTTP
    Рис. 23.4. Отображение веб-страницы
    Как и любой другой сервер, веб-сервер должен быть постоянно в активном состоянии, прослушивая ТСР-порт 80, который является назначенным портом протокола HTTP. Как только сервер получает запрос от клиента, он устанавливает TCP-соединение и получает

    Веб-служба
    805
    от клиента имя объекта, например, в виде /books/books.htm, после чего находит в своем ка­
    талоге этот файл, а также другие связанные с ним объекты и отсылает по ТСР-соединению клиенту. Получив объекты от сервера, веб-браузер отображает их на экране (рис. 23.4).
    После отправки всех объектов страницы клиенту сервер разрывает с ним ТСР-соединение.
    В дополнительные функции сервера входят также аутентификация клиента и проверка прав доступа данного клиента к данной странице.
    Для повышения производительности некоторые веб-серверы прибегают к кэшированию наиболее часто используемых в последнее время страниц в своей памяти. Когда приходит запрос на какую-либо страницу, сервер, прежде чем считывать ее с диска, проверяет, не находится ли она в буферах более «быстрой» оперативной памяти. Кэширование страниц осуществляется и на стороне клиента, а также на промежуточных серверах (прокси- серверах). Кроме того, эффективность обмена данными с клиентом иногда повышают путем компрессии (сжатия) передаваемых страниц. Объем передаваемой информации уменьшают также за счет того, что клиенту передается не весь документ, а только та часть, которая была изменена. Все эти приемы повышения производительности веб-службы реализуются средствами протокола HTTP
    Протокол HTTP
    HTTP (HyperText Transfer Protocol — протокол передачи гипертекста)1 — это протокол прикладного уровня, во многом аналогичный протоколам FTP и SMTP. В настоящее время используются две версии протокола HTTP 1.0 и HTTP 1.1
    Обмен сообщениями идет по обычной схеме «запрос-ответ». Клиент и сервер обменива­
    ются текстовыми сообщениями стандартного формата, то есть каждое сообщение пред­
    ставляет собой нескольких строк обычного текста в кодировке ASCII.
    Для транспортировки HTTP-сообщений служит протокол TCP. При этом ТСР-соединения могут использоваться двумя разными способами:
    Долговременное соединение — передача в одном TCP-соединении нескольких объектов, причем время существования соединения определяется при конфигурировании веб­
    службы.
    Кратковременное соединение — передача в рамках одного TCP-соединения только одного объекта.
    Долговременное соединение, в свою очередь, может быть использовано двумя способами:
    Последовательная передача запросов с простоями — новый запрос посылается только после получения ответа.
    Конвейерная передача — это более эффективный способ, в котором следующий за­
    прос посылается до прибытия ответа на один или несколько предыдущих запросов
    (напоминает метод скользящего окна). Обычно по умолчанию степень параллелизма устанавливается на уровне 5-10, но у пользователя имеется возможность изменять этот параметр при конфигурировании клиента.
    В HTTP 1.1 по умолчанию применяются постоянные соединения и конвейерный режим.
    і RFC 1945,2616.

    806
    Глава 23. Сетевые службы
    Формат НТТР-сообщений
    В протоколе HTTP все сообщения состоят из текстовых строк. Сообщения как запросов, так и ответов имеют единую обобщенную структуру из трех частей: обязательной старто­
    вой строки, а также необязательных заголовков и тела сообщения. В табл. 5.1 приведены форматы и примеры стартовых строк и заголовков для запросов и ответов.
    Таблица 5.1. Форматы стартовых строк и заголовков
    Обобщенная структура
    сообщения
    НТТР-запрос
    НТТР-ответ
    Стартовая строка (всегда
    должна быть первой
    строкой сообщения; обя­
    зательный элемент)
    Формат запроса Метод/ URL
    HTTP/l.x. Пример: GET /books/
    books.htm HTTP/1.1
    Формат ответа: HTTP/l.x КодСо-
    стояния Фраза. Пример: НТТР/1.0
    200 ОК
    Заголовки (следуют
    в произвольном порядке;
    могут отсутствовать)
    Заголовок о DNS-имени компьютера,
    на котором расположен веб-сервер.
    Пример: Host: www.olifer.co.uk
    Заголовок о времени отправления
    данного ответа. Пример: Date: 1 Jan
    2009 14:00:30
    Заголовок об используемом браузе­
    ре. Пример: User-agent: Mozilla/5.0
    Заголовок об используемом веб­
    сервере. Пример: Server: Apache/1.3.0
    (Unix)
    Заголовок о предпочтительном язы­
    ке. Пример: Accept-language: ru
    Заголовок о количестве байтов в теле
    сообщения. Пример: Content-Length:
    1234
    Заголовок о режиме соединения.
    Пример: Connection: close
    Заголовок о режиме соединения.
    Пример: Connection: close
    Пустая строка
    Тело сообщения (может
    отсутствовать)
    Здесь могут быть расположены клю­
    чевые слова для поисковой машины
    или страницы для передачи на сервер
    Здесь может быть расположен текст
    запрашиваемой страницы
    Как видно из таблицы, запросы и ответы имеют разные форматы стартовой строки. Каждая из них состоит из трех элементов, включающих поле версии протокола HTTP. И в запросе, и в ответе примера указана версия HTTP 1.1. Стартовая строка запроса включает в себя поле метода — это название операции, которая должна быть выполнена. Чаще всего в за­
    просах используется метод GET, то есть запрос объекта. Именно он включен в наш пример запроса. Помимо этого метода в запросах протокол предусматривает и другие методы, такие как POST, который используется клиентом, например, для отправки электронной почты или в поисковых машинах, когда клиент запрашивает у сервера не определенный объект, а объекты, содержащие ключевые слова, помещенные в теле сообщения. Еще одним элементом стартовой строки является URL-ссылка на запрашиваемый объект — здесь это имя файла /books/books.htm.
    В стартовой строке ответа, помимо уже упоминавшегося указания на версию протокола
    HTTP, имеется поле кода состояния и поле фразы для короткого текстового сообщения, поясняющего данный'код пользователю.
    В настоящее время стандарты определяют пять классов кодов состояния:
    □ 1хх — информация о процессе передачи;
    □ 2хх — информация об успешном принятии и обработки запроса клиента (в таблице в примере стартовой строки ответа приведен код и соответствующая фраза 200 0К со­
    общает клиенту, что его запрос успешно обработан);

    Веб-служба
    807
    Зхх — информация о том, что для успешного выполнения операции нужно произвести следующий запрос по другому URL-адресу, указанному в дополнительном заголовке
    L o c a t i on ;
    4хх — информация об ошибках на стороне клиента (читатель наверняка не раз стал­
    кивался с ситуацией, когда при указании адреса несуществующей страницы браузер выводил на экран сообщение
    4 0 4 N o t F o u n d ) ;
    5хх — информация о неуспешном выполнения операции по вине сервера (например, сообщение
    5 0 5 h t t p V e r s i o n N o t S u p p o r t e d говорит о том, что сервер не поддерживает версию HTTP, предложенную клиентом).
    Среди кодов состояния имеется код 401, сопровождаемый сообщением a u t h o r i z a t i o n r e q u i r e d .
    Если клиент получает такое сообщение в ответ на попытку доступа к странице или объекту, это означает, что доступ к данному ресурсу ограничен и требует авторизации 1 пользователя. Помимо поясняющей фразы сервер помещает в свой ответ дополнительный заголовок w w w
    -
    A u t h e n t i c a t e d .
    .. >, который сообщает клиенту, какую информацию он должен направить серверу для того, чтобы процедура авторизации могла быть выпол­
    нена. Обычно это имя и пароль. Веб-клиент с момента получения такого ответа сервера начинает добавлять во все свои запросы к ресурсам данного сервера дополнительный заголовок
    A u t h o r i z a t i o n :
    <гшя, паролъ>, который содержит информацию, необходимую для авторизации доступа.
    Динамические веб-страницы
    До сих пор мы подразумевали, что содержание страницы не изменяется в зависимости от действий пользователя. Когда пользователь щелкает на гиперссылке, то он переходит на новую страницу, а если выполняет команду возвращения обратно, то на экране снова появляется предыдущая страница в неизменном виде. Такие страницы называются стати­
    ческими.
    Однако в некоторых случаях было бы очень желательно, чтобы содержание страницы изме­
    нялось в зависимости от действий пользователя, например при наведении указателя мыши на определенную область страницы там появлялся бы рисунок вместо текста или значка.
    Динамическое воспроизведение состояния базы данных также является типичным при­
    мером ситуации, когда статическая страница не может решить задачу. Например, многие интернет-магазины поддерживают базу данных продаваемых товаров, и вывод количества оставшихся в наличии товаров требует динамического обновления соответствующего поля веб-страницы.
    Веб-страницы, которые могут генерировать выводимое на экран содержание, меняющееся в зависимости от некоторых внешних условий, называются динамическими.
    Динамика страницы достигается
    п у т е м ее
    программирования, обычно для этого использу­
    ются программные языки сценариев, такие как Perl, РНР или JavaScript.
    Различают два класса программ, предназначенных для создания динамического содержа­
    ния веб-страниц:
    □ программы, работающие на стороне клиента (то есть на том компьютере, где запущен веб-браузер, воспроизводящий страницу на экране);
    □ программы, работающие на стороне сервера.
    1 Об аутентификации и авторизации читайте в главе 24.

    1   ...   79   80   81   82   83   84   85   86   ...   99


    написать администратору сайта