Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii_PO_KS.docx
Скачиваний:
24
Добавлен:
21.08.2019
Размер:
645.14 Кб
Скачать
  1. Серверные технологии и персональный веб-сервер

Основная задача веб-сервера - это обслуживание клиентов (об этом говорит само название - сервер, т.е. обслуживающий), а именно - поиск html-документов по запросу браузера (если этот документ существует физически) или динамическое их создание.

Общение web-сервера с клиентом (т.е. браузером) происходит по протоколу HTTP (Hyper Text Transfer Protocol, протокол передачи гипертекста).

Веб-сервер - это компьютерная программа, чья задача заключается в хранении файлов и ответе на запросы, поступающие по HTTP и близким протоколам. Веб-сервер функционирует на компьютере, подключенном к Интернету. Компьютер быть может полностью задействован для этой цели или выполнять одновременно и другие приложения. Для маленького веб-сайта это может быть простой персональный компьютер.

Сердце веб-сервера - это процесс под названием httpd. Буква в конце означает слово "демон" (daemon). Демон - это программа, которая исполняется непрерывно, но большую часть времени просто ожидает событий (посланий для обработки). Протокол HTTP функционирует поверх протокола TCP, транспортного протокола Интернета. TCP предоставляет каждому компьютеру несколько "портов". Веб-сервер связан с одним из таких портов, обычно это порт 80, хотя можно использовать и другие. Когда послание поступает на этот порт, оно передается демону. Последний запускает процесс обработки данного конкретного сообщения, а сам продолжает следить за поступлением новых сообщений. Таким образом, одновременно могут обрабатываться несколько посланий, а демон свободен от необходимости наблюдать за деталями этих процессов.

Реальный процесс, который выполняет веб-сервер, управляется HTTP-протоколом. Ранние версии этих программ, в сущности, выполняли просто команду get (получить). Эта команда получает от клиента послание, содержащее URL, который указывает на файл, хранящийся на сервере. Сервер находит файл и возвращает его в качестве ответа на запрос клиента. После этого HTTP-соединение для данного конкретного обмена посланиями прекращается.

По мере того, как веб-сайты становились больше, веб-сервера становились сложнее. В дополнение к полному набору команд HTTP, они поддерживают CGI-скрипты и другие расширения. Одно из требований к веб-серверам (и к веб-браузерам) заключается в сохранении поддержки предыдущих версий HTTP-протокола. Они должны быть готовы к получению посланий от любой версии протокола и правильно обрабатывать их. Затем, веб-сервера имеют постоянно усложняющуюся систему обеспечения безопасности.

Самые крупные веб-сайты столь загружены, что одного компьютера недостаточно. Есть несколько методов разделения нагрузки. Наиболее очевидный - просто продублировать данные на нескольких идентичных серверах. Это возможно, когда число запросов велико, а объем данных относительно невелик.

Поиском (или динамической генерацией) html-документов функции web-серверов не исчерпываются. Существуют задачи, которые может выполнить только сервер, а не клиент. Это, в частности, те функции, которые основаны на сборе и анализе данных, поступающих от многочисленных клиентов. Перечислим лишь некоторые из них:

Связь с серверными базами данных (например, динамическая публикация прайс-листов, обновление каталогов товаров, выполнение запросов к БД, например, динамическое формирование списков, отвечающих критерию поиска, и пр.)

Аутентификация пользователя, ограничение доступа в соответствии с правами клиента

Автоматическое формирование и рассылка почтовых сообщений (серверы новостей)

Ведение статистики посещений (подсчет общего числа посещений, числа уникальных клиентов, частоты использования различных версий браузера, отслеживание адресов, с которых пользователей попал на данный документ)

Поддержка гостевых книг, форумов, чатов, счетчиков посещений и пр.

Как взаимодействуют клиент и сервер?

Клиент (т.е. браузер) "не знает", какая операционная система установлена на сервере, какое программное обеспечение используется, и существуют ли там запрашиваемые HTML-документы физически или они генерируются динамически. Обращаясь к серверу, он должен получить нужный документ и проинтерпретировать его.

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

Взаимодействие между клиентом и сервером происходит по принципу "запрос- ответ". Этот запрос указывается в адресной строке браузера.

Простейший запрос имеет вид:

