ISAPI

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.