videogameplayer -->
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 Python, C, en script shell ou en tout autre langage de programmation.
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 des modules spécifiques pour des langages couramment employés pour les applications Web, comme Python ( mod_Python), Perl ou Java.