Интерфейс прикладного программирования Интернет-сервера
Интерфейс программирования приложений интернет-сервера ( ISAPI ) — это n -уровневый API служб Internet Information Services (IIS), служб веб-серверов Microsoft набора на базе Windows . Наиболее известным применением IIS и ISAPI является веб-сервер Microsoft .
ISAPI также был реализован компанией Apache . mod_isapi , чтобы серверные веб-приложения, написанные для Microsoft IIS, можно было использовать с Apache. Другие сторонние веб-серверы, такие как Zeus Web Server, также предлагают интерфейсы ISAPI.
Программное обеспечение веб-сервера Microsoft называется Internet Information Services , оно состоит из ряда «подприложений» и легко настраивается. ASP.NET — это один из таких фрагментов IIS, позволяющий программисту писать веб-приложения на выбранном им языке программирования ( VB.NET , C# , F# ), который поддерживается Microsoft .NET CLR . ISAPI — это система программирования гораздо более низкого уровня, обеспечивающая гораздо лучшую производительность за счет простоты.
ISAPI-приложения
[ редактировать ]ISAPI состоит из двух компонентов: расширений и фильтров. [1] Это единственные два типа приложений, которые можно разрабатывать с использованием ISAPI. И фильтры, и расширения должны быть скомпилированы в файлы DLL, которые затем регистрируются в IIS для запуска на веб-сервере.
Приложения ISAPI можно писать на любом языке, который позволяет экспортировать стандартные функции C, например C, C++, Delphi. Доступна пара библиотек, которые помогают упростить разработку приложений ISAPI, а в Delphi Pascal — компоненты Intraweb для разработки веб-приложений. MFC включает классы для разработки приложений ISAPI. Кроме того, существует технология ATL Server , включающая библиотеку C++, предназначенную для разработки приложений ISAPI.
Расширения
[ редактировать ]Расширения ISAPI — это настоящие приложения, работающие в IIS. У них есть доступ ко всем функциям, предоставляемым IIS. Расширения ISAPI реализованы в виде DLL , которые загружаются в процесс, управляемый IIS. Клиенты могут получать доступ к расширениям ISAPI так же, как они получают доступ к статической HTML-странице. Определенные расширения файлов, целая папка или сайт могут быть сопоставлены для обработки с помощью расширения ISAPI.
Фильтры
[ редактировать ]Фильтры ISAPI используются для изменения или расширения функциональности, предоставляемой IIS. Они всегда работают на сервере IIS и фильтруют каждый запрос, пока не найдут тот, который нужно обработать. Фильтры можно запрограммировать для проверки и изменения как входящих, так и исходящих потоков данных. Внутренне запрограммированные и внешне настроенные приоритеты определяют порядок вызова фильтров.
Фильтры реализованы в виде DLL и могут быть зарегистрированы на сервере IIS на уровне сайта или на глобальном уровне (т. е. они применяются ко всем сайтам на сервере IIS). Фильтры инициализируются при запуске рабочего процесса и прослушивают все запросы к сайту, на котором он установлен.
Общие задачи, выполняемые фильтрами ISAPI, включают:
- Изменение данных запроса (URL или заголовков), отправленных клиентом
- Управление тем, какой физический файл сопоставляется с URL-адресом
- Управление именем пользователя и паролем, используемыми при анонимной или базовой аутентификации.
- Изменение или анализ запроса после завершения аутентификации
- Изменение ответа, возвращающегося клиенту
- Запуск пользовательской обработки ответов «отказано в доступе»
- Запуск обработки после завершения запроса
- Запускать обработку при закрытии соединения с клиентом
- Выполнение специального протоколирования или анализа трафика .
- Выполнение пользовательской аутентификации.
- Обработка шифрования и сжатия.
Общие приложения ISAPI
[ редактировать ]Это список распространенных приложений ISAPI, реализованных как расширения ISAPI:
- Активные серверные страницы (ASP), установленные в стандартной комплектации
- ActiveVFP , Active Visual FoxPro, установленный в IIS
- ASP.NET , стандартно установленный в IIS 6.0 и более поздних версиях.
- ColdFusion , более поздние версии ColdFusion можно установить в IIS.
- Perl ISAPI (он же Perliis), доступен для бесплатной установки.
- PHP доступен для бесплатной установки и больше не поддерживается. [2]
разработка ISAPI
[ редактировать ]Приложения ISAPI можно разрабатывать с использованием любого инструмента разработки, который может генерировать библиотеки DLL Windows . Мастера создания приложений платформы ISAPI доступны в инструментах разработки Microsoft начиная с Visual C++ 4.0.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Хади., Нахари (2011). Безопасность веб-коммерции: проектирование и разработка . Круц, Рональд Л. Индианаполис: Wiley Pub. п. 157. ИСБН 9781118098899 . OCLC 757394142 .
- ^ «PHP :: Ошибка № 48299 :: В пакете отсутствует php5isapi.DLL» .