Common gateway interface

La Common Gateway Interface (ou CGI, traduit littéralement par Interface Commune de Passerelle) est une importante technologie d'un serveur web. Ce dernier, au lieu de renvoyer le contenu d'un fichier (image ou HTML), va exécuter un programme localement ; ensuite, il va en retourner le contenu généré au client, comme s'il s'agissait d'un simple fichier. Le CGI est la norme qui indique comment passer l'information du client au programme et comment en récupérer le contenu généré. Un intérêt énorme de ce principe est de passer des arguments au programme, de telle manière qu'il génère des données différentes correspondant à ses arguments. Un exemple classique d'arguments passés est la chaîne de caractères contenant les termes recherchés auprès d'un moteur de recherche.

Une des caractéristiques des scripts CGI est d'être indépendant de tout langage. Même si le langage Perl est souvent utilisé pour en écrire, il est donc 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 de sites Internet «Open Directory Project», situé à l'adresse suivante : http://www.dmoz.org . Lorsque vous entrez un terme dans la boîte de recherche et que vous cliquez sur le bouton Search, le programme CGI «search» est appelé. Celui-ci cherchera dans sa base de données tous les sites contenant le terme que vous avez entré, créera une page HTML contenant les résultats et enverra cette page à votre navigateur. La recherche sur l'ODP est basée sur ce seul programme.

Du point de vue du serveur Web, CGI fonctionne de la façon suivante : certains emplacements sont définis pour être servis par un programme CGI (par exemple, http://www.unsite.com/cgi-bin/recherche.cgi). Lorsqu'une requête correspondant à cette adresse 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 a vite surchargé 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 interfacées web, comme Perl (mod_perl), Python ou Java.

Voir aussi

[ Variables d'environnement CGI ]




Tous les textes sont disponibles sous les termes de la Wikipedia se publica bajo la Licencia de Documentación Libre GNU.

Legal  -  Contacto