ISAPI

ISAPI

ISAPI est l'acronyme de Internet Server Application Programming Interface.

Il s'agit de l'interface de programmation (ou API) de l'application IIS de Microsoft. Elle a été conçue par Process Software Corporation, Microsoft Corporation et un petit nombre d'autres éditeurs. L'objectif est de limiter la création de processus fils pour réduire la latence. Pour cela, ISAPI charge du code partagé depuis des DLL dans le processus du serveur.

Le désavantage d'ISAPI, comparé par exemple au CGI, est que le code chargé dans le serveur compromet son intégrité. Des extensions mal conçues peuvent avoir un impact sur les performances voire dans le pire des cas faire planter le serveur.

ISAPI est principalement utilisé dans la version "WebServer" de Windows Server 2003.

ISAPI est aussi pris en charge par Apache via son module mod_isapi qui permet aux applications web écrites pour IIS de fonctionner sur Apache.

Sommaire

Mise en œuvre d’ISAPI selon version IIS

Lorsqu'un navigateur demande un lien de type Default.Asp, IIS (w3wp.exe ou aspnet_wp.exe) intercepte la requête web et, après analyse de l'extension du fichier, le passe à l'application ISAPI de nom ssi.dll. SSI est un service géré par défaut en interne par IIS ; mais ce service peut être déplacé sous la forme d'un lien vers une bibliothèque logicielle (DLL) compatible ISAPI. Ce module travaille donc de manière indépendante du serveur.

Le plus grand désavantage d'ISAPI est l'augmentation du temps de développement par rapport à des technologies comme PHP et ASP qui supportent nativement la gestion des sessions. Des problèmes de sécurité apparaissent aussi du fait de l'utilisation du langage C et de la possibilité de saturation du cache (dépassements de tampon).

Contrairement à CGI, les versions ISAPI 5.0 et antérieures sont exécutées dans le même espace de travail qu’IIS. Ceci évite l'appel à de nombreuses fonctions interprocessus et le lancement d'applications externes, améliorant les performances. Malheureusement, une application ISAPI qui plante entraîne IIS avec elle. Depuis IIS 6, une application ISAPI (C, C++, Delphi) est compilée sous forme de DLL qui, après enregistrement auprès d’IIS et selon la configuration de ce dernier, peut s'exécuter dans un emplacement différent de celui d’IIS.

Les types d'applications gérés par ISAPI

Il existe deux types d'ISAPI : les extensions et les filtres. Dans tous les cas, ils sont mis en œuvre sous forme de DLL mais leurs méthodes d'initialisation, leur chargement, leur accès et leurs fonctionnalités peuvent différer.

Les filtres ont les limitations suivantes :

  • ils n'ont accès qu'au header de la page HTML, pas au body
  • ils se configurent pour un site, pas pour un répertoire virtuel
  • ils fonctionnent sur le mode synchrone et bloquent l'interface utilisateur si calcul long
  • ils ont accès à moins de fonctionnalités que les applications ISAPI

Extensions

Les extension ISAPI sont de vraies applications qui fonctionnent sur IIS. Ces applications ont accès à toutes les fonctionnalités proposées par IIS. Elles sont mises en œuvre sous forme de DLL et chargées sous contrôle d’IIS. Les clients web ont accès aux fonctionnalités de la même façon que s'ils avaient accès à une page HTML statique. L'accès à ISAPI se fait sous la forme d'un fichier, d'un répertoire ou d'un site.

Filtres

Les filtres ISAPI sont utilisés pour modifier ou améliorer les fonctionnalités offertes par défaut par IIS. Le fichier de configuration d'IIS définit l'ordre d'exécution des filtres et le niveau (sites ou répertoires). Mis en œuvre sous forme de DLL, les filtres sont toujours chargés dans IIS en tâche de fond. Ils examinent et modifient, si nécessaire, les données transitant par le protocole http.

Les tâches communes exécutées que gèrent les filtres ISAPI sont :

  • Changer le header et les URL demandés par le client (rewrite)
  • Contrôler le processus d'authentification par nom et le mot de passe
  • Modifier et analyser les requêtes après authentification réussie
  • Contrôler quel fichier est accessible aux URL ("access denied")
  • Contrôler les systèmes d'encryptage et de compression.
  • Fermer la session, l'authentification, quand un client quitte le serveur
  • Maintenir des statistiques du serveur (liste des activités, du trafic, des pages demandées)

Liens externes

dataweb.de

Liste des filtres ISAPI

Liste des extensions ISAPI

Liste des serveurs supportant ISAPI


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article ISAPI de Wikipédia en français (auteurs)

Игры ⚽ Нужно решить контрольную?

Regardez d'autres dictionnaires:

  • ISAPI —   [Abk. für Internet Server Application Programming Interface, dt. »Programmierschnittstelle für Anwendungen, die auf einem Internet Server laufen«], eine Schnittstelle, mit der Anwendungen auf einem Server programmiert werden können. Damit… …   Universal-Lexikon

  • ISAPI — Internet Server API (ISAPI) ist eine Programmierschnittstelle (Application Programming Interface) von Microsoft, die im Microsoft Internet Information Services (Webserver), dem Microsoft Exchange Server und im Microsoft Internet Security and… …   Deutsch Wikipedia

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

  • ISAPI — Internet Services API Es una interfaz, de programación de aplicaciones (API) para el servidor web de Microsoft, IIS (Internet Information Server). La ISAPI permite que los programadores puedan desarrollar aplicaciones basadas en web que se… …   Wikipedia Español

  • ISAPI — Internet Server Application Programming Interface (Computing » Software) …   Abbreviations dictionary

  • ISAPI — Internet server application program interface …   Medical dictionary

  • ISAPI — Internet Shopping/Service Application Programming Interface …   Acronyms

  • ISAPI — ● ►en sg. f. ►INTERNET Internet Server Application Programming Interface. spécification des DLL pouvant être utilisées par les serveurs web de Microsoft …   Dictionnaire d'informatique francophone

  • ISAPI — Internet Shopping/Service Application Programming Interface …   Acronyms von A bis Z

  • ISAPI — • Internet server application program interface …   Dictionary of medical acronyms & abbreviations

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”