|  | <?xml version="1.0" encoding="ISO-8859-1"?> | 
|  | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | 
|  | <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!-- | 
|  | XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | 
|  | This file is generated from xml source: DO NOT EDIT | 
|  | XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | 
|  | --> | 
|  | <title>Apache et les variables d'environnement - Serveur Apache HTTP</title> | 
|  | <link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> | 
|  | <link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> | 
|  | <link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="./style/css/prettify.css" /> | 
|  | <script src="./style/scripts/prettify.min.js" type="text/javascript"> | 
|  | </script> | 
|  |  | 
|  | <link href="./images/favicon.ico" rel="shortcut icon" /></head> | 
|  | <body id="manual-page"><div id="page-header"> | 
|  | <p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p> | 
|  | <p class="apache">Serveur Apache HTTP Version 2.4</p> | 
|  | <img alt="" src="./images/feather.gif" /></div> | 
|  | <div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div> | 
|  | <div id="path"> | 
|  | <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.4</a></div><div id="page-content"><div id="preamble"><h1>Apache et les variables d'environnement</h1> | 
|  | <div class="toplang"> | 
|  | <p><span>Langues Disponibles: </span><a href="./en/env.html" hreflang="en" rel="alternate" title="English"> en </a> | | 
|  | <a href="./fr/env.html" title="Français"> fr </a> | | 
|  | <a href="./ja/env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | | 
|  | <a href="./ko/env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | | 
|  | <a href="./tr/env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> | 
|  | </div> | 
|  |  | 
|  | <p>Deux types de variables d'environnement affectent le serveur | 
|  | HTTP Apache.</p> | 
|  |  | 
|  | <p>Le premier type correspond aux variables d'environnement | 
|  | contrôlées par le système d'exploitation sous-jacent et définies | 
|  | avant le démarrage du serveur. Leurs valeurs peuvent être utilisées | 
|  | directement dans les fichiers de configuration, et peuvent | 
|  | éventuellement être transmises aux scripts CGI et SSI via la | 
|  | directive PassEnv.</p> | 
|  |  | 
|  | <p>Le second type correspond aux variables nommées appelées aussi | 
|  | <em>variables d'environnement</em> dans lesquelles le serveur HTTP | 
|  | Apache stocke des informations via un mécanisme spécial. Ces | 
|  | informations peuvent servir à contrôler diverses opérations comme | 
|  | l'enregistrement des traces ou le contrôle d'accès. On utilise aussi ces | 
|  | variables dans le mécanisme de communication avec les programmes externes | 
|  | comme les scripts CGI. Ce document présente différentes méthodes pour | 
|  | manipuler et utiliser ces variables.</p> | 
|  |  | 
|  | <p>Bien que ces variables soient référencées comme <em>variables | 
|  | d'environnement</em>, il ne faut pas les confondre avec les variables | 
|  | d'environnement contrôlées par le système d'exploitation sous-jacent. | 
|  | En fait, ces variables sont stockées et manipulées dans une structure | 
|  | interne à Apache. Elles ne deviennent de véritables variables | 
|  | d'environnement du système d'exploitation que lorsqu'elles sont mises à la | 
|  | disposition de scripts CGI et de scripts inclus côté serveur (SSI). Si vous | 
|  | souhaitez manipuler l'environnement du système d'exploitation sous lequel | 
|  | le serveur s'exécute, vous devez utiliser les mécanismes standards de | 
|  | manipulation de l'environnement fournis par l'interpréteur de commandes | 
|  | (shell) de votre système d'exploitation.</p> | 
|  | </div> | 
|  | <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#setting">Définition des variables d'environnement</a></li> | 
|  | <li><img alt="" src="./images/down.gif" /> <a href="#using">Utilisation des variables d'environnement</a></li> | 
|  | <li><img alt="" src="./images/down.gif" /> <a href="#special">Variables d'environnement à usage spécial</a></li> | 
|  | <li><img alt="" src="./images/down.gif" /> <a href="#examples">Exemples</a></li> | 
|  | </ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div> | 
|  | <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> | 
|  | <div class="section"> | 
|  | <h2><a name="setting" id="setting">Définition des variables d'environnement</a></h2> | 
|  |  | 
|  | <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code></li><li><code class="module"><a href="./mod/mod_env.html">mod_env</a></code></li><li><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></li><li><code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code></li><li><code class="module"><a href="./mod/mod_unique_id.html">mod_unique_id</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></code></li><li><code class="directive"><a href="./mod/mod_env.html#passenv">PassEnv</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code></li><li><code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></code></li><li><code class="directive"><a href="./mod/mod_env.html#unsetenv">UnsetEnv</a></code></li></ul></td></tr></table> | 
|  |  | 
|  | <h3><a name="basic-manipulation" id="basic-manipulation">Manipulations de base de l'environnement</a></h3> | 
|  |  | 
|  |  | 
|  | <p>La méthode la plus élémentaire pour définir une variable | 
|  | d'environnement au niveau d'Apache consiste à utiliser la directive | 
|  | inconditionnelle <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code>. Les variables peuvent aussi être transmises depuis | 
|  | l'environnement du shell à partir duquel le serveur a été démarré en | 
|  | utilisant la directive | 
|  | <code class="directive"><a href="./mod/mod_env.html#passenv">PassEnv</a></code>.</p> | 
|  |  | 
|  |  | 
|  | <h3><a name="conditional" id="conditional">Définitions conditionnelles en fonction des requêtes</a></h3> | 
|  |  | 
|  |  | 
|  | <p>Pour plus de souplesse, les directives fournies par le module | 
|  | <code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code> permettent de définir les | 
|  | variables d'environnement en tenant compte des caractéristiques | 
|  | de chaque requête. Par exemple, une | 
|  | variable pourrait n'être définie que lorsqu'un navigateur spécifique | 
|  | (User-Agent) a généré la requête, ou seulement quand un en-tête | 
|  | Referer particulier est présent. La directive | 
|  | <code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> du module | 
|  | <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> qui utilise l'option | 
|  | <code>[E=...]</code> pour définir | 
|  | les variables d'environnement apporte encore plus de souplesse.</p> | 
|  |  | 
|  |  | 
|  | <h3><a name="unique-identifiers" id="unique-identifiers">Identifiants uniques</a></h3> | 
|  |  | 
|  |  | 
|  | <p>Finalement, le module <code class="module"><a href="./mod/mod_unique_id.html">mod_unique_id</a></code> définit la variable | 
|  | d'environnement <code>UNIQUE_ID</code> pour chaque requête à une valeur | 
|  | qui est garantie unique parmi "toutes" les requêtes sous des | 
|  | conditions très spécifiques.</p> | 
|  |  | 
|  |  | 
|  | <h3><a name="standard-cgi" id="standard-cgi">Variables CGI standards</a></h3> | 
|  |  | 
|  |  | 
|  | <p>En plus de l'ensemble des variables d'environnement internes à la | 
|  | configuration d'Apache et de celles transmises depuis le shell, | 
|  | les scripts CGI	et les pages SSI | 
|  | se voient affectés un ensemble de variables | 
|  | d'environnement contenant des méta-informations à propos de la requête | 
|  | comme préconisé dans la | 
|  | <a href="http://www.ietf.org/rfc/rfc3875">spécification | 
|  | sur les CGIs</a>.</p> | 
|  |  | 
|  |  | 
|  | <h3><a name="caveats" id="caveats">Quelques mises en garde</a></h3> | 
|  |  | 
|  |  | 
|  | <ul> | 
|  | <li>Les directives de manipulation de l'environnement ne permettent | 
|  | pas de supplanter ou modifier les variables CGI standards.</li> | 
|  |  | 
|  | <li>Lorsqu'on utilise <code class="program"><a href="./programs/suexec.html">suexec</a></code> pour exécuter des | 
|  | scripts CGI, l'environnement est nettoyé et réduit à un ensemble de | 
|  | variables <em>sûres</em> avant l'exécution du script. La liste des | 
|  | variables <em>sûres</em> est définie à la compilation dans | 
|  | <code>suexec.c</code>.</li> | 
|  |  | 
|  | <li>Pour des raisons de portabilité, les noms des variables | 
|  | d'environnement ne peuvent contenir que des lettres, des chiffres, et | 
|  | le caractère "sousligné". En outre, le premier caractère ne doit pas | 
|  | être un chiffre. Les caractères qui ne satisfont pas à ces conditions | 
|  | seront remplacés par un caractère "sousligné" quand ils seront | 
|  | transmis aux scripts CGI et aux pages SSI.</li> | 
|  |  | 
|  | <li>Les contenus d'en-têtes HTTP transmis aux scripts de type | 
|  | CGI ou autre via des variables d'environnement constituent un | 
|  | cas particulier (voir plus loin). Leur nom est converti en | 
|  | majuscules et seuls les tirets sont remplacés par des | 
|  | caractères '_' ("souligné") ; si le format du nom de l'en-tête | 
|  | n'est pas valide, celui-ci est ignoré. Voir <a href="#fixheader">plus loin</a> pour une solution de | 
|  | contournement du problème.</li> | 
|  |  | 
|  | <li>La directive <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code> s'exécute assez tard au | 
|  | cours du traitement de la requête, ce qui signifie que des | 
|  | directives telles que <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> et <code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> ne verront pas | 
|  | les variables qu'elle aura définies.</li> | 
|  |  | 
|  | <li>Lorsque le serveur cherche un chemin via une <a class="glossarylink" href="./glossary.html#subrequest" title="voir glossaire">sous-requête</a> interne (par exemple la | 
|  | recherche d'un <code class="directive"><a href="./mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>), ou lorsqu'il génère un | 
|  | listing du contenu d'un répertoire via le module | 
|  | <code class="module"><a href="./mod/mod_autoindex.html">mod_autoindex</a></code>, la sous-requête n'hérite pas des | 
|  | variables d'environnement spécifiques à la requête. En outre, à cause | 
|  | des phases de l'API auxquelles <code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code> prend | 
|  | part, les directives <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> ne sont pas évaluées | 
|  | séparément dans la sous-requête.</li> | 
|  | </ul> | 
|  |  | 
|  | </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> | 
|  | <div class="section"> | 
|  | <h2><a name="using" id="using">Utilisation des variables d'environnement</a></h2> | 
|  |  | 
|  |  | 
|  | <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_authz_host.html">mod_authz_host</a></code></li><li><code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code></li><li><code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code></li><li><code class="module"><a href="./mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code></li><li><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_authz_core.html#require">Require</a></code></li><li><code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code></li><li><code class="directive"><a href="./mod/mod_access_compat.html#deny">Deny</a></code></li><li><code class="directive"><a href="./mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></code></li><li><code class="directive"><a href="./mod/mod_headers.html#header">Header</a></code></li><li><code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code></li></ul></td></tr></table> | 
|  |  | 
|  | <h3><a name="cgi-scripts" id="cgi-scripts">Scripts CGI</a></h3> | 
|  |  | 
|  |  | 
|  | <p>La communication d'informations aux scripts CGI constitue une des | 
|  | principales utilisations des variables d'environnement. Comme indiqué | 
|  | plus haut, l'environnement transmis aux scripts CGI comprend des | 
|  | méta-informations standards à propos de la requête, en plus des | 
|  | variables définies dans la configuration d'Apache. Pour plus de | 
|  | détails, se référer au | 
|  | <a href="howto/cgi.html">tutoriel CGI</a>.</p> | 
|  |  | 
|  |  | 
|  | <h3><a name="ssi-pages" id="ssi-pages">Pages SSI</a></h3> | 
|  |  | 
|  |  | 
|  | <p>Les documents inclus côté serveur (SSI) traités par le filtre | 
|  | <code>INCLUDES</code> du module <code class="module"><a href="./mod/mod_include.html">mod_include</a></code>, | 
|  | peuvent afficher les | 
|  | variables d'environnement à l'aide de l'élément <code>echo</code>, | 
|  | et peuvent utiliser des variables d'environnement dans les éléments | 
|  | de contrôle de flux pour rendre certaines parties d'une page | 
|  | conditionnelles en fonction des caractéristiques de la requête. | 
|  | Apache fournit aussi les variables d'environnement CGI standards | 
|  | aux pages SSI | 
|  | comme indiqué plus haut. Pour plus de détails, se référer au | 
|  | <a href="howto/ssi.html">tutoriel SSI</a>.</p> | 
|  |  | 
|  |  | 
|  | <h3><a name="access-control" id="access-control">Contrôle d'accès</a></h3> | 
|  |  | 
|  |  | 
|  | <p>L'accès au serveur peut être contrôlé en fonction de la valeur de | 
|  | variables d'environnement à l'aide des directives | 
|  | <code>allow from env=</code> et <code>deny from env=</code>. | 
|  | En association avec la directive | 
|  | <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, ceci confère une | 
|  | grande souplesse au contrôle d'accès au serveur en fonction des | 
|  | caractéristiques du client. Par exemple, vous pouvez utiliser ces | 
|  | directives pour interdire l'accès depuis un navigateur particulier | 
|  | (User-Agent). | 
|  | </p> | 
|  |  | 
|  |  | 
|  | <h3><a name="logging" id="logging">Enregistrement conditionnel des traces</a></h3> | 
|  |  | 
|  |  | 
|  | <p>Les variables d'environnement peuvent être enregistrées dans le | 
|  | fichier de log des accès à l'aide de l'option <code>%e</code> de la | 
|  | directive <code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code>. | 
|  | En outre, la décision de tracer ou non les requêtes peut être prise | 
|  | en fonction de l'état de variables d'environnement en utilisant la | 
|  | forme conditionnelle de la directive | 
|  | <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code>. En | 
|  | association avec la directive <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, ceci confère une grande souplesse au contrôle | 
|  | du traçage des requêtes. Par exemple, vous pouvez choisir de ne pas | 
|  | tracer les requêtes pour des noms de fichiers se terminant par | 
|  | <code>gif</code>, ou encore de ne tracer que les requêtes des clients | 
|  | n'appartenant pas à votre sous-réseau.</p> | 
|  |  | 
|  |  | 
|  | <h3><a name="response-headers" id="response-headers">En-têtes de réponse conditionnels</a></h3> | 
|  |  | 
|  |  | 
|  | <p>La directive <code class="directive"><a href="./mod/mod_headers.html#header">Header</a></code> | 
|  | peut se baser sur la présence ou l'absence d'une variable | 
|  | d'environnement pour décider si un certain en-tête HTTP sera placé | 
|  | dans la réponse au client. Ceci permet, par exemple, de n'envoyer un | 
|  | certain en-tête de réponse que si un en-tête correspondant est présent | 
|  | dans la requête du client.</p> | 
|  |  | 
|  |  | 
|  |  | 
|  | <h3><a name="external-filter" id="external-filter">Activation de filtres externes</a></h3> | 
|  |  | 
|  |  | 
|  | <p>Les filtres externes configurés par le module | 
|  | <code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code> à l'aide de la directive <code class="directive"><a href="./mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></code> peuvent être | 
|  | activés de manière conditionnelle en fonction d'une variable | 
|  | d'environnement à l'aide des options | 
|  | <code>disableenv=</code> et <code>enableenv=</code>.</p> | 
|  |  | 
|  |  | 
|  | <h3><a name="url-rewriting" id="url-rewriting">Réécriture d'URL</a></h3> | 
|  |  | 
|  |  | 
|  | <p>La forme <code>%{ENV:<em>variable</em>}</code> de | 
|  | <em>TestString</em> dans la | 
|  | directive <code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> | 
|  | permet au moteur de réécriture du module | 
|  | <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> de prendre des | 
|  | décisions conditionnées par des variables d'environnement. | 
|  | Notez que les variables accessibles dans | 
|  | <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> sans le préfixe | 
|  | <code>ENV:</code> ne sont pas de véritables variables | 
|  | d'environnement. Ce sont plutôt des variables spécifiques à | 
|  | <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> | 
|  | qui ne sont pas accessibles pour les autres modules.</p> | 
|  |  | 
|  | </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> | 
|  | <div class="section"> | 
|  | <h2><a name="special" id="special">Variables d'environnement à usage spécial</a></h2> | 
|  |  | 
|  |  | 
|  | <p>Des problèmes d'interopérabilité ont conduit à l'introduction de | 
|  | mécanismes permettant de modifier le comportement d'Apache lorsqu'il | 
|  | dialogue avec certains clients. Afin de rendre ces mécanismes aussi | 
|  | souples que possible, ils sont invoqués en définissant des variables | 
|  | d'environnement, en général à l'aide de la directive | 
|  | <code class="directive"><a href="./mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code>, bien que les | 
|  | directives <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code> et | 
|  | <code class="directive"><a href="./mod/mod_env.html#passenv">PassEnv</a></code> puissent aussi être | 
|  | utilisées, par exemple.</p> | 
|  |  | 
|  | <h3><a name="downgrade" id="downgrade">downgrade-1.0</a></h3> | 
|  |  | 
|  |  | 
|  | <p>Ceci force le traitement d'une requête comme une requête HTTP/1.0 | 
|  | même si elle a été rédigée dans un langage plus récent.</p> | 
|  |  | 
|  |  | 
|  | <h3><a name="force-gzip" id="force-gzip">force-gzip</a></h3> | 
|  |  | 
|  | <p>Si le filtre <code>DEFLATE</code> est activé, cette variable | 
|  | d'environnement ignorera les réglages accept-encoding de votre | 
|  | navigateur et enverra une sortie compressée inconditionnellement.</p> | 
|  |  | 
|  | <h3><a name="force-no-vary" id="force-no-vary">force-no-vary</a></h3> | 
|  |  | 
|  |  | 
|  | <p>Cette variable entraîne la suppression de tout champ | 
|  | <code>Vary</code> des en-têtes de la réponse avant que cette dernière | 
|  | soit renvoyée au client. Certains clients n'interprètent pas ce champ | 
|  | correctement, et la définition de cette variable permet de contourner | 
|  | ce problème, mais implique aussi la définition de | 
|  | <strong>force-response-1.0</strong>.</p> | 
|  |  | 
|  |  | 
|  | <h3><a name="force-response" id="force-response">force-response-1.0</a></h3> | 
|  |  | 
|  |  | 
|  | <p>Cette variable force une réponse en langage HTTP/1.0 aux clients | 
|  | qui envoient des requêtes dans le même langage. Elle fut implémentée à | 
|  | l'origine suite à des problèmes avec les mandataires d'AOL. Certains | 
|  | clients en langage HTTP/1.0 ne réagissent pas correctement face à une | 
|  | réponse en langage HTTP/1.1, et cette variable peut être utilisée pour | 
|  | assurer l'interopérabilité avec eux.</p> | 
|  |  | 
|  |  | 
|  |  | 
|  | <h3><a name="gzip-only-text-html" id="gzip-only-text-html">gzip-only-text/html</a></h3> | 
|  |  | 
|  |  | 
|  | <p>Positionnée à "1", cette variable désactive le filtre en sortie | 
|  | <code>DEFLATE</code> fourni par le module <code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code> pour les | 
|  | types de contenu autres que <code>text/html</code>. Si vous préférez | 
|  | utiliser des fichiers compressés statiquement, | 
|  | <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> évalue aussi la variable (non | 
|  | seulement pour gzip, mais aussi pour tous les encodages autres que | 
|  | "identity").</p> | 
|  |  | 
|  |  | 
|  | <h3><a name="no-gzip" id="no-gzip">no-gzip</a></h3> | 
|  |  | 
|  | <p>Quand cette variable est définie, le filtre <code>DEFLATE</code> du | 
|  | module <code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code> est désactivé, et | 
|  | <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> refusera de délivrer des ressources | 
|  | encodées.</p> | 
|  |  | 
|  |  | 
|  |  | 
|  | <h3><a name="no-cache" id="no-cache">no-cache</a></h3> | 
|  | <p><em>Disponible dans les versions 2.2.12 et ultérieures d'Apache</em></p> | 
|  |  | 
|  | <p>Lorsque cette variable est définie, | 
|  | <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> ne sauvegardera pas de réponse | 
|  | susceptible d'être mise en cache. Cette variable d'environnement | 
|  | n'a aucune incidence sur le fait qu'une réponse déjà enregistrée | 
|  | dans la cache soit utilisée ou non pour la requête courante.</p> | 
|  |  | 
|  |  | 
|  |  | 
|  | <h3><a name="nokeepalive" id="nokeepalive">nokeepalive</a></h3> | 
|  |  | 
|  |  | 
|  | <p>Quand cette variable est définie, la directive | 
|  | <code class="directive"><a href="./mod/core.html#keepalive">KeepAlive</a></code> est désactivée.</p> | 
|  |  | 
|  |  | 
|  |  | 
|  | <h3><a name="prefer-language" id="prefer-language">prefer-language</a></h3> | 
|  |  | 
|  | <p>Cette variable modifie le comportement du module | 
|  | <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code>. Si elle contient un symbole de | 
|  | langage (tel que <code>en</code>, <code>ja</code> | 
|  | ou <code>x-klingon</code>), <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> essaie de | 
|  | délivrer une variante dans ce langage. S'il n'existe pas de telle | 
|  | variante, le processus normal de | 
|  | <a href="content-negotiation.html">négociation</a> s'applique.</p> | 
|  |  | 
|  |  | 
|  |  | 
|  | <h3><a name="redirect-carefully" id="redirect-carefully">redirect-carefully</a></h3> | 
|  |  | 
|  |  | 
|  | <p>Cette variable force le serveur à être plus prudent lors de l'envoi | 
|  | d'une redirection au client. Elle est en général utilisée quand un | 
|  | client présente un problème connu avec les redirections. Elle fut | 
|  | implémentée à l'origine suite a un problème rencontré avec le logiciel | 
|  | WebFolders de Microsoft qui ne gère pas correctement les redirections | 
|  | vers des ressources de type répertoire via des méthodes DAV.</p> | 
|  |  | 
|  |  | 
|  |  | 
|  | <h3><a name="suppress-error-charset" id="suppress-error-charset">suppress-error-charset</a></h3> | 
|  |  | 
|  |  | 
|  | <p><em>Disponible dans les versions postérieures à 2.0.54</em></p> | 
|  |  | 
|  | <p>Quand Apache génère une redirection en réponse à une requête client, | 
|  | la réponse inclut un texte destiné à être affiché au cas où le client ne | 
|  | suivrait pas, ou ne pourrait pas suivre automatiquement la redirection. | 
|  | Habituellement, Apache marque ce texte en accord avec le jeu de caractères | 
|  | qu'il utilise, à savoir ISO-8859-1.</p> | 
|  | <p> Cependant, si la redirection fait référence à une page qui utilise un | 
|  | jeu de caractères différent, certaines versions de navigateurs obsolètes | 
|  | essaieront d'utiliser le jeu de caractères du texte de la redirection | 
|  | plutôt que celui de la page réelle. | 
|  | Ceci peut entraîner, par exemple, un rendu incorrect du Grec.</p> | 
|  | <p>Si cette variable d'environnement est définie, Apache omettra le jeu de | 
|  | caractères pour le texte de la redirection, et les navigateurs obsolètes | 
|  | précités utiliseront correctement celui de la page de destination.</p> | 
|  |  | 
|  | <div class="warning"> | 
|  | <h3>Note concernant la sécurité</h3> | 
|  |  | 
|  | <p>L'envoi de pages d'erreur sans spécifier un jeu de caractères peut | 
|  | conduire à des attaques de type "cross-site-scripting" pour les | 
|  | navigateurs qui ne respectent pas la spécification HTTP/1.1 (MSIE) et | 
|  | tentent de déduire le jeu de caractères à partir du contenu. De tels | 
|  | navigateurs peuvent être facilement trompés et utiliser le jeu de | 
|  | caractères UTF-7 ; les contenus des données en entrée de type UTF-7 | 
|  | (comme les URI de requête) ne seront alors plus protégés par les | 
|  | mécanismes d'échappement usuels conçus pour prévenir les attaques | 
|  | de type "cross-site-scripting".</p> | 
|  | </div> | 
|  |  | 
|  |  | 
|  |  | 
|  | <h3><a name="proxy" id="proxy">force-proxy-request-1.0, proxy-nokeepalive, proxy-sendchunked, | 
|  | proxy-sendcl, proxy-chain-auth, proxy-interim-response, proxy-initial-not-pooled</a></h3> | 
|  |  | 
|  | <p>Ces directives modifient le comportement protocolaire du module | 
|  | <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>.  Voir la documentation sur | 
|  | <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code> et <code class="module"><a href="./mod/mod_proxy_http.html">mod_proxy_http</a></code> pour plus de détails.</p> | 
|  |  | 
|  |  | 
|  | </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> | 
|  | <div class="section"> | 
|  | <h2><a name="examples" id="examples">Exemples</a></h2> | 
|  |  | 
|  |  | 
|  | <h3><a name="fixheader" id="fixheader">Transmission du contenu d'en-têtes non valides aux scripts | 
|  | CGI</a></h3> | 
|  |  | 
|  |  | 
|  | <p>Avec la version 2.4, Apache est plus strict avec la conversion | 
|  | des en-têtes HTTP en variables d'environnement dans | 
|  | <code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code> et d'autres modules : dans les versions | 
|  | précédentes, tout caractère invalide dans les noms d'en-têtes | 
|  | était tout simplement remplacé par un caractère '_', ce qui | 
|  | pouvait exposer à des attaques de type cross-site-scripting via | 
|  | injection d'en-têtes (voir <a href="http://events.ccc.de/congress/2007/Fahrplan/events/2212.en.html">Bogues | 
|  | du Web inhabituelles</a>, planche 19/20).</p> | 
|  |  | 
|  | <p>Si vous devez supporter un client qui envoie des en-têtes non | 
|  | conformes et si ceux-ci ne peuvent pas être corrigés, il existe | 
|  | une solution de contournement simple mettant en jeu les modules | 
|  | <code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code> et <code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code>, | 
|  | et permettant de prendre en compte ces en-têtes :</p> | 
|  |  | 
|  | <pre class="prettyprint lang-config"># L'exemple suivant montre comment prendre en compte un en-tête<br /> | 
|  | # Accept_Encoding non conforme envoyé par un client. | 
|  | # | 
|  | SetEnvIfNoCase ^Accept.Encoding$ ^(.*)$ fix_accept_encoding=$1 | 
|  | RequestHeader set Accept-Encoding %{fix_accept_encoding}e env=fix_accept_encoding</pre> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <h3><a name="misbehaving" id="misbehaving">Modification du comportement protocolaire face à des clients | 
|  | réagissant de manière non conforme</a></h3> | 
|  |  | 
|  |  | 
|  | <p>Les versions antérieures recommandaient l'ajout de ces lignes dans | 
|  | httpd.conf pour tenir compte de problèmes connus avec certains clients. | 
|  | Comme les clients concernés sont maintenant très peu utilisés, cet | 
|  | ajout n'est pratiquement plus nécessaire.</p> | 
|  | <pre class="prettyprint lang-config"># | 
|  | # The following directives modify normal HTTP response behavior. | 
|  | # The first directive disables keepalive for Netscape 2.x and browsers that | 
|  | # spoof it. There are known problems with these browser implementations. | 
|  | # The second directive is for Microsoft Internet Explorer 4.0b2 | 
|  | # which has a broken HTTP/1.1 implementation and does not properly | 
|  | # support keepalive when it is used on 301 or 302 (redirect) responses. | 
|  | # | 
|  | BrowserMatch "Mozilla/2" nokeepalive | 
|  | BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 | 
|  |  | 
|  | # | 
|  | # The following directive disables HTTP/1.1 responses to browsers which | 
|  | # are in violation of the HTTP/1.0 spec by not being able to grok a | 
|  | # basic 1.1 response. | 
|  | # | 
|  | BrowserMatch "RealPlayer 4\.0" force-response-1.0 | 
|  | BrowserMatch "Java/1\.0" force-response-1.0 | 
|  | BrowserMatch "JDK/1\.0" force-response-1.0</pre> | 
|  |  | 
|  |  | 
|  |  | 
|  | <h3><a name="no-img-log" id="no-img-log">Ne pas tracer les requêtes pour des images dans le fichier de | 
|  | trace des accès</a></h3> | 
|  |  | 
|  |  | 
|  | <p>Dans cet exemple, les requêtes pour des images n'apparaissent pas | 
|  | dans le fichier de trace des accès. Il peut être facilement adapté pour | 
|  | empêcher le traçage de répertoires particuliers, ou de requêtes | 
|  | en provenance de certains hôtes.</p> | 
|  | <pre class="prettyprint lang-config">SetEnvIf Request_URI \.gif image-request | 
|  | SetEnvIf Request_URI \.jpg image-request | 
|  | SetEnvIf Request_URI \.png image-request | 
|  | CustomLog logs/access_log common env=!image-request</pre> | 
|  |  | 
|  |  | 
|  |  | 
|  | <h3><a name="image-theft" id="image-theft">Prévention du "Vol d'image"</a></h3> | 
|  |  | 
|  |  | 
|  | <p>Cet exemple montre comment empêcher les utilisateurs ne faisant pas | 
|  | partie de votre serveur d'utiliser des images de votre serveur comme | 
|  | images en ligne dans leurs pages. Cette configuration n'est pas | 
|  | recommandée, mais elle peut fonctionner dans des circonstances bien | 
|  | définies. Nous supposons que toutes vos images sont enregistrées dans | 
|  | un répertoire nommé <code>/web/images</code>.</p> | 
|  | <pre class="prettyprint lang-config">SetEnvIf Referer "^http://www\.example\.com/" local_referal | 
|  | # Autorise les navigateurs qui n'envoient aucune information de Referer | 
|  | SetEnvIf Referer "^$" local_referal | 
|  | <Directory /web/images> | 
|  | Require env local_referal | 
|  | </Directory></pre> | 
|  |  | 
|  |  | 
|  | <p>Pour plus d'informations sur cette technique, voir le tutoriel sur | 
|  | ServerWatch | 
|  | "<a href="http://www.serverwatch.com/tutorials/article.php/1132731">Keeping Your Images from Adorning Other Sites</a>".</p> | 
|  |  | 
|  | </div></div> | 
|  | <div class="bottomlang"> | 
|  | <p><span>Langues Disponibles: </span><a href="./en/env.html" hreflang="en" rel="alternate" title="English"> en </a> | | 
|  | <a href="./fr/env.html" title="Français"> fr </a> | | 
|  | <a href="./ja/env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | | 
|  | <a href="./ko/env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | | 
|  | <a href="./tr/env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> | 
|  | </div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div> | 
|  | <script type="text/javascript"><!--//--><![CDATA[//><!-- | 
|  | var comments_shortname = 'httpd'; | 
|  | var comments_identifier = 'http://httpd.apache.org/docs/2.4/env.html'; | 
|  | (function(w, d) { | 
|  | if (w.location.hostname.toLowerCase() == "httpd.apache.org") { | 
|  | d.write('<div id="comments_thread"><\/div>'); | 
|  | var s = d.createElement('script'); | 
|  | s.type = 'text/javascript'; | 
|  | s.async = true; | 
|  | s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; | 
|  | (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); | 
|  | } | 
|  | else { | 
|  | d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); | 
|  | } | 
|  | })(window, document); | 
|  | //--><!]]></script></div><div id="footer"> | 
|  | <p class="apache">Copyright 2014 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> | 
|  | <p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- | 
|  | if (typeof(prettyPrint) !== 'undefined') { | 
|  | prettyPrint(); | 
|  | } | 
|  | //--><!]]></script> | 
|  | </body></html> |