Skip to main content

Qu'est-ce qu'un FastCGI?

FastCGI est une extension de l'interface de passerelle commune (CGI) qui a été développée par une société maintenant disparue appelée Open Market.FastCGI est disponible gratuitement en tant que norme ouverte.Il aborde certaines lacunes dans CGI qui limitent les performances.

Contrairement à CGI, FastCGI ne crée pas de nouveau processus pour chaque demande, minimisant ainsi la surcharge de la création et de la destruction de processus chaque fois qu'une demande est reçue.Cette surcharge peut être contournée en utilisant des interfaces de programme d'application (API) telles que l'interface de programmation d'applications NetScape Server (NSAPI) ou l'interface de programmation d'application de serveur Internet (ISAPI), mais parce qu'ils sont propriétaires, il existe une courbe d'apprentissage supplémentaire et des limites dans les langages pris en chargeà prendre en considération.Une autre lacune de CGI est le fait que certains cas de réutilisation ne peuvent pas être obtenus, tels que les connexions aux bases de données ou aux techniques de mise en cache.La manipulation des demandes peut être jusqu'à 30 fois plus rapide en utilisant FastCGI sur CGI conventionnel.

Avec FastCGI, plusieurs demandes peuvent être traitées sur une seule connexion, appelée multiplexage.Alternativement, plusieurs connexions peuvent être utilisées.Les demandes sont transmises à l'aide du protocole de transfert de fichiers (FTP) ou des sockets.La même connexion est ensuite utilisée pour renvoyer la réponse.

Bien que la connexion puisse être fermée à ce stade, le serveur Web et le processus persistent toujours.Cela offre de nombreux avantages.Par exemple, cela signifie que le serveur et le processus d'application peuvent être arrêtés ou redémarrés séparément.

FastCGI a été initialement développé par Open Market et implémenté dans son offre de serveur Web.L'interface peut cependant être implémentée sur n'importe quel serveur et elle a été rapidement en place sur un certain nombre d'autres serveurs Web de l'industrie.FastCGI est très compatible avec l'informatique distribuée, donc une application FastCGI peut être exécutée sur un serveur séparé au service Web.Cela offre tous les avantages d'améliorer la disponibilité des systèmes, d'améliorer l'évolutivité et d'augmenter la sécurité des systèmes car les composants sont isolés.En utilisant FastCGI à distance, il y a moins d'administration car le réseau interne peut gérer l'exécution des applications.

Tout comme une application CGI peut générer une réponse à partir d'une demande de protocole de transfert hypertexte (HTTP), il en va de même pour FastCGI.Il gère également des tâches telles que la vérification des types de données d'authentification et de conversion.Ces tâches sont manipulées en utilisant des rôles, qui peuvent être ajoutés et étendus librement.

FastCGI est simple à comprendre et fonctionnera avec presque tous les langues de programmation.Les processus sont isolés, donc les serveurs ne peuvent pas être écrasés par des problèmes spécifiques à l'application.Toute application construite avec le framework FastCGI est arrière avec de vieux serveurs exécutant CGI.De plus, la bibliothèque d'applications est conçue pour rendre la migration des applications CGI simples.