9.2. Основные понятия (сайт, сокет, сервер, клиент). Web как пример архитектуры «клиент-сервер»
WWW (World Wide Web, Всемирная паутина) — самый популярный сервис Интернет, который определил столь массовое обращение к ресурсам сети. В самом общем плане WWW — это система Web-серверов, поддерживающая форматированные специальным образом документы (HTML-доку менты).
Служба WWW реализована в виде клиент-серверной архитектуры. Пользователь с помощью клиентской программы (браузера) осуществляет запрос к той или иной информации на сервере, а web-сервер обслуживает запрос браузера.
Браузер (навигатор) — это программа с графическим интерфейсом, которая обеспечивает обращение к искомому ресурсу на сервере по его URL. Браузер считывает запрашиваемый документ, форматирует его для представления пользователю и демонстрирует на клиентском компьютере.
Документ, доступный через Web, называют web-страницей, а группы страниц, связанных общим именем, темой и объединенных навигационно, — web-сайтами. Структуру web-сайта определяет система гиперссылок. Страницы на сайте могут иметь линейную древовидную структуру, но чаще на каждой странице имеется несколько ссылок, что и позволяет говорить о структуре «паутина». Первую страницу, которую видит пользователь при обращении на тот или иной ресурс, называют стартовой, домашней или индексной страницей (home page).
Гипертекст (Hypertext) — это документ (в первую очередь текстовый), содержащий гиперссылки. Гиперссылка — это связь слова или содержащегося в документе изображения с другим ресурсом, которым может быть как еще один документ, так и раздел текущего документа. Подобные «связанные» слова или картинки документа, как правило, выделяются по оформлению из общего текста. Общепринятой является практика подчеркивания слова или предложения, связанного гиперссылкой. Щелчок на гиперссылке приводит к тому, что браузер вызывает и размещает в своем окне документ, на который указывает гиперссылка. Таким образом, благодаря гипертексту web-страница приобретает свойство некоторой интерактивности.
Практическое применение идеи и сам термин «гипертекст» появился с возникновением электронных документов, задолго до появления службы WWW. Поскольку современные электронные документы содержат не только текст, но и мультимедиа-информацию (графика, звук), в качестве ссылок стали использовать не только текстовые, но и графические объекты — понятие гипертекста было расширено до понятия гипермедиа. Гипермедиа — это метод организации мультимедиа-информации на основе ссылок на разные типы данных.
Гипертекстовый документ представляет собой описание структуры и содержания документа, отображаемого в окне Интернет-браузера. Это описание создается посредством команд, сформированных на языке HTML (HyperText Markup Language — язык гипертекстовой разметки). Эти команды могут интерпретироваться и выполняться программой браузером, таким, например, как Microsoft Internet Explorer. Интерпретируя команды HTML, браузер создает визуальное изображение документа, собирая его из отдельных объектов и формируя web-страницу.
Гипертекстовые документы размещаются на web-серверах в виде файлов, содержащих отдельные web-страницы и образующих web-сайт. Web-сайт — это специальная папка, размещенная на web-сервере, в которой размещены файлы, содержащие текстовую информацию по какой-либо теме, а также информацию в виде рисунков, графиков, фотографий, анимационных изображений и звуковых эффектов. В этих файлах содержатся описания web-страниц на одном из языков разметки гипертекста — HTML или XML. Файлы имеют одно из следующих расширений: html, htm, xml. Существует три типа web-сайтов:
— создаваемые на web-сервере поставщика услуг Internet;
— создаваемые в интрасети как web-узлы группы;
— виртуальный web-сайт, который может быть создан на жестком диске автономного компьютера, не подключенного к какой-либо сети.
Информация на web-сайте размещается в виде отдельных страниц. Каждая web-страница имеет вполне определенное содержательное и функционально законченное назначение. Поэтому такие страницы называют информационными статьями. Все страницы (статьи) определенным образом связаны друг с другом так, чтобы обеспечить пользователю удобный переход от страницы к странице и быстрый поиск интересующей его информации. Как правило, эта связь организуется по принципу родовых (иерархических) или сетевых отношений.
Родовые отношения обеспечивают удобство при просмотре содержимого web-узла от общего к частному. Сетевые отношения создаются в тех случаях, когда целесообразно иметь возможность переходить с одних на другие страницы, для получения справочной либо уточняющей информации.
Каждая web-страница хранится в отдельном файле. Связь между web-страницами (файлами), обеспечивающая быстрый переход с одной страницы на другую и эффективный поиск нужной информации, устанавливается с помощью гиперссылок.
Одна из страниц выполняет роль главной. В ней должна содержаться информация о тематической направленности проекта, а также элементы, обеспечивающие навигацию по страницам и поиск нужной информации. Именно эта страница будет отображаться первой на дисплее пользователя. Так, если в адресную строку браузера ввести, например, DNS адрес http://www.fa.ru, то на самом деле будет сформирован URL адрес HTTP://www.fa.ru/index.htm и будет выполнена попытка найти и загрузить web-страницу именно с таким URL адресом. Поэтому файл, в котором хранится первая web-страница и с которой посетитель начнет движение по страницам узла, используя гинерссылки, должен иметь имя index.htm.
Папка web-сайта внутри себя должна содержать еще одну папку. Эта папка служит для хранения файлов, содержащих какие-либо графические изображения, которые предполагается отображать на web-страницах.
Возможности языка HTML таковы, что он обеспечивает только описание структуры HTML документа. Он, собственно, не является языком программирования. Для создания интерактивных гипертекстовых документов кроме языка HTML служат так называемые сценарии, представляющие собой программы, которые создаются на языках программирования, обеспечивающих их интерпретацию и выполнение браузером. Существует две разновидности таких языков — JavaScript и VBScript. Поэтому для того, чтобы создавать интерактивные гипертекстовые страницы, необходимо использовать язык HTML и один из приведенных языков программирования.
Для обеспечения сетевых коммуникаций используются сокеты. Сокет — это конечная точка сетевых коммуникаций. Каждый использующийся сокет имеет тип и ассоциированный с ним процесс. Сокеты существуют внутри коммуникационных доменов. Домены — это абстракции, которые подразумевают конкретную структуру адресации и множество протоколов, которое определяет различные типы сокетов внутри домена. Примерами коммуникационных доменов могут быть: UNIX домен, Internet домен, и т.д.
В Internet домене сокет — это комбинация IP адреса и номера порта, которая однозначно определяет отдельный сетевой процесс во всей глобальной сети Internet. Два сокета, один для хоста-получателя, другой для хоста-отправителя, определяют соединение для протоколов, ориентированных на установление связи, таких, как TCP.
Среда клиент-сервер.
Раньше сетевые системы основывались на модели централизованных вычислений, в которой один мощный сервер — мейнфрейм выполнял основную работу в сети, а пользователи получали доступ к нему при помощи недорогих и низкопроизводительных компьютеров — терминалов. В результате развития персональных компьютеров централизованную модель заменила модель клиент-сервер, предоставляющая при той же производительности возможности сетевой обработки данных.
В настоящее время большинство сетей использует модель клиент-сервер. Сеть архитектуры клиент-сервер — это сетевая среда, в которой компьютер-клиент инициирует запрос компьютеру-серверу, выполняющему этот запрос. Рассмотрим работу модели на примере системы управления БД — приложения, часто используемого в среде клиент-сервер. В модели клиент-сервер ПО клиента используется язык структурированных запросов SQL (Structured Query Language), который переводит запрос с языка, понятного пользователю, на язык, понятный машине. SQL близок к естественному английскому.
Клиент (пользователь) генерирует запрос с помощью интерфейсного приложения, которое обеспечивает интерфейс пользователя, формирует запросы и отображает данные, полученные с сервера. В клиент-серверной среде сервер не наделяется пользовательским интерфейсом. Представлением данных в удобной форме занимается сам клиент. Компьютер-клиент получает инструкции от пользователя, готовит их для сервера, а затем по сети посылает ему запрос. Сервер обрабатывает запрос, проводит поиск необходимых данных и отсылает их клиенту. Клиент в удобной для пользователя форме отображает полученную информацию. В клиент-серверной среде пользователь компьютера-клиента имеет дело с экранной формой. В ней он задает необходимые параметры информации. Интерфейсная часть одну и ту же информацию может представлять в различном виде.
Сервер в клиент-серверной среде обычно предназначен для хранения данных и управления ими. Именно сервер выполняет большинство операций с данными. Сервер называют также прикладной частью модели клиент-сервер, так как именно он выполняет запросы клиентов. Обработка данных на сервере состоит из их сортировки, извлечения затребованной информации и отправки ее по адресу пользователя. ПО предусматривает также обновление, удаление, добавление и защиту информации.
Технология клиент-сервер создает мощную среду, обладающую множеством реальных преимуществ. В частности, хорошо спланированная клиент-серверная система обеспечивает относительно недорогую платформу, которая обладает в то же время вычислительными возможностями мэйнфрейма и легко настраивается на выполнение конкретных задач. Кроме того, в среде клиент-сервер резко уменьшается сетевой трафик, так как по сети пересылаются только результаты запросов. Файловые операции выполняются в основном более мощным сервером, поэтому запросы лучше обслуживаются. Это означает, что нагрузка на сеть распределяется более равномерно, чем в традиционных сетях на основе файл-сервера. Уменьшается потребность компьютеров-клиентов в ОЗУ, так как вся работа с файлами выполняется на сервере. По этой же причине на компьютерах-клиентах уменьшается потребность в дисковом пространстве. Упрощается управление системой, контроль ее безопасности становится проще, так как все файлы и данные размещаются на сервере. Упрощается резервное копирование.
Как и любая другая сеть, Интернет состоит из множества компьютеров, соединенных между собой линиями связи, и установленного на этих компьютерах программного обеспечения.
Тип программного обеспечения определяется идеологией, называемой и описанной выше клиент/сервером, которая составляет основу всех сервисов Интернета. Каждая операция в сети Интернет состоит из взаимодействия трех элементов: клиента, сервера, сети Интернет.
Под словом «клиент» подразумевают программы, при помощи которых индивидуальный пользователь обращается к тому или иному сервису сети Интернет. Слово «сервер» сегодня имеет несколько значений. Это может быть программа, которая предоставляет клиентам различные данные, компьютер, на котором выполняется эта программа, или же сочетание компьютера и программы.
WWW — это глобальная гипертекстовая система, организованная на базе Internet. WWW представляет собой механизм, при помощи которого связывается информация, доступная посредством многочисленных Web-серверов во всем мире. Web-сервер — это программа, которая умеет получать http-запросы и выполнять в соответствии с этими запросами определенные действия, например запускать приложения и генерировать документы.