ISAPI

Internet Server API (ISAPI) — API для веб-сервера IIS (Internet Information Server) компании Microsoft. ISAPI позволяет программистам разрабатывать веб-приложения, которые работают намного быстрее, чем обычные программы CGI, потому что они более тесно интегрированы в веб-серверы. В дополнение к IIS, некоторые веб-серверы от компаний Microsoft, помимо поддержки ISAPI.[1]

Архитектура ISAPI примерно аналогична архитектуре модулей Apache и поддерживает не только веб-приложения, но и фильтры, которые не более чем вносят изменения в контент, уже сгенерированный каким-то иным веб-приложением (например, поддержку разных кодировок кириллицы).

В версиях IIS4 и 5 ISAPI-приложения исполнялись технологией COM+ в процессе-загрузчике COM+ mtx.exe, запускалось по экземпляру этого многопоточного процесса на веб-приложение (каталог веб-сайта), процесс автоматически перезапускался при критических ошибках внутри веб-приложения и исполнялся от имени пользователя IWAM_ИмяМашины (WAM означает Web Application Manager — wam.dll, компоненту IIS, связывающую основной процесс с mtx.exe). Это повышало надежность и безопасность веб-сервера в целом.

Тем не менее в версиях 4 и 5 ISAPI-фильтры исполнялись по-прежнему в основном процессе inetinfo.exe, в котором находилась и реализация HTTP.

В IIS 6, который использует http.sys в ядре для разбора HTTP, также и все фильтры, кроме фильтров «сырых данных», находятся в рабочих процессах.

ISAPI также реализован в модуле mod_isapi.dll для Apache for Win32, так что серверные веб-приложения, написанные для Microsoft IIS, могут работать и с сервером Apache.

См. также править

Примечания править

  1. ISAPI. Дата обращения: 5 января 2013. Архивировано 20 ноября 2012 года.

Ссылки править