Интерфейс программирования приложений Интернет-сервера - 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.

Смотрите также

использованная литература

  1. ^ Хади., Нахари (2011). Безопасность интернет-коммерции: дизайн и разработка. Крутц, Рональд Л. Индианаполис: паб Wiley. п. 157. ISBN  9781118098899. OCLC  757394142.
  2. ^ https://bugs.php.net/bug.php?id=48299