Ingénieurs 2000
Filière Informatique et Réseaux

Projet Système 2001-2002
Christian Favier


Principe du CGI


Définition - Schéma - CGI avec Perl




Définition

CGI signifie Common Gateway Interface. Les scripts CGI ont pour objectif de dynamiser les pages WWW.
Ce sont des applications exécutées sur le serveur HTTP (apache ou autres).
Voici les différents langages actuellement supportés:
- C/C++
- Fortran
- PERL
- TCL
- Tous les scripts Unix shell
- Visual Basic
- AppleScript


Schéma



Description du schéma étape par étape:
1- Le client envoie une requête HTTP au serveur, par exemple: GET cgi-bin/toto.cgi HTTP/1.0
2- Le démon httpd du serveur reçoit la requête
3- Le serveur WWW exécute le script CGI
4- Le script renvoie la page dynamique sur la sortie standard
5- Le démon httpd renvoie la page au client (avec l'entête content-type)
6- La page s'affiche chez le client


CGI avec Perl



Description du schéma sur le principe du CGI avec Perl:
1- Le serveur exécute le script CGI
2- A l'aide de librairies, on peut récupérer les données d'entrée de la requête du client (méthode ReadParse de cgi-lib.pl par exemple)
L'entrée (la requête) est placée dans la variable d'environnement %ENV.
$ENV{'QUERY_METHOD'} contient la méthode de la requête: GET ou POST,
$ENV{'QUERY_STRING'} contient les paramètres de la requête pour la méthode GET,
STDIN est le File Handle contenant les paramètres de la requête pour la méthode POST.
La sortie (la réponse) s'effectue sur le File Handle STDOUT (ne pas oublier l'en-tête content-type).
3- Le serveur fait une compilation du script
4- Le script est alors exécuté et la sortie est renvoie au démon



Page réalisée par Christian Favier