Интерфейс программирования приложений Интернет-сервера - Internet Server Application Programming Interface
В Интерфейс программирования приложений Интернет-сервера (ISAPI) является N-ярус API из Информационные службы Интернета (IIS), Microsoft коллекция Windows услуги веб-сервера. Самым известным приложением IIS и ISAPI является Microsoft веб сервер.
ISAPI также был реализован Apache с mod_isapi модуль, чтобы серверные веб-приложения, написанные для Microsoft IIS, можно было использовать с Apache и другими сторонними веб-серверами, такими как Веб-сервер Zeus предлагают интерфейсы ISAPI.
Microsoft прикладное программное обеспечение веб-сервера называется Информационные службы Интернета, который состоит из нескольких «субприложений» и имеет очень широкие возможности настройки. 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 технология, которая включает библиотеку 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 можно установить на IIS
- Perl ISAPI (также известный как Perliis), доступен для бесплатной установки
- PHP, доступен для бесплатной установки, больше не поддерживается.[2]
Разработка ISAPI
Приложения ISAPI можно разрабатывать с использованием любого инструмента разработки, который может генерировать Windows DLL. Мастера для создания приложений инфраструктуры ISAPI доступны в инструментах разработки Microsoft начиная с Visual C ++ 4.0.
Смотрите также
использованная литература
- ^ Хади., Нахари (2011). Безопасность интернет-коммерции: дизайн и разработка. Крутц, Рональд Л. Индианаполис: паб Wiley. п. 157. ISBN 9781118098899. OCLC 757394142.
- ^ https://bugs.php.net/bug.php?id=48299