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

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

Ссылки