Internet Server Application Programming Interface (ISAPI) — це API для Internet Information Services, колекції мережних служб Microsoft Windows.

ISAPI також реалізований в модулі mod_isapi.dll для Apache For Win32, так що серверні вебзастосунки, написані для Microsoft IIS, можуть працювати і з сервером Apache.

ISAPI-застосунки

ред.

ISAPI складається з двох складників: розширень і фільтрів.[1] Це єдині два типи застосунків, що їх можна розробити використовуючи 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
  • Керування іменем користувача і паролем за умови використання анонімної чи базової автентифікації
  • Зміна чи аналіз запиту після завершення автентифікації
  • Зміна відповіді, що йде назад до клієнта
  • Виконання нестандартної обробки відповідей «доступ заборонено»
  • Виконання обробки по завершенні запиту
  • Виконання обробки по закриттю зв'язку з клієнтом
  • Здійснення особливого логування або аналізу трафіку.
  • Здійснення нестандартної автентифікації.
  • Уживання шифрування і стискання.

Дивись також

ред.

Примітки

ред.
  1. Hadi., Nahari (2011). Web commerce security : design and development. Krutz, Ronald L. Indianapolis: Wiley Pub. с. 157. ISBN 9781118098899. OCLC 757394142.