Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Common Gateway Interface — Wikipédia
Common Gateway Interface — Wikipédia 👆 Click Here! Read More..
Un article de Wikipédia, l'encyclopédie libre.

Page d’aide sur l’homonymie

Pour les articles homonymes, voir CGI.

Schéma de fonctionnement du 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 par la RFC 3875[1].

Principe de fonctionnement

[modifier | modifier le code]

Au lieu d'envoyer le contenu d'un fichier (fichier HTML, image), le serveur HTTP exécute un programme, puis retourne le contenu généré. 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. 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 de programmation, du fait qu'elle utilise les flux standard et les variables d'environnement. Même si le langage Perl a historiquement été souvent utilisé pour écrire un programme CGI, il est possible d'en écrire en C, Python, PHP, script shell, en Java 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 URL. Par défaut, les serveurs se contentent généralement de retourner le contenu des fichiers.

Limitations et évolutions

[modifier | modifier le code]

Comme cette technologie requiert le lancement d'un nouveau processus à chaque requête, elle entraîne une charge de traitement évitable. Ceci a eu pour effet la création d'autres technologies plus 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 ; cette technique nécessite une petite bibliothèque logicielle, qui a été développée pour les principaux langages utilisés (C, Perl, Purebasic…).

Une autre solution consiste à intégrer le programme directement dans le serveur HTTP sous la forme d'un module, ce qui nécessite une adaptation sensiblement plus lourde, propre au serveur HTTP. C'est le cas avec Apache qui propose des dizaines de modules pour interpréter des langages, se connecter à des bases de données, etc.

Historique

[modifier | modifier le code]

L'interface CGI existe depuis 1993. Elle a d'abord été documentée par le National Centre for Supercomputing Applications américain NCSA, qui était l'éditeur du serveur HTTP NCSA HTTPd, le plus courant à l'époque. Elle était disponible à l'URL http://hoohoo.ncsa.uiuc.edu/cgi/. FastCGI a été présenté en 1996 à la conférence WWW5 à Paris. La RFC 3875[2] a été écrite en 2004 pour formaliser CGI/1.1.

Exemple d'utilisation

[modifier | modifier le code]

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 un document HTML contenant les résultats et le retourne au serveur HTTP qui va la transmettre au navigateur web.

Notes et références

[modifier | modifier le code]
  1. ↑ RFC3875: The Common Gateway Interface (CGI) Version 1.1.
  2. ↑ (en) « The Common Gateway Interface (CGI) Version 1.1 », Request for comments no 3875, octobre 2004

Voir aussi

[modifier | modifier le code]

Sur les autres projets Wikimedia :

  • Common Gateway Interface, sur Wikibooks

Articles connexes

[modifier | modifier le code]
  • Simple Common Gateway Interface
  • FastCGI
  • Web Server Gateway Interface
  • Variables d'environnement CGI
  • NCSA HTTPd
  • ISAPI
  • Serveur HTTP

Liens externes

[modifier | modifier le code]
  • (en) Site du NCSA en Illinois USA
  • (en) RFC 3875 – The Common Gateway Interface (CGI) Version 1.1
v · m
API Web
Côté serveur
Protocole de communication
  • CGI
  • SCGI
  • FCGI
  • AJP
  • WSRP
  • WebSocket
APIs serveur
  • C NSAPI (en)
  • C ASAPI
  • C ISAPI
  • COM ASP
  • Servlet
  • container
  • CLI OWIN (en)
  • ASP.NET Handler (en)
  • Python WSGI
  • Ruby Rack
  • JavaScript JSGI (en)
  • Perl PSGI
  • Portlet container
Modules apaches
  • mod_jk
  • mod_lisp (en)
  • mod_mono (en)
  • mod_parrot (en)
  • mod_perl
  • mod_php
  • mod_proxy (en)
  • mod_python (en)
  • mod_wsgi
  • mod_ruby (en)
  • Phusion Passenger
Sujets
  • Ressource du World Wide Web vs. Service web
  • Open API (en)
  • Webhook
  • Serveur d'applications
  • Scripting
Côté client
W3C
  • HTML5 audio (en)
  • Canvas
  • CORS
  • DOM
  • DOM events (en)
  • File (en)
  • Geolocation (en)
  • IndexedDB
  • SSE
  • SVG
  • Video
  • WebRTC
  • WebSocket
  • Web messaging (en)
  • Stockage web local
  • WebAuthn
  • Web worker (en)
  • XMLHttpRequest
Khronos
  • OpenCL
  • WebGL
Autres
  • Gears
  • Web SQL Database (formerly W3C)
Sujets
  • Page web dynamique
  • Open Web Platform (en)
  • Rich Internet application
  • icône décorative Portail de l’informatique
Ce document provient de « https://fr.teknopedia.teknokrat.ac.id/w/index.php?title=Common_Gateway_Interface&oldid=229060091 ».
Catégories :
  • Langage pour pages Web dynamiques
  • Serveur web
Catégories cachées :
  • Article contenant un appel à traduction en anglais
  • Portail:Informatique/Articles liés
  • Portail:Technologies/Articles liés

  • indonesia
  • Polski
  • الرية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصر
  • Nederlands
  • 本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українска
  • Tiếng Việt
  • Winaray
  • 中文
  • Русски
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id