SELFHTML/Quickbar  CGI/Perl  Conditions préalables/généralités


Variables d'environnement CGI

Cette page est un document avec du texte et des informations

 Généralités sur les variables d'environnement CGI
 Récapitulatif des variables d'environnement CGI

 

Généralités sur les variables d'environnement CGI

Les variables d'environnement CGI font également partie de ce qu'est l' "interface CGI". Un  serveur WWW installé met de telles variables à disposition au niveau du système d'exploitation. À chaque appel d'un script CGI il sauvegarde des informations dans quelques unes de ces variables. Le script CGI peut alors lire le contenu de ces variables et l'utiliser pour ses propres objectifs. Le script CGI peut aussi lui-même affecter un contenu à quelques unes de ces variables ou modifier un contenu qui y est sauvegardé. Les variables d'environnement CGI existent indépendamment des variables que vous pouvez définir vous même dans un script CGI.

Pendant l'exécution d'un script CGI sont sauvegardées dans les variables d'environnement CGI des informations telles que par exemple le nom de l'ordinateur serveur ou des informations sur le navigateur utilisé par l'utilisateur qui a provoqué l'appel du programme CGI. Si pour l'appel d'un script CGI à partir d'un  formulaire la méthode GET a été employée, les données entrées dans le formulaire par l'utilisateur figurent dans une variable d'environnement CGI (voir aussi la partie  transmettre des données de formulaire avec GET ou POST).

Afin d'utiliser des variables d'environnement CGI à partir d'un programme CGI, vous devez vous servir des techniques de lecture des variables d'environnement dans le langage de programmation employé. Ainsi vous pouvez accéder avec Perl à des variables d'environnement par $ENV{'NOM_DE_LA_VARIABLE_ENVIRONNEMENT'}. Avec une instruction telle que print $ENV{'SERVER_NAME'};, vous pouvez par exemple obtenir le nom du serveur. Étant donné que les variables d'environnement sont sauvegardées par Perl dans un  Hash, vous pouvez, avec une instruction comme print %ENV, sortir toutes les variables d'environnement disponibles.

 

Récapitulatif des variables d'environnement CGI

La liste suivante respecte l'ordre alphabétique des noms de variables.

nom de variable explication
CONTENT_LENGTH contient le nombre de signes transmis à l'appel du script CGI par la méthode POST. Si par exemple le script CGI a été appelé lors de l'envoi d'un formulaire HTML et que POST y est mentionné comme méthode de transmission, se trouve dans cette variable d'environnement combien de signes le script doit lire de l' entrée standard pour lire complètement les données du formulaire transmises.
CONTENT_TYPE contient le type Mime des données transmises à l'appel du script CGI par la méthode POST. Si par exemple le script CGI a été appelé lors de l'envoi d'un formulaire HTML et que POST y est mentionné comme méthode de transmission, se trouve dans cette variable d'environnement le type Mime typique pour des formulaires HTML application/x-www-form-urlencoded.
GATEWAY_INTERFACE contient la version de l'interface CGI, soutenue par le serveur installé - par exemple CGI/1.1, si la version actuellement habituelle de définition de l'interface CGI est soutenue.
HTTP_ACCEPT contient la liste des types Mime acceptés par le navigateur WWW appelant. La mention */* signifie que le navigateur WWW accepte tout.
HTTP_REFERER contient l'adresse URL de la page WWW à partir de laquelle le script CGI a été appelé. La valeur n'est cependant pas transmise par tous les navigateurs WWW et n'est donc pas disponible dans tous les cas.
HTTP_USER_AGENT contient les informations de produit et de version du navigateur WWW appelant. Un script CGI peut rechercher de cette façon quel est le navigateur dont se sert l'utilisateur.
PATH_INFO contient des informations de chemin spéciales si le script a été appelé par la méthode GET, à savoir par rapport aux répertoires racine réglés sur le serveur.
PATH_TRANSLATED contient des informations de chemin spéciales si le script a été appelé par la méthode GET - À la différence de PATH_INFO il s'agit là cependant de mentions de chemin correspondant à l'arborescence de l'ordinateur serveur.
QUERY_STRING contient à l'appel par la méthode GET une chaîne de caractères avec des données qui ont été transmises au script. Quand un utilisateur a rempli un formulaire HTML à l'envoi duquel le script CGI a été appelé, les données du formulaire rempli figurent dans cette variable d'environnement. Les données sont codées d'après les règles du type Mime application/x-www-form-urlencoded.
REMOTE_ADDR contient l'adresse IP de l'ordinateur serveur par lequel le script CGI a été appelé s'il s'agit d'un autre serveur que celui sur lequel se trouve le script CGI. Cette valeur n'est cependant pas fixée dans tous les cas.
REMOTE_HOST contient l'adresse domaine de l'ordinateur serveur par lequel le script CGI a été appelé s'il s'agit d'un autre serveur que celui sur lequel se trouve le script CGI. Cette valeur n'est cependant pas fixée dans tous les cas.
REMOTE_IDENT contient des informations de protocole si, sur le serveur, tourne le protocole ident pour les accès protégés.
REMOTE_USER contient le nom de l'utilisateur qui a appelé le script CGI. Cette valeur n'est fixée que si l'authentification du serveur est branchée.
REQUEST_METHOD contient la commande HTTP avec laquelle le programme CGI a été appelé: soit GET soit POST. Un script CGI peut par exemple lire cette variable et décider ensuite comment il peut lire les données du formulaire: soit de l'entrée standard (pour la méthode POST) soit de la variable d'environnement QUERY_STRING (pour la méthode GET).
SCRIPT_NAME contient l'adresse URL du script CGI appelé par rapport à l'adresse domaine donc par exemple /cgi-bin/search.pl.
SERVER_NAME contient le nom du serveur (par exemple www.xy.com) ou l'adresse IP (par exemple 127.0.0.1).
SERVER_PORT contient le numéro de port qui a été installé pour le serveur WWW. Pour les serveurs WWW, celui-ci est normalement 80.
SERVER_PROTOCOL contient la version du protocole HTTP que soutient le serveur WWW installé, par exemple HTTP/1.0, si la version actuellement habituelle du protocole HTTP est soutenue.
SERVER_SOFTWARE contient la désignation de produit du logiciel serveur installé par exemple OmniHTTPd/2.0a1 (Win32; i386)

 

après: Server Side Includes en HTML
avant: Installer des scripts CGI sur un serveur WWW public
 

SELFHTML/Quickbar  CGI/Perl  Conditions préalables/généralités

© 1998 Stefan Münz / © 2001 Traduction  Serge François, 13405@free.fr