Интерфейс программирования приложений Интернет-сервера - Internet Server Application Programming Interface
Приложений Internet Server Programming Interface ( ISAPI ) является N-уровня API в Internet Information Services (IIS), Microsoft коллекция «s из Windows , услуг на основе веб - сервера. Наиболее известным приложением IIS и ISAPI является веб-сервер Microsoft .
ISAPI также была реализована с помощью Apache «s mod_isapi модуль таким образом , чтобы на стороне сервера веб - приложения , написанные для IIS от Microsoft может использоваться с Apache и других сторонних веб-серверов , таких как Zeus Web Server , интерфейсы предлагают ISAPI.
Прикладное программное обеспечение веб-сервера Microsoft называется Internet Information Services , которое состоит из ряда «подприложений» и легко настраивается. ASP.NET - одна из таких частей IIS, позволяющая программисту писать веб-приложения на любом языке программирования ( VB.NET , C # , F # ), поддерживаемом Microsoft .NET CLR . ISAPI - это система программирования гораздо более низкого уровня, обеспечивающая гораздо лучшую производительность за счет простоты.
Приложения ISAPI
ISAPI состоит из двух компонентов: расширений и фильтров. Это единственные два типа приложений, которые можно разрабатывать с использованием 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:
- Active Server Pages (ASP), установленный в стандартной комплектации
- ActiveVFP , Active Visual FoxPro, установленный на IIS
- ASP.NET , установленный в стандартной комплектации в IIS 6.0 и новее
- ColdFusion , более поздние версии ColdFusion можно установить на IIS
- Perl ISAPI (он же Perliis), доступный для бесплатной установки
- PHP , доступный для бесплатной установки, больше не поддерживается.
Разработка ISAPI
Приложения ISAPI можно разрабатывать с помощью любого инструмента разработки, который может генерировать Windows DLL. Мастера для создания приложений инфраструктуры ISAPI доступны в средствах разработки Microsoft начиная с Visual C ++ 4.0.