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

19.7 Архитектура HTTP

Как и в gopher, извлечение гипертекстового документа достаточно просто. Как показано на рис. 19.3, клиент соединяется с сервером WWW, извлекает часть документа (обычно ее называют страницей. — Прим. пер.) и закрывает соединение. Браузер выводит извлеченную страницу, а пользователь может выполнять следующую операцию.

Рис. 19.3. Браузер извлекает страницу гипертекста с сервера WWW.

Сервер WWW, предоставляющий только текстовые документы, работает очень эффективно и может поддерживать множество пользователей. Однако объем информации резко увеличивается при работе и перемещении графических изображений или звуковых файлов. Эти объекты имеют значительный размер, и для их пересылки требуется большее количество ресурсов сети и центрального процессора, чем для обмена обычными текстовыми файлами. Более того, некоторые запросы вызывают программы, формирующие ответную информацию. Для этого нужно еще больше системных ресурсов.

19.7.1 Прокси-сервер

Прокси-сервер WWW используется для доступа к внешним серверам WWW клиентов, расположенных в пределах зоны безопасности сети. В этом случае браузер клиента конфигурируется для отправки всех запросов прокси-серверу, который, в свою очередь, взаимодействует с реальным сервером WWW и возвращает клиенту полученный результат. На рис. 19.4 показан клиент, обращающийся к серверу WWW через прокси.

Рис. 19.4. Извлечение информации с сервера WWW через прокси

Некоторые прокси кешируют пересылаемые документы и могут самостоятельно отвечать на повторные запросы.

19.8 Протокол HTTP

Служба WWW реализуется поверх соединений TCP (хотя можно применять и другие транспорты) и разрастается вместе с Интернетом. Работа сервера WWW заключается в следующем:

■ Клиент соединяется с сервером.

■ Клиент посылает запрос, например:

GET /home.html НТТР./1.0

ACCEPT: text/html

■ Сервер отвечает на запрос, указывая тип пересылаемой информации и передавая затребованный документ.

Сервер может взаимодействовать с различными видами клиентов благодаря подстройке отправляемых данных под возможности конкретного клиента. Клиент может объявлять о своих возможностях в операторе Accept:, отправляемом на сервер в запросе на извлечение документа. Один клиент может указать, что способен принимать только тексты в формате HTML, а другой — о своих возможностях по обработке текстов, изображений и звуковых файлов.

Обычно сервер WWW работает через общеизвестный порт TCP с номером 80. Иногда серверы конфигурируются для работы через другие порты.

В объектно-ориентированном языке (HTTP) вместо терминов 'команда' или 'запрос' используется термин 'метод'. Клиент может запрашивать три стандартных метода:

GET Извлечение страницы документа
HEAD Запрос на вывод заголовка запрашиваемого документа
POST Отправка страницы на сервер, например ввод данных в форму

Метод GET извлекает страницу. Страница — это документ, содержащий любые изображения или звуковые файлы. Она может размещаться на одном листе или иметь размер целой книги.

Команда HEAD позволяет клиенту до начала пересылки определить длину и тип данных извлекаемого элемента, равно как и дату последнего изменения и текущую версию. Если браузер уже кешировал на локальном диске последнюю версию документа, то документ будет извлечен локально.

19.8.1 Пример типичного диалога HTTP

Один из доводов в пользу быстрого развития протокола WWW состоит в том, что разработчики не тратили время на повторное изобретение колеса, а заимствовали форматы заголовков и типов данных из классической электронной почты и стандартов MIME.

Представленный ниже диалог показывает, насколько просто выполняется взаимодействие в HTTP. Запрос GET/HTTP/1.0 требует извлечения с сервера документа по умолчанию и объявляет, что клиент работает по версии 1.0 протокола HTTP. Клиент также указывает, что способен принимать только текстовые документы HTML.

Ответ сервера объявляет об используемой версии HTTP (1.0) и коде статуса; 200 — означает успешное выполнение запроса. Далее следует серия подобных MIME заголовков. Пустая строка (<CR><LF>) сообщает о конце раздела заголовков и начале тела документа.

GET/HTTP/1.0

ACCEPT: text/html

HTTP/1.0 200 Document follows

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату