Variables d'environnement CGI
Les variables d'environnement CGI sont des variables transmises à un programme CGI, par le serveur Web l'invoquant, lors de son exécution.
Elles fournissent des informations sur la requête effectuée par le client, sur le serveur et également sur le client lui-même. Par exemple, lorsqu'on effectue une recherche sur un site qui fonctionne avec des CGI, le script récupérera les termes de la recherche avec la variable d'environnement « QUERY_STRING ».
Liste des variables CGI
Variables en rapport avec le serveur
- SERVER_SOFTWARE
- Le nom et la version du serveur HTTP répondant à la requête. (Format : nom/version)
- SERVER_NAME
- Le nom d'hôte, alias DNS ou adresse IP du serveur.
- GATEWAY_INTERFACE
- La révision de la spécification CGI que le serveur utilise. (Format : CGI/révision)
Variables spécifiques à la requête
- SERVER_PROTOCOL
- Le nom et la révision du protocole dans lequel la requête a été faite (Format : protocole/révision)
- SERVER_PORT
- Le numéro de port sur lequel la requête a été envoyée.
- REQUEST_METHOD
- La méthode utilisée pour faire la requête. Pour HTTP, elle contient généralement « GET » ou « POST ».
- PATH_INFO
- Le chemin supplémentaire du script tel que donné par le client. Par exemple, si le serveur héberge le script « /cgi-bin/monscript.cgi » et que le client demande l'url «
http://serveur.org/cgi-bin/monscript.cgi/marecherche
», alors PATH_INFO contiendra « marecherche ».
- Le chemin supplémentaire du script tel que donné par le client. Par exemple, si le serveur héberge le script « /cgi-bin/monscript.cgi » et que le client demande l'url «
- PATH_TRANSLATED
- Contient le chemin demandé par le client après que les conversions virtuel → physique ont été faites par le serveur.
- SCRIPT_NAME
- Le chemin virtuel vers le script étant exécuté. Exemple : « /cgi-bin/script.cgi »
- QUERY_STRING
- Contient tout ce qui suit le « ? » dans l'URL envoyée par le client. Toutes les variables provenant d'un formulaire envoyé avec la méthode « GET » seront contenues dans le QUERY_STRING sous la forme « var1=val1&var2=val2&... ».
- REMOTE_HOST
- Le nom d'hôte du client. Si le serveur ne possède pas cette information (par exemple, lorsque la résolution DNS inverse est désactivée), REMOTE_HOST sera vide.
- REMOTE_ADDR
- L'adresse IP du client.
- AUTH_TYPE
- Le type d'identification utilisé pour protéger le script (s’il est protégé et si le serveur supporte l'identification).
- REMOTE_USER
- Le nom d'utilisateur du client, si le script est protégé et si le serveur supporte l'identification.
- REMOTE_IDENT
- Nom d'utilisateur (distant) du client faisant la requête. Le serveur doit supporter l'identification RFC 931. Cette variable devrait être utilisée à des fins de journaux seulement.
- CONTENT_TYPE
- Le type de contenu attaché à la requête, si des données sont attachées (comme lorsqu'un formulaire est envoyé avec la méthode « POST »).
- CONTENT_LENGTH
- La longueur du contenu envoyé par le client.
Variables provenant du client
Toutes les variables qui sont envoyées par le client sont aussi passées au script CGI, après que le serveur a rajouté le préfixe « HTTP_ ». Voici quelques exemples de variables possibles :
- HTTP_ACCEPT
- Les types de données MIME que le client accepte de recevoir.
- Exemple : text/*, image/jpeg, image/png, image/*, */*
- HTTP_ACCEPT_LANGUAGE
- Les langues dans lequel le client accepte de recevoir la réponse.
- Exemple : fr_CA, fr
- HTTP_USER_AGENT
- Le navigateur utilisé par le client.
- Exemple : Mozilla/5.0 (compatible; Konqueror/3; Linux)
- HTTP_COOKIE
- Les éventuels cookies. Une liste de paires clef=valeur contenant les cookies positionnés par le site, séparés par des points-virgules.
- HTTP_REFERER
- Une adresse absolue ou partielle de la page web à partir de laquelle la requête vers la page courante a été émise.
Articles connexes
- Variable d'environnement
Portail de l’informatique