Internet Server Application Programming Interface (ISAPI) — це API для Internet Information Services, колекції мережних служб Microsoft Windows.
ISAPI також реалізований в модулі mod_isapi.dll для Apache For Win32, так що серверні вебзастосунки, написані для Microsoft IIS, можуть працювати і з сервером Apache.
ISAPI-застосунки ISAPI складається з двох складників: розширень і фільтрів. Це єдині два типи застосунків, що їх можна розробити використовуючи ISAPI. І фільтри, і розширення мусять бути скомпільовані в DLL-файли, які тоді реєструються в IIS, щоб виконуватись на сервері.
ISAPI-застосунок можна написати на будь-якій мові, яка дозволяє експортування стандартних функцій C, наприклад C, С++, Delphi. Наявні кілька бібліотек, що спрямовані на полегшення розробляння ISAPI-застосунків. MFC містить класи для розробляння ISAPI-застосунків. На додачу, існує технологія ATL Server, яка містить бібліотеку C++ призначену для розробляння застосунків ISAPI.
Розширення Розширення ISAPI це справжні застосунки, які біжуть на IIS. Вони мають доступ до всього функціоналу, що його надає IIS. Розширення ISAPI втілюються як DLL-бібліотеки, які завантажуються в процес контрольований IIS. Клієнти можуть доступатись до розширень ISAPI так само як вони доступаються до статичної HTML-сторінки. Певні файлові розширення або й цілі теки чи сайти можна замапити, щоб їх опрацьовували розширення ISAPI.
Фільтри Фільтри ISAPI використовують, щоб змінити чи розвинути функціональність, що її надає IIS. Вони завжди біжуть на IIS-сервері і фільтрують кожен запит допоки не знайдуть той, що мають обробити. Фільтри можна запрограмувати так, щоб вони перевіряли і змінювали як надхідний так і вихідний потік даних. Запрограмовані і сконфігуровані пріоритети визначають порядок у якому фільтри викликають.
Завдання, які зазвичай виконують ISAPI-фільтри: Зміна даних запиту (URL-и або заголовки) відправленого клієнтом Керування тим, який фізичний файл відповідає якому URL Керування іменем користувача і паролем за умови використання анонімної чи базової автентифікації Зміна чи аналіз запиту після завершення автентифікації Зміна відповіді, що йде назад до клієнта Виконання нестандартної обробки відповідей «доступ заборонено» Виконання обробки по завершенні запиту Виконання обробки по закриттю зв'язку з клієнтом Здійснення особливого логування або аналізу трафіку. Здійснення нестандартної автентифікації. Уживання шифрування і стискання.
Дивись також SAPI
Примітки