Retour à l'index

Les CGI


Introduction
Langages
Méthodes
Spécifications de l'interface
Avantages
Inconvénients
Spécification de l'interface


Cette partie présente les 3 façons principales de communication entre un serveur WEB et un programme CGI.

  • Les variables d'environnement
  • Ce sont des variables propres au système. Elles sont initialisées par le serveur WEB quand il exécute une programme CGI. Je ne vais en citer que quelques unes, les plus courantes.

    • CONTENT_LENGTH

    Cette variable donne la longueur, en bytes, des données envoyées au CGI quand on utilise la méthode POST. Elle est vide si on utilise la méthode GET.

    • CONTENT_TYPE

    CONTENT_TYPE fournit le type MIME des données envoyées au programme CGI appelé par la méthode POST. Si on utilise la méthode GET, CONTENT_TYPE est vide

    • QUERY_STRING

    QUERY_STRING contient l'information qui suit le caractère ? dans une URL qui est envoyée au programme CGI. Quand on utilise la méthode GET, QUERY_STRING contient les données d'entrée du programme. Avec la méthode POST, QUERY_STRING est vide à moins qu'il n'y ait quelque chose derrière l'URL du script (un ? suivi de texte)

    • REMOTE_ADDR

    REMOTE_ADDR contient l'adresse IP de l'ordinateur qui a effectué la requête. Cette variable permet de repérer, d'identifier des ordinateurs et d'effectuer quelque chose en conséquence (empêcher l'accès, donner des droits supplémentaires par exemple).

    • REMOTE_HOST

    REMOTE_HOST permet de connaître le nom de domaine de l'ordinateur qui a fait la requête. Cette variable est fort utilisée pour afficher des publicités en rapport avec le pays d'origine par exemple.

    • REQUEST_METHOD

    REQUEST_METHOD permet de connaître quelle méthode a été utilisée : GET ou POST? Cela sert pour connaître la manière dont on va traiter les données.

  • L'entrée standard

L'entrée standard (STDIN) est utilisée par le serveur WEB pour passer des informations au programme CGI quand la méthode POST est utilisée. Le serveur envoie aussi les variables d'environnement CONTENT_TYPE et CONTENT_LENGTH de telle manière que le programme CGI sache quel type de données il reçoit et sur quelle longueur. CONTENT_LENGTH contient la longueur des données quand elles sont sous forme URL-encoded; c'est-à-dire que les espaces sont remplacés par des signes +, les tildes (~) sont remplacés par %7E et ainsi de suite.

  • La sortie standard
  • Le programme CGI envoie les résultats vers la sortie standard (STDOUT soit l'écran en général). Ils peuvent être envoyés directement vers le browser du client ou être interprétés par le serveur qui va effectuer une nouvelle action. Les programmes CGI peuvent court-circuiter le serveur WEB et converser directement avec le navigateur.

    Dans les résultats renvoyés, le serveur cherche un des 3 en-têtes que le programme peut retourner :

    • Content-type : indique le type MIME des données. Généralement comme les programmes CGI renvoient de l'HTML, la ligne utilisée est Content-type: text/html\n\n.

    Il faut mettre 2 nouvelles lignes (\n) pour placer une ligne blanche après l'en-tête HTTP du serveur.

    • Location : indique au serveur que l'on fait référence à un autre document.
    • Status : c'est le code d'état renvoyé par le serveur au client. Format : nnn XXXXXXX où nnn est un nombre à 3 chiffres et XXXXXX le texte qui y correspond. Exemple : 404 Not found.



Page précédente | Introduction | Page suivante





© Rotule 1999 - 2002
Faites parvenir vos commentaires au Webmaster