perlwin32faq2 - PerlIS - Perl pour ISAPI |
perlwin32faq2 - PerlIS - Perl pour ISAPI
À propos de Perl pour ISAPI.
Des informations sur Perl pour ISAPI peuvent aussi être trouvées sur la page perlwin32faq6 et la page perlwin32faq7.
ISAPI (Internet Server Application Programming Interface) est une API pour écrire des extensions de serveurs Web. Développée à l'origine par Process Software, et adoptée par Microsoft comme API standard pour son serveur. Elle complète ou remplace Common Gateway Interface (CGI), le protocole standard interprocess pour écrire des extensions aux serveurs Web.
L'avantages principal de ISAPI sur CGI est l'utilisation des librairies dynamiques (DLL) pour communiquer avec les composants d'extension, plutôt que les variables d'environnement et les I/O standard comme fait CGI. Quand un nouveau processus est démarré sur les plates-formes Win32, beaucoup de ressources sont consommées, et les appels DLL éliminent le besoin d'un nouveau processus, donc diminuent le temps d'exécution.
Bien que développé à l'origine pour Microsoft Internet Information Server, beaucoup de serveurs Web hébergés sur Windows-NT supportent maintenant ISAPI. Voir Quels serveurs HTTP supportent Perl pour Win32? pour trouver les noms de quelques-uns d'entre eux. Si votre serveur n'est pas dans la liste, consultez sa documentation.
Perl pour ISAPI, est une extension ISAPI qui exécute les scripts Perl sur les plates-formes Win32.
Perl pour ISAPI est principalement utilisé pour créer des contenus dynamiques sur les sites Web. Écrire des scripts perl tournant sous PerlIS n'est pas très différent d'écrire des scripts pour Common Gateway Interface (CGI).
Perl pour ISAPI n'a pas vraiment d'utilité générale. Pour de la programmation plus générale, restez sur l'interpréteur Perl (perl.exe).
Vous pouvez rencontrer Perl pour ISAPI sous le nom de PerlIS. PerlIS est le nom de la DLL du Perl pour ISAPI.
Perl pour ISAPI est inclus dans la distribution d'ActivePerl. Vous pouvez l'installer optionnellement quand vous installez ActivePerl.
La réponse courte est : c'est plus rapide. La réponse longue est un peu plus technique, mais ressemble à ceci :
L'avantage principal de PerlIS sur perl.exe est que PerlIS tourne comme une DLL dans l'espace de processus du serveur Web. Parce que les plates-formes Win32 créent un espace protégé pour chaque processus démarré, beaucoup de ressources sont consommées à la création d'un nouveau processus. Passer les scripts à un interpréteur, comme perl.exe, requiert de démarrer un nouveau processus pour chaque script, ce qui est coûteux en terme de ressources systèmes.
Les DLLs, d'un autre côté, n'ont pas besoin d'avoir leur propre espace de processus; elles utilisent l'espace du processus qui les appelle. Elles ne requièrent que peu de ressources pour démarrer, et une fois chargées elles le restent jusqu'à la fin du processus. PerlIS exécute les scripts Perl plus rapidement que perl.exe.
Davantage de précautions doivent être prises lors de l'écriture d'applications PerlIS. Il est difficile de planter un serveur web avec des CGI, mais, parce que la DLL PerlIS tourne dans le même espace de processus que le serveur, votre serveur est plus susceptible de planter à cause d'une erreur de programmation.
Le code source de Perl pour ISAPI n'est pas distribué au public.
Cette FAQ a été à l'origine assemblée et maintenue par Evangelo Prodromou. Elle a été révisée et mise à jour par Brian Jepson de O'Reilly and Associates, et David Grove et David Dmytryshyn d'ActiveState.
Cette FAQ est dans le domaine public. Si vous l'utilisez, cependant, vérifiez, s'il vous plaît, que vous donniez le crédit aux auteurs originaux.
Cette traduction française correspond à la version anglaise distribuée avec perl 5.8.0. Pour en savoir plus concernant ces traductions, consultez http://www.enstimac.fr/Perl/ .
Fabien Martinet <ho.fmartinet@cma-cgm.com>
Jean-Louis Morel <jl_morel@bribes.org> (mise à jour perl 5.8.0)
perlwin32faq2 - PerlIS - Perl pour ISAPI |