Common Gateway Interface

La Common Gateway Interface, 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, exécute un programme puis retourne le contenu généré, comme s'il s'agissait...



Catégories :

Serveur web - HTTP - Standard du Web

Recherche sur Google Images :


Source image : actuel.fr.selfhtml.org
Cette image est un résultat de recherche de Google Image. Elle est peut-être réduite par rapport à l'originale et/ou protégée par des droits d'auteur.

Définitions :

  • Programme qui traduit l'information depuis un serveur web puis l'affiche sur une page web ou dans un courrier électronique.... (source : metastar.co)
  • Spécification concernant l'interfaçage d'un serveur Web avec une application. Les CGI sont le pendant côté serveur des applets côté... (source : 0faute)
  • Script classique (développé en C, C++, Perl... ) servant à générer des pages à partir de données du serveur. (source : alti-media)

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 sert à 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é fréquemment utilisé pour en écrire, il est envisageable d'écrire un programme CGI en C, Python, Gambas, 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. Quand 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 dans ce cas dans sa base de données l'ensemble des 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 indispensable 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 sert à ne lancer le programme CGI qu'une seule fois, et non pas à chaque requête concernée ; cette technique nécessite une petite bibliothèque qui a été développée pour les principaux langages utilisés (C, Perl... ). Une autre solution est d'intégrer les langages directement dans le serveur HTTP sous forme de modules, ceci nécessitant une adaptation énormément plus lourde des interpréteurs et qui est propre au serveur HTTP. C'est le cas avec Apache pour des langages fréquemment employés pour les applications Web, comme PHP (configuré en module) ou Perl (mod_perl). Python peut aussi s'utiliser en mode embarqué (mod_python ou mod_wsgi), mais est plus à l'aise dans un processus scindé, tout comme Java.

Liens externes

Recherche sur Amazone (livres) :



Ce texte est issu de l'encyclopédie Wikipedia. Vous pouvez consulter sa version originale dans cette encyclopédie à l'adresse http://fr.wikipedia.org/wiki/Common_Gateway_Interface.
Voir la liste des contributeurs.
La version présentée ici à été extraite depuis cette source le 11/03/2009.
Ce texte est disponible sous les termes de la licence de documentation libre GNU (GFDL).
La liste des définitions proposées en tête de page est une sélection parmi les résultats obtenus à l'aide de la commande "define:" de Google.
Cette page fait partie du projet Wikibis.
Accueil Recherche Aller au contenuDébut page
ContactContact ImprimerImprimer liens d'évitement et raccourcis clavierAccessibilité
Aller au menu