Francais | English | Espanõl

Common Gateway Interface

Un article de Wikivisual, l'encyclopédie libre.

La Common Gateway Interface (littéralement « Interface passerelle commune »), généralement abrégée CGI, est une technologie des serveurs HTTP. Ce dernier, au lieu de renvoyer le contenu d'un fichier (image ou HTML), 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 passer l'information du serveur HTTP au programme et comment en récupérer le contenu généré. CGI permet de passer des paramètres au programme, de telle manière qu'il en tienne 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 des programmes CGI est d'être indépendant de tout langage. Même si le langage Perl est souvent utilisé pour en écrire, il est possible d'écrire un programme CGI en C, Python, 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 renvoie au navigateur par l'intermédiaire du serveur HTTP.

Du point de vue du serveur HTTP, CGI fonctionne de la façon suivante : certains répertoires sont définis pour être servis par un programme CGI. Lorsqu'une requête correspondant à ce répertoire est effectuée, le serveur appelle le programme CGI correspondant, en envoyant au programme toute donnée que le client aurait envoyée (par exemple, un mot-clé pour effectuer une recherche). Le résultat du programme CGI est récolté par le serveur, puis retourné au client.

Comme cette technologie requiert qu'une nouvelle copie du programme soit lancée à chaque requête, elle surcharge rapidement plusieurs serveurs. Ceci a eu pour effet la création d'autres technologies plus flexibles et efficaces, comme PHP ou des modules spécifiques pour des langages couramment employés pour les applications Web, comme Perl (mod_perl), Python (mod_python) ou Java.

[modifier] Voir aussi

[modifier] Liens internes

Variables d'environnement CGI ~ NCSA HTTPd ~ serveur HTTP

[modifier] Liens externes

de:Common Gateway Interface en:Common Gateway Interface eo:CGI es:Common Gateway Interface et:CGI fi:CGI he:Common Gateway Interface it:Common Gateway Interface ja:Common Gateway Interface lt:CGI nl:Common Gateway Interface no:Common Gateway Interface pl:CGI pt:CGI ru:CGI sl:Common Gateway Interface sv:Common Gateway Interface zh:通用网关接口

Outils personnels