SELFHTML/Quickbar
CGI/Perl
Conditions préalables/généralités
![]() |
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.
![]() ![]() |
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:![]() |
![]() |
avant:![]() |
![]() |
SELFHTML/Quickbar
CGI/Perl
Conditions préalables/généralités
Serge François, 13405@free.fr