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
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. |