FastCGI
FastCGI est une technique permettant la communication entre un serveur web et un logiciel indépendant, c'est une évolution de Common Gateway Interface, abrégée en CGI, signifiant en anglais « Interface passerelle commune ».
CrĂ©Ă©e en 1996 pour gĂ©rer les applications dynamiques des applications du World Wide Web (souvent abrĂ©gĂ© en Web), la Common Gateway Interface permet lâexĂ©cution d'un nouveau processus Ă chaque requĂȘte, permettant ainsi la gĂ©nĂ©ration dynamique des pages.
Dans le cas de CGI, chaque requĂȘte lance une nouvelle instance de CGI, qui appellera le programme Ă exĂ©cuter. Le binaire cgi recrĂ©e Ă chaque appel le contexte de l'environnement d'exĂ©cution et ne permet pas de limiter le nombre de processus simultanĂ©s. Le nombre de processus simultanĂ©s sera donc dĂ©pendant du nombre de processus simultanĂ©s du serveur web.
Avec FastCGI, les applications générant les pages dynamiques peuvent se situer sur un ou des serveur(s) différent(s) du ou des serveur(s) hébergeant le service HTTP. Une variable est introduite permettant de déterminer le nombre minimum et maximum de processus CGI à exécuter, indépendamment du nombre de processus HTTP maximum.
En effet, lors d'une requĂȘte entrante, le serveur web envoie l'information de variable d'environnement et la requĂȘte de la page au processus FastCGI, soit Ă travers un socket de domaine Unix (IPC socket), soit un tube nommĂ©, soit via le protocole TCP[1].
Références
- « FastCGI:A High-Performance Web Server Interface » [archive du ], sur Open Market, Inc,
Voir aussi
Liens externes
- (en) site officiel des spécifications et logiciels liés au protocole FastCGI
- (en) FastCGI: A High-Performance Gateway Interface, Mark R. Brown, Open Market, Inc. 2 mai 1996, présentation de FastCGI pour WWW5
- Pour Apache : module fastCGI
- Apache 2.x :
- (en) mod_fcgid (fastcgid (fastCGI daemon) légÚrement différent et plus performant)
- (en) mod_proxy_fcgi (apache proxy module pour le protocole fastcgi intégré dans apache)
- (en) mod_proxy_fcgi alternative
- Apache 1.x & 2.x :
- (en) mod_fastcgi (fork of mod_fastcgi sur github)
- Apache 2.x :
- Conteneurs de Servlets (Apache Tomcat, JettyâŠ)
- (en) JFastCGI
- lighttpd :
- (en) mod_fastcgi. Celui-ci communique avec un serveur fastcgi externe, tel que PHP-FPM (dans le cas d'utilisation de PHP, inclus dans php).
- NGINX :
- (en) NginxHttpFcgiModule. Celui-ci communique avec un serveur fastcgi externe, tel que PHP-FPM (dans le cas d'utilisation de PHP, inclus dans php).
- Cherokee :
- (en) mod_fastcgi
- (en) Support de FastCGI pour Microsoft IIS
- (en) Support de FastCGI pour Hiawatha Webserver