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.
См. также
Примечания
Ссылки
- Пишем ISAPI-расширение - rsdn.ru
- SAPI / NSAPI - realcoding.net