ISAPI

ISAPI : Internet Server Application Programming Interface
est une interface de programmation (API) standard pour serveur HTTP : essentiellement Internet Information Server de Microsoft (IIS)

C'est une alternative à CGI qui présente les avantages suivants :

en contrepartie ISAPI n'est pas très facile isapi à implémenter. Il est souvent nécessaire de développer directement en C ou C++, Visual Basic ne permettant pas nativement d'écrire des DLLs supportant ISAPI.

ISAPI Supporte essentiellement 3 types d'application serveur suivantes :

(c) www.microsot.com

Architecture

les applications serveur peuvent s'executer :
- au sein du même process que IIS,
- dans le même espace mémoire que le service web

Plutot que d'utiliser des process distincts, on utilise les threads d'un même service, qui peuvent être exécutés en parallèle, indépendamment les uns des autres.
Concrètement la DLL est chargée une fois en mémoire lors de la première exécution et peut être réutilisée. il n'y a aps un nouveau service (process) déclenché à chaque nouvelle requête.

les extensions ISAPI s'implémentent sous forme de DLL, le module Active Server Pages aussi (ASP.DLL!). Mais une appli ASP n'est à l'évidence pas une DLL, mais un script...comme on l'a vu dans le chapitre ASP

Enchainement des étapes IIS Request Processing When IIS receives an HTTP request, it evaluates the URL to determine if the request is for static content (HTML), or dynamic content (ASP or ISAPI). Request Processing Actions Request Action
HTML Page IIS returns the page immediately in HTML format.
ISAPI extension IIS loads the ISAPI DLL (if it is not already running) and the request is sent to the extension through the Extension_Control_Block data structure.
File name extension mapped to a particular ISAPI extension IIS loads the appropriate DLL file and presents the request through the Extension_Control_Block data structure. The .asp extension, for example, is mapped to Asp.dll, so that all requests for files with an .asp extension will be directed to Asp.dll.
CGI application IIS creates a new process. IIS will then provide the query string and other parameters that are included with the request through the environment and standard input (STDIN) handle for the process.

 

Copyright (c) 2000 - Didier Deleglise
voir conditions d'utilisation de ce document.