Common Gateway Interface

Infos
La Common Gateway Interface (littéralement « Interface passerelle commune »), généralement abrégée CGI, est une interface normalisée utilisée par les serveurs HTTP. Ce dernier, au lieu d'envoyer le contenu d'un fichier (page HTML, image...), exécute un programme puis retourne le contenu généré, comme s'il s'agissait d'un contenu de fichier. CGI est le standard industriel qui indique comment transmettre la requête du serveur HTTP au programme
Common Gateway Interface

La Common Gateway Interface (littéralement « Interface passerelle commune »), généralement abrégée CGI, est une interface normalisée utilisée par les serveurs HTTP. Ce dernier, au lieu d'envoyer le contenu d'un fichier (page HTML, image...), exécute un programme puis retourne le contenu généré, comme s'il s'agissait d'un contenu de fichier. CGI est le standard industriel qui indique comment transmettre la requête du serveur HTTP au programme et comment récupérer la réponse générée. CGI permet de passer des paramètres au programme, de telle manière qu'il puisse en tenir compte pour générer les données. Un exemple classique de paramètre est la chaîne de caractères contenant les termes recherchés auprès d'un moteur de recherche. Une des caractéristiques de l'interface CGI est d'être indépendante de tout langage. Même si le langage Perl a historiquement été souvent utilisé pour en écrire, il est possible d'écrire un programme CGI en C, Python, PHP, en script shell ou en tout autre langage de programmation. Un exemple de programme CGI est celui qui fait fonctionner l'annuaire Web Open Directory Project. Lorsqu'un visiteur soumet une requête au site Web, le serveur HTTP transmet par CGI le terme qui a été saisi dans le formulaire de la page Web. Le programme CGI cherche alors dans sa base de données tous les sites contenant le terme, crée une page HTML contenant les résultats et la retourne au serveur HTTP qui va la transmettre au navigateur. Du point de vue du serveur HTTP, il est nécessaire de le configurer pour associer l'exécution du programme CGI à certaines URLs réclamées par les navigateurs. Par défaut, les serveurs se contentent généralement de retourner le contenu des fichiers. Comme cette technologie requiert qu'une nouvelle copie du programme soit lancée à chaque requête, elle surcharge rapidement les serveurs. Ceci a eu pour effet la création d'autres technologies plus flexibles et efficaces. FastCGI est une évolution basée sur CGI qui permettait de ne lancer le programme CGI qu'une seule fois, et non pas à chaque requête concernée ; cette technique nécessite une petite librairie qui a été développée pour les principaux langages utilisés (C, Perl...). Par la suite les langages ont été directement intégrés dans le serveur HTTP sous forme de modules, ceci nécessitant une adaptation bien plus lourde des interpréteurs et qui est propre au serveur HTTP. C'est le cas avec Apache pour des langages couramment employés pour les applications Web, comme PHP (configuré en module), Perl (mod_perl), Python (mod_python) ou parfois Java.

Voir aussi

===
Sujets connexes
Abréviation   Anglais   Annuaire Web   Apache HTTP Server   Base de données   C (langage)   Chaîne de caractères   ISAPI   Langage de programmation   Moteur de recherche   NCSA HTTPd   Open Directory Project   Page Web   Perl (langage)   Python (langage)   Serveur HTTP   Shell (informatique)   Site Web   Variables d'environnement CGI  
#
Accident de Beaune   Amélie Mauresmo   Anisocytose   C3H6O   CA Paris   Carole Richert   Catherinettes   Chaleur massique   Championnat de Tunisie de football D2   Classement mondial des entreprises leader par secteur   Col du Bonhomme (Vosges)   De viris illustribus (Lhomond)   Dolcett   EGP  
^