CGI

De Justine's wiki
Version datée du 7 septembre 2019 à 10:13 par Justine (discussion | contributions) (Page créée avec « = Présentation de l'interface CGI = Un script CGI (Common Gateway Interface, traduisez interface de passerelle commune) est un programme exécuté par le serveur web (on... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Présentation de l'interface CGI

Un script CGI (Common Gateway Interface, traduisez interface de passerelle commune) est un programme exécuté par le serveur web (on dit généralement « côté serveur »), permettant d'envoyer au navigateur de l'internaute un code HTML créé automatiquement par le serveur (basé par exemple sur une autre application, telle qu'un système de gestion de base de données, d'où le nom de passerelle).

L'intérêt est de pouvoir proposer des pages dynamiques. L'application la plus fréquente consiste à avoir des formulaire html.

Programmation CGI

Un programme CGI peut être écrit dans n'importe quel langage capable de:

  • Lire des flux en entrée
  • Traiter des chaînes de caractère
  • Ecrire sur la sortie standard
  • Est exécutable par le serveur web.

Lorsque le serveur reçoit une requête, celui-ci va examiner l'extension du fichier demandé afin de déterminer son action :

  • Dans le cas d'un fichier HTML (extension .htm ou .html) : le serveur va générer des en-têtes de réponse HTTP qu'il va envoyer au navigateur demandant un fichier, puis envoyer le fichier HTML.
  • Dans le cas d'un fichier CGI écrit en Perl (extension .pl) : le serveur va exécuter l'interpréteur Perl, celui-ci va interpréter le code contenu dans le fichier portant l'extension .pl, puis envoyer les données au serveur, qui va les envoyer au navigateur, comme dans le cas d'un fichier HTML
  • Dans le cas d'un fichier CGI écrit en langage C (extension .exe sous Windows) : le serveur va exécuter le CGI, puis envoyer vers le navigateur les données que le programme lui aura transmis.

Ainsi, un script CGI reçoit une requête d'un serveur web, les traite, et renvoie des en-têtes de réponse et des tags HTML. Il commence par envoyer un en-tête HTTP appellé type MIME, qui détermine le type de contenu envoyé au serveur :

  • html :
content-type : text/html
  • Un gif:
content-type : image/gif
  • Un fichier quicktime :
content-type : text/quicktime

etc...