
Взаимодействие Web-сервера с другими программами. Скрипты cgi
CGI (Common Gateway Interface, общий шлюзовый интерфейс) относится к числу средств, без которых нельзя обойтись как при создании комплексных Web-узлов, так и при управлении ими. CGI обеспечивает возможность писать сценарии, которые позволяют разрабатывать управляемые пользователем интерактивные приложения.
Рис. 2. Общая схема работы CGI.
CGI - компонент программного обеспечения Web-сервера, который может взаимодействовать с другими программами, работающими на этом сервере. С помощью CGI Web-сервер может вызвать внешнюю программу и передать в нее пользовательские данные (например, информацию о том, с какой хост-машины пользователь установил соединение, или данные, введенные пользователем в HTML-форму). Эта программа затем обрабатывает полученные данные, и сервер передает результаты ее работы в Web-6payзep.
CGI обеспечивает средства динамического создания Web-страниц на основе вводимой информации, вводимой пользователями. За счет этого расширяется диапазон возможностей World Wide Web. Пользователь, не будучи ограниченным рамками заранее написанных документов, может использовать CGI-сценарии для создания широкого круга приложений - от обзоров до средств поиска, от программного обеспечения сервисных шлюзов Internet до игр и викторин. CGI обеспечивает возможность организовать подсчет количества пользователей, обратившихся к документу, более того, каждому из них может быть предложено расписаться в электронной книге гостей. Кроме того, CGI позволяет предоставлять пользователям любого рода информацию, регистрировать замечания клиентов и давать на них ответы.
ВЫБОР ПРОГРАММНОЙ ПЛАТФОРМЫ ДЛЯ ОРГАНИЗАЦИИ WEB-СЕРВЕРА
В настоящее время существует достаточно много программных платформ для организации Web-сервера. Как видно из рисунка приведенного в предыдущей главе, наиболее популярными является серверы Apache, Microsoft Internet Information Server и серверы компании Netscape Communications (Netscape Enterprise Server, Netscape Fast Server). В качестве программных платформ для создания Web-сервера используются платформы Windows NT, MacOS и различные UNIX-системы. Причем, наиболее популярными являются все-таки UNIX-платформы. Согласно тестам, проводимым специалистами, высокую производительность показал Netscape Enterprise Server на платформе Digital UNIX. Microsoft IIS оказался также достаточно производительным сервером, но он работает только с программным обеспечением Microsoft. Что касается сервера Apache, то он эффективно и бесперебойно работает в иК1Х-системах. В следующей таблице приводятся сравнительные характеристики различных Web-серверов.
Таблица.1 Сравнительные характеристики Web-серверов
+ да, - нет |
Apache 1.3.3 |
Microsoft US |
Netscape Enterprise Server 2.01 |
Novell Web Server 3.0 |
WebSite Professional | |||||
Платный |
- |
- |
+ |
Входит в IntranetWare |
+ | |||||
Виртуальные серверы |
+ |
+ |
+ |
+ |
+ | |||||
Автоматическое перенаправление URL/Несколько портов |
+ + |
+ + |
+ + |
|
+ + | |||||
Масштабирование на несколько процессоров |
+ |
+ |
+ |
- |
+ | |||||
Браузер |
- |
+ |
+ .. |
+ |
+ | |||||
Перенаправление URL на другие серверы |
+ |
+ |
+ |
+ |
+ | |||||
Работает как промежуточный сервер |
+ |
- |
- |
- |
- | |||||
Встроенный процессор поиска |
- |
+ |
+ |
+ |
+ | |||||
Отключение индексации каталогов |
+ |
+ |
+ |
+ |
+ | |||||
HTTP 1.1 Put |
+ |
+ |
+ |
- |
+ | |||||
Утилита контроля производительности отслеживает: | ||||||||||
Текущие соединения |
+ |
+ |
+ |
+ |
+ | |||||
Запросы CGI и другие API-запросы |
+ |
+ |
+ |
- |
+ | |||||
Байты переданные/принятые |
+ + |
+ + |
+ + |
+ + |
+ + | |||||
Файлы конфигурации сохраняются в Реестре/каталоге |
- + |
+ - |
+ + |
|
+ - | |||||
Протоколирование | ||||||||||
Стандартный формат регистрационного журнала CERN/NCSA |
+ + |
+ + |
+ + |
+ + |
+ + | |||||
Инструменты составления отчетов |
- |
+ |
+ |
- |
+ | |||||
Регистрация попыток доступа/обращений к страницам |
++ |
+ + |
+ + |
+ + |
+ + | |||||
Настраиваемые файлы регистрации |
+ |
- |
+^ |
- |
+ | |||||
Регистрация в базах данных ODBC/SQL |
|
+ + |
-- |
-- |
+ + | |||||
Записи в журнале выполняются CGI-сценариями |
+ |
+ |
+ |
- |
+ |