Common Gateway Interface

Common Gateway Interface

La Common Gateway Interface (littéralement « Interface de passerelle commune »), généralement abrégée CGI, est une interface utilisée par les serveurs HTTP. Elle a été normalisée et décrite en version 1.1 dans la RFC 3875[1].

Sommaire

Principe

Au lieu d'envoyer le contenu d'un fichier (page HTML, image...), un serveur HTTP utilisant une interface CGI 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.

Caractéristiques

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, Gambas, PHP, en script shell, en VB ou en tout autre langage de programmation.

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.

Exemple d'utilisation

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.

Limitations et évolutions

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 permet de 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 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) ou Perl (mod_perl). Python peut également s'utiliser en mode embarqué (mod_python ou mod_wsgi), mais est plus à l'aise dans un processus séparé, tout comme Java.

Notes et références

Voir aussi

Liens internes

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Common Gateway Interface de Wikipédia en français (auteurs)

Игры ⚽ Поможем написать реферат

Regardez d'autres dictionnaires:

  • 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 …   Wikipédia en Français

  • Common Gateway Interface — (en inglés «Pasarela de Interfaz Común», abreviado CGI) es una importante tecnología de la World Wide Web que permite a un cliente (explorador web) solicitar datos de un programa ejecutado en un servidor web. CGI especifica un estándar para… …   Enciclopedia Universal

  • Common Gateway Interface — Common Gateway Interface,   CGI …   Universal-Lexikon

  • Common Gateway Interface — This article is about the interface between a web server and an external application. For the term CGI in computer graphics, see Computer generated imagery. The Common Gateway Interface (CGI) is a standard (see RFC 3875: CGI Version 1.1) method… …   Wikipedia

  • Common Gateway Interface — Das Common Gateway Interface (CGI) ist ein Standard für den Datenaustausch zwischen einem Webserver und dritter Software, die Anfragen bearbeitet. CGI ist eine schon länger bestehende Variante, Webseiten dynamisch bzw. interaktiv zu machen, deren …   Deutsch Wikipedia

  • common gateway interface —    (CGI)    Gateway standard for interfacing external applications with World    Wide Web servers. A CGI script is used to send forms based input via SENDMAIL to the external application and cause it to be output in the specified format …   IT glossary of terms, acronyms and abbreviations

  • Common Gateway Interface —    Abbreviated CGI. A standard way that programs can interface with Web servers and allow them to run applications such as search engines and to access databases and other back end applications.    CGI defines the field specifics and control tags …   Dictionary of networking

  • Simple Common Gateway Interface — o SCGI ( interfaz de entrada común simple ) es un protocolo que fue creado como alternativa al protocolo Common Gateway Interface (CGI). Es un estándar para aplicaciones que utilizan interfaces con servidores HTTP. Es muy similar al protocolo… …   Wikipedia Español

  • Simple Common Gateway Interface — The Simple Common Gateway Interface (SCGI) is a protocol for applications to interface with HTTP servers, an alternative to the CGI protocol. It is similar to FastCGI but is designed to be easier to implement.The specification document was placed …   Wikipedia

  • Simple Common Gateway Interface — Le protocole Simple Common Gateway Interface (SCGI) est le remplaçant du protocole CGI. Il est similaire à FastCGI, mais il est plus facile à mettre en place. Voir aussi FastCGI Web Server Gateway Interface Variables d environnement CGI NCSA… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”