Принципы работы сервера и клиента
Архитектура построения системы. От описания основных компонентов перейдем к архитектуре взаимодействия программного обеспечения в системе World Wide Web. WWW построена по хорошо известной схеме "клиент-сервер". Программа-клиент выполняет функции интерфейса пользователя и обеспечивает доступ практически ко всем информационным ресурсам Интернета. В этом смысле она выходит за обычные рамки работы клиента только с сервером определенного протокола. Клиент - это интерпретатор HTML. И, как типичный интерпретатор, клиент в зависимости от команд (разметки) выполняет различные функции. В круг этих функций входит не только размещение текста на экране, но и обмен информацией с сервером по мере анализа полученного HTML-текста, что наиболее наглядно происходит при отображении встроенных в текст графических изображений. При анализе URL-спецификации или по командам сервера клиент запускает дополнительные внешние программы для работы с документами в форматах, отличных от HTML, например GIF, JPEG, MPEG, Postscript и т. п. 454
Рис. 7.2. Страница финансовых новостей на сервере компании CNN в окне броузера Microsoft Internet Explorer
Другую часть программного комплекса WWW составляет сервер протокола HTTP, базы данных документов в формате HTML, управляемые сервером, и программное обеспечение, разработанное в стандарте спецификации CGI. До самого последнего времени реально использовалось два HTTP-сервера: сервер CERN и сервер NCSA. Но в настоящее время число базовых серверов расширилось.
База данных HTML-документов - это часть файловой системы, которая содержит файлы в формате HTML и связанные с ними графику и другие ресурсы.
Среди прикладного программного обеспечения, работающего с сервером, можно выделить программы-шлюзы. Шлюзы - это программы, обеспечивающие взаимодействие серверов различных протоколов, например, через FTP. Другие прикладные программы принимают данные от сервера и выполняют какие-либо действия: получение текущей даты, реализацию графических ссылок, доступ к локальным базам данных или просто расчеты.
Все, что было сказано до этого момента, можно отнести к классической схеме World Wide Web. В настоящее время следует говорить о ее изменении.
К середине 1996 года произошли некоторые изменения в архитектуре сервиса World Wide Web.
Произошел возврат к модульной структуре сервера World Wide Web. Этот возврат был реализован в виде спецификации API. API - это спецификация разработки прикладных модулей, которые редактируются совместно с модулями сервера.
В дополнение к HTML активно стал применяться еще один язык разметки - VRML (Virtual Reality Modeling Language), а также язык XML.
Рис. 7.3. Новости бизнеса на сервере электронной газеты Gazeta.Ru
Изменения коснулись и клиентской части технологии. В настоящее время происходит постепенный переход от простой классической архитектуры клиент - сервер к архитектуре с сервером приложений, в роли которого выступает программа-клиент. В частности, NCSA опубликовала спецификацию CCI (Common Client Interface) для разработки приложений. Завершая обсуждение архитектуры World Wide Web, хотелось бы еще раз подчеркнуть, что ее компоненты существуют практически для всех типов компьютерных платформ и свободно доступны в сети. Любой, кто имеет доступ в Интернет, может создать свой WWW-сервер или, по крайней мере, посмотреть информацию с других серверов.
УНИВЕРСАЛЬНЫЙ АДРЕС РЕСУРСА
Для того чтобы получить информацию из Интернета, необходимо знать адрес, по которому она расположена. Универсальный адрес ресурса (URL) - это адрес в системе World Wide Web, с помощью которого однозначно определяется любой документ. В общем случае универсальный адрес ресурса имеет следующий формат:
протокол://компьютер/путь
Протокол является набором правил, согласно которому должна происходить передача данных. Основным протоколом в системе World Wide Web является протокол HTTP - протокол передачи гипертекста, поэтому большая часть адресов начинается следующим образом:
http://
Тем не менее, могут быть использованы и другие протоколы передачи данных, например протокол передачи файлов - FTP или протокол передачи данных в формате Gopher. Тогда на первое место в универсальном адресе ресурса ставится название используемого протокола. Например:
ftp://
или
gopher://
Компьютер - это адрес сервера, с которым необходимо установить соединение. Может использоваться как IP-адрес, так и имя сервера в доменной системе имен. Например:
http://www.econ.pu.ru
ИЛИ
ftp://194.85.120.66
Адреса большей части серверов в системе World Wide Web начинаются с префикса www. Этот префикс используется просто как удобное обозначение того, что на данном компьютере запущен Web-сервер.
Путь представляет собой точное указание месторасположения документа на Web-сервере. Это может быть название директории и файла, как в следующем примере:
http://www.econ.pu.ru/info/history/jubilee.htm
Если ввести в строке "адрес" броузера данный адрес, броузер установит связь с компьютером www.econ.pu.ru по протоколу HTTP и запросит у него документ с названием jubilee.htm из каталога/info/history.
Последняя часть универсального адреса ресурса может включать дополнительную информацию, которую обычно используют для того, чтобы передать Web-серверу параметры запроса пользователя в интерактивных страницах, а также путь и имя той программы на сервере, которая этот запрос будет обрабатывать. Например:
http://www.econ. pu. ru/sf/cgi - bin/main. bat?object=teachers&id=1
Получив такой запрос, Web-сервер попытается найти программу main.bat в каталоге /sf/cgi-bin/, запустить ее и передать ей параметры object и id с соответствующими значениями.
В современных версиях броузеров нет необходимости указывать имя протокола в начале каждого адреса ресурса. Если имя протокола не указано, то броузер попытается самостоятельно определить, какой протокол необходимо использовать.
Если не указано имя файла, а только каталог, в котором он должен находиться, то пользователю будет передан файл, который администратор Web-сервера определил как файл, передаваемый по умолчанию. Обычно таковым является файл с названием index.htm (index.html) или default.htm (default.html). Если в каталоге нет файла по умолчанию, то будет выдано сообщение об ошибке.
Для указания документов на одном и том же сервере в HTML-документах часто используется сокращенное обозначение, называемое относительным адресом. Перед отправкой запроса на Web-сервер броузер преобразует относительный адрес в полный. Например, если документ по адресу http://www.econ.pu.ru/info/index.htm содержит ссылку на документ history/jublilee.htm, то броузер преобразует эту ссылку в http://www.econ.pu.ru/info/history/jubilee.htm.