протокол://имя сервера Web-сервер, под управлением которого функционирует наш сайт, настроен таким образом, что при упоминании имени сервера инициализируется файл index.html (поэтому мы и не указываем его в адресной строке).

Для доступа к любому файлу, отличному от того, на который настроен web-сервер, его имя нужно указывать явно.

Расширение html говорит нам о том, что вызываемый файл не содержит серверных сценариев. (файлы, содержащие серверные сценарии, должны иметь расширения cgi, pl, asp или другие - в зависимости от языка сценария.)

Серверному сценарию могут передаваться параметры. В этом случае обращение к документу выглядит так:

протокол://имя сервера/путь и имя документа?параметры Обычно параметры передаются от одного серверного сценария другому. Пользователю, как правило, не приходится вводить их в адресной строке.

Пользователь вводит данные, подлежащие отправке на сервер, посредством форм. Адрес серверного сценария, принимающего данные, введенные пользователем при помощи формы, указывается в атрибуте action тэга <form ...

Для серверов, функционирующих под OC UNIX обычно использует сервер Apache, для серверов под MS Windows NT - MS IIS (Internet Information Server).

В принципе, серверный сценарий может создаваться на универсальном языке программирования, таком, например, как С или язык PERL (Practical Extraction and Report Languge). Последний, не будучи, вообще говоря, специализированным языком для серверных сценариев, нередко воспринимается именно как таковой, благодаря тем возможностям, которые он предоставляет для разработки именно серверных сценариев:

PERL доступен для большинства платформ (хотя "родной" для него платформой является ОС UNIX), удобен и достаточно прост и, кроме того, в Интернет существует библиотека программных модулей на PERL (она называется CPAN, Comprehensive Perl Archive Network). Сервер www.cpan.org имеет множество "зеркал", с которых можно скачать нужную программу.

В последнее время получила распространение технология PHP.

Компанией Microsoft разработана технология написания серверных сценариев, рассчитанная на применение web-сервера IIS. Она называется ASP (Active Server Pages, Активные серверные страницы). ASP-сценарии могут быть написаны на языках JScript и VBScript.

Персональные web-серверы

При создании web-сайта, не содержащего серверных сценариев (а только HTML- документы) разработчик вполне может обойтись без доступа к серверу. По окончании работы он просто передаст свои файлы администратору сервера или сам сбросит их на сервер, например, по FTP-доступу (если ему таковой предоставлен).

Если же web-сайт содержит серверные сценарии, в процессе разработки их необходимо тестировать. Для этого разработчику нужно имитировать web-сервер на своей рабочей станции. Для этого и используются так называемые персональные web- серверы - т.е. программные продукты, являющиеся, как правило, "усеченными", "домашними" версиями своих полнофункциональных собратьев.

Так "домашним" вариантом MS IIS является MS PWS (Personal Web Server). Хорошим сервером для отладки сценариев на языке PERL является Small HTTP Server.

Многие разработчики предпочитают пользоваться сервером Apache, несмотря на то, что он имеет текстовый интерфейс (не слишком удобный для избалованных графическими интерфейсами Windows-приложений программистов).

Все web-серверы предполагают назначение виртуального директория, т.е. псевдонима, который будет использоваться при обращении к web -сайту вместо физического адреса.

Personal Web Server (PWS) устанавливается под Windows версии не выше, чем Windows 98. В более поздних версиях, например, Windows XP, Internet Information Server (IIS) является системной компонентой. (Его следует установить при установке Windows XP или позднее через Пуск - Настройка - Панель управления - Установка и удаление программ - Установка компонент Windows.)

Персональный Web-сервер Microsoft и Персональный Web-сервер Frontpage идеально подходят для работы с Web-сайтами Frontpage. Их лучше всего использовать для тестирования сайтов и в качестве основных серверов сетей intranet небольших организаций.

Многие разработчики Web-сайтов, использующие Frontpage, создают свои сайты локально, в сети или даже на одиночном компьютере, и, прежде чем перемещать их на "настоящий" сервер, тестируют на Персональных Web-серверах. Персональные Web- серверы позволяют всесторонне проверить функционирование сайтов Frontpage, включая ссылки в Internet и Всемирную Паутину, работу продукта Компонент Frontpage, Мастера подключения к базам данных (Database Region Wizard), форм и всех остальных элементов, требующих взаимодействия между клиентом и сервером.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]