|
ISAPI и NSAPI.
Главные
производители Web-серверов, фирмы
Microsoft и
Netscape,
быстро поняли слабые стороны
CGI-программирования, но при этом не
могли не видеть преимуществ
создания динамических Web-страниц.
Таким образом, вместо
использования отдельного процесса
для каждого запроса обе компании
написали собственные интерфейсы
API для
своих Web-серверов,
которые расширили их возможности.
Библиотеки DLL с интерфейсом
можно загрузить один раз, после
чего они будут готовы отвечать на
любое число запросов. Они работают
как часть процесса Web-сервера,
выполняя свой код в том же
пространстве памяти, в котором
работает и сам Web-сервер. Вместо
передачи информации в виде файлов,
расширения Web-серверов могут легко
передавать информацию в пределах
одного и того же адресного
пространства без записи в файл.
Благодаря этому Web-приложения стали
работать быстрее, с большей
эффективностью и с меньшими
затратами ресурсов.
Компания
Microsoft
разработала довольно простой
интерфейс Internet Server Application
Programming Interface (ISAPI) для своего
информационного сервера Internet
(Internet Information Server, или IIS), а компания
Netscape
предложила более сложный интерфейс
Netscape Application Programming Interface (NSAPI) для своего
семейства Web-серверов.
Delphi
предоставляет доступ к обоим
интерфейсам API с помощью
модулей NSAPI.PAS и ISAPI.PAS. Для запуска
приложений, рассматриваемых в этой
главе, необходимо запустить
серверы IIS, Netscape или один из
условно-бесплатных или свободно
распространяемых серверов,
соответствующих спецификации
ISAPI.
Совет |
Если
в данный момент у вас не
установлен Web-сервер, можно
загрузить Microsoft Personal Web Server с
Web-узла http://wwv.microsoft.com. Это
свободно распространяемый
продукт, который отвечает
требованиям ISAPI. С его помощью
вы выполните все примеры этой
главы. |
Использование
Web-серверов
Какой бы сервер вы
не использовали, при выполнении
приложений Web-сервера необходимо
иметь в виду некоторые моменты.
Прежде всего, поскольку расширения
представляют собой библиотеки
DLL,они будут загружаться в память и
оставаться там до тех пор, пока
работает Web-сервер. Следовательно,
если вы создаете и тестируете
приложения Delphi, вам, скорее всего,
придется закрыть Web-сервер, чтобы
перекомпилировать приложение,
поскольку Windows не позволит
перезаписать выполняемый в данный
момент файл. Это требование не
является догмой для всех
Web-серверов, но обязательно для
Microsoft Personal Web Server. Кроме того, обычно
Web-серверы требуют, чтобы базовый
каталог вашей системы служил
корневым каталогом для всех
HTML-файлов. Можно дать указание Delphi
создавать Web-приложения прямо в
этом каталоге, введя его полный
путь в строку ввода Output Directory,
которая находится во вкладке
Directories/Conditionals диалогового окна Project
Options (это окно открывается при
выборе команды Project^Options). Наконец,
можно даже отладить Web-приложения
прямо в процессе их работы. О том,
как это делается, можно узнать из
документации Delphi (соответствующие
инструкции можно также найти в
электронной справке в разделах
ISAPI^Debugging; Web-сервер при этом
используется в качестве главного
приложения (host application)). Однако необходимо
учесть, что все Web-серверы
конфигурируются по-разному,
поэтому перед работой стоит
заглянуть в документацию на ваш
сервер и документацию Delphi.
|
|