mirror of
https://github.com/apache/httpd.git
synced 2025-11-02 06:53:27 +03:00
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1776970 13f79535-47bb-0310-9956-ffa450edef68
560 lines
32 KiB
Plaintext
560 lines
32 KiB
Plaintext
<?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>
|
||
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
|
||
<!--
|
||
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||
This file is generated from xml source: DO NOT EDIT
|
||
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||
-->
|
||
<title>Apache et les variables d'environnement - Serveur Apache HTTP Version 2.5</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/quickreference.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.5</p>
|
||
<img alt="" src="./images/feather.png" /></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.5</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<61>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<72>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<74>l<EFBFBD>es par le syst<73>me d'exploitation sous-jacent et d<>finies
|
||
avant le d<>marrage du serveur. Leurs valeurs peuvent <20>tre utilis<69>es
|
||
directement dans les fichiers de configuration, et peuvent
|
||
<20>ventuellement <20>tre transmises aux scripts CGI et SSI via la
|
||
directive PassEnv.</p>
|
||
|
||
<p>Le second type correspond aux variables nomm<6D>es appel<65>es aussi
|
||
<em>variables d'environnement</em> dans lesquelles le serveur HTTP
|
||
Apache stocke des informations via un m<>canisme sp<73>cial. Ces
|
||
informations peuvent servir <20> contr<74>ler diverses op<6F>rations comme
|
||
l'enregistrement des traces ou le contr<74>le d'acc<63>s. On utilise aussi ces
|
||
variables dans le m<>canisme de communication avec les programmes externes
|
||
comme les scripts CGI. Ce document pr<70>sente diff<66>rentes m<>thodes pour
|
||
manipuler et utiliser ces variables.</p>
|
||
|
||
<p>Bien que ces variables soient r<>f<EFBFBD>renc<6E>es comme <em>variables
|
||
d'environnement</em>, il ne faut pas les confondre avec les variables
|
||
d'environnement contr<74>l<EFBFBD>es par le syst<73>me d'exploitation sous-jacent.
|
||
En fait, ces variables sont stock<63>es et manipul<75>es dans une structure
|
||
interne <20> Apache. Elles ne deviennent de v<>ritables variables
|
||
d'environnement du syst<73>me d'exploitation que lorsqu'elles sont mises <20> la
|
||
disposition de scripts CGI et de scripts inclus c<>t<EFBFBD> serveur (SSI). Si vous
|
||
souhaitez manipuler l'environnement du syst<73>me d'exploitation sous lequel
|
||
le serveur s'ex<65>cute, vous devez utiliser les m<>canismes standards de
|
||
manipulation de l'environnement fournis par l'interpr<70>teur de commandes
|
||
(shell) de votre syst<73>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 <20> usage sp<73>cial</a></li>
|
||
<li><img alt="" src="./images/down.gif" /> <a href="#examples">Exemples</a></li>
|
||
</ul><h3>Voir aussi</h3><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<6E>s</th><th>Directives Apparent<6E>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 <20>l<EFBFBD>mentaire pour d<>finir une variable
|
||
d'environnement au niveau d'Apache consiste <20> utiliser la directive
|
||
inconditionnelle <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code>. Les variables peuvent aussi <20>tre transmises depuis
|
||
l'environnement du shell <20> partir duquel le serveur a <20>t<EFBFBD> d<>marr<72> 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<71>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<63>ristiques
|
||
de chaque requ<71>te. Par exemple, une
|
||
variable pourrait n'<27>tre d<>finie que lorsqu'un navigateur sp<73>cifique
|
||
(User-Agent) a g<>n<EFBFBD>r<EFBFBD> la requ<71>te, ou seulement quand un en-t<>te
|
||
Referer particulier est pr<70>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<71>te <20> une valeur
|
||
qui est garantie unique parmi "toutes" les requ<71>tes
|
||
sous des conditions tr<74>s sp<73>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 <20> la
|
||
configuration d'Apache et de celles transmises depuis le shell,
|
||
les scripts CGI et les pages SSI
|
||
se voient affect<63>s un ensemble de variables
|
||
d'environnement contenant des m<>ta-informations <20> propos de la requ<71>te
|
||
comme pr<70>conis<69> dans la
|
||
<a href="http://www.ietf.org/rfc/rfc3875">sp<73>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<65>cuter des
|
||
scripts CGI, l'environnement est nettoy<6F> et r<>duit <20> un ensemble de
|
||
variables <em>s<>res</em> avant l'ex<65>cution du script. La liste des
|
||
variables <em>s<>res</em> est d<>finie <20> la compilation dans
|
||
<code>suexec.c</code>.</li>
|
||
|
||
<li>Pour des raisons de portabilit<69>, les noms des variables
|
||
d'environnement ne peuvent contenir que des lettres, des chiffres, et
|
||
le caract<63>re "souslign<67>". En outre, le premier caract<63>re ne doit pas
|
||
<20>tre un chiffre. Les caract<63>res qui ne satisfont pas <20> ces conditions
|
||
seront remplac<61>s par un caract<63>re "souslign<67>" 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<61>s par des
|
||
caract<63>res '_' ("soulign<67>") ; si le format du nom de l'en-t<>te
|
||
n'est pas valide, celui-ci est ignor<6F>. Voir <a href="#fixheader">plus loin</a> pour une solution de
|
||
contournement du probl<62>me.</li>
|
||
|
||
<li>La directive <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code> s'ex<65>cute assez tard au
|
||
cours du traitement de la requ<71>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<71>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<EFBFBD>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<71>te n'h<>rite pas des
|
||
variables d'environnement sp<73>cifiques <20> la requ<71>te. En outre, <20> 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 <20>valu<6C>es
|
||
s<>par<61>ment dans la sous-requ<71>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<6E>s</th><th>Directives Apparent<6E>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<71>
|
||
plus haut, l'environnement transmis aux scripts CGI comprend des
|
||
m<>ta-informations standards <20> propos de la requ<71>te, en plus des
|
||
variables d<>finies dans la configuration d'Apache. Pour plus de
|
||
d<>tails, se r<>f<EFBFBD>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<EFBFBD> serveur (SSI) trait<69>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 <20> l'aide de l'<27>l<EFBFBD>ment <code>echo</code>,
|
||
et peuvent utiliser des variables d'environnement dans les <20>l<EFBFBD>ments
|
||
de contr<74>le de flux pour rendre certaines parties d'une page
|
||
conditionnelles en fonction des caract<63>ristiques de la requ<71>te.
|
||
Apache fournit aussi les variables d'environnement CGI standards
|
||
aux pages SSI
|
||
comme indiqu<71> plus haut. Pour plus de d<>tails, se r<>f<EFBFBD>rer au
|
||
<a href="howto/ssi.html">tutoriel SSI</a>.</p>
|
||
|
||
|
||
<h3><a name="access-control" id="access-control">Contr<74>le d'acc<63>s</a></h3>
|
||
|
||
|
||
<p>L'acc<63>s au serveur peut <20>tre contr<74>l<EFBFBD> en fonction de la valeur de
|
||
variables d'environnement <20> 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<6E>re une
|
||
grande souplesse au contr<74>le d'acc<63>s au serveur en fonction des
|
||
caract<63>ristiques du client. Par exemple, vous pouvez utiliser ces
|
||
directives pour interdire l'acc<63>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 <20>tre enregistr<74>es dans le
|
||
fichier de log des acc<63>s <20> 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<71>tes peut <20>tre prise
|
||
en fonction de l'<27>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<6E>re une grande souplesse au contr<74>le
|
||
du tra<72>age des requ<71>tes. Par exemple, vous pouvez choisir de ne pas
|
||
tracer les requ<71>tes pour des noms de fichiers se terminant par
|
||
<code>gif</code>, ou encore de ne tracer que les requ<71>tes des clients
|
||
n'appartenant pas <20> 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<70>sence ou l'absence d'une variable
|
||
d'environnement pour d<>cider si un certain en-t<>te HTTP sera plac<61>
|
||
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<70>sent
|
||
dans la requ<71>te du client.</p>
|
||
|
||
|
||
|
||
<h3><a name="external-filter" id="external-filter">Activation de filtres externes</a></h3>
|
||
|
||
|
||
<p>Les filtres externes configur<75>s par le module
|
||
<code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code> <20> l'aide de la directive <code class="directive"><a href="./mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></code> peuvent <20>tre
|
||
activ<69>s de mani<6E>re conditionnelle en fonction d'une variable
|
||
d'environnement <20> l'aide des options
|
||
<code>disableenv=</code> et <code>enableenv=</code>.</p>
|
||
|
||
|
||
<h3><a name="url-rewriting" id="url-rewriting">R<><52>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<><72>criture du module
|
||
<code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> de prendre des
|
||
d<>cisions conditionn<6E>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<70>fixe
|
||
<code>ENV:</code> ne sont pas de v<>ritables variables
|
||
d'environnement. Ce sont plut<75>t des variables sp<73>cifiques <20>
|
||
<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 <20> usage sp<73>cial</a></h2>
|
||
|
||
|
||
<p>Des probl<62>mes d'interop<6F>rabilit<69> ont conduit <20> 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<71>s en d<>finissant des variables
|
||
d'environnement, en g<>n<EFBFBD>ral <20> 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 <20>tre
|
||
utilis<69>es, par exemple.</p>
|
||
|
||
<h3><a name="downgrade" id="downgrade">downgrade-1.0</a></h3>
|
||
|
||
|
||
<p>Ceci force le traitement d'une requ<71>te comme une requ<71>te HTTP/1.0
|
||
m<>me si elle a <20>t<EFBFBD> r<>dig<69>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<69>, cette variable
|
||
d'environnement ignorera les r<>glages accept-encoding de votre
|
||
navigateur et enverra une sortie compress<73>e inconditionnellement.</p>
|
||
|
||
<h3><a name="force-no-vary" id="force-no-vary">force-no-vary</a></h3>
|
||
|
||
|
||
<p>Cette variable entra<72>ne la suppression de tout champ
|
||
<code>Vary</code> des en-t<>tes de la r<>ponse avant que cette derni<6E>re
|
||
soit renvoy<6F>e au client. Certains clients n'interpr<70>tent pas ce champ
|
||
correctement, et la d<>finition de cette variable permet de contourner
|
||
ce probl<62>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<71>tes dans le m<>me langage. Elle fut impl<70>ment<6E>e <20>
|
||
l'origine suite <20> des probl<62>mes avec les mandataires d'AOL. Certains
|
||
clients en langage HTTP/1.0 ne r<>agissent pas correctement face <20> une
|
||
r<>ponse en langage HTTP/1.1, et cette variable peut <20>tre utilis<69>e pour
|
||
assurer l'interop<6F>rabilit<69> avec eux.</p>
|
||
|
||
|
||
|
||
<h3><a name="gzip-only-text-html" id="gzip-only-text-html">gzip-only-text/html</a></h3>
|
||
|
||
|
||
<p>Positionn<6E>e <20> "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<70>f<EFBFBD>rez
|
||
utiliser des fichiers compress<73>s statiquement,
|
||
<code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> <20>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<69>, et
|
||
<code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> refusera de d<>livrer des ressources
|
||
encod<6F>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<6C>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'<27>tre mise en cache. Cette variable d'environnement
|
||
n'a aucune incidence sur le fait qu'une r<>ponse d<>j<EFBFBD> enregistr<74>e
|
||
dans la cache soit utilis<69>e ou non pour la requ<71>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<69>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 <20> <20>tre plus prudent lors de l'envoi
|
||
d'une redirection au client. Elle est en g<>n<EFBFBD>ral utilis<69>e quand un
|
||
client pr<70>sente un probl<62>me connu avec les redirections. Elle fut
|
||
impl<70>ment<6E>e <20> l'origine suite a un probl<62>me rencontr<74> 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<73>rieures <20> 2.0.54</em></p>
|
||
|
||
<p>Quand Apache g<>n<EFBFBD>re une redirection en r<>ponse <20> une requ<71>te client,
|
||
la r<>ponse inclut un texte destin<69> <20> <20>tre affich<63> 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<63>res
|
||
qu'il utilise, <20> savoir ISO-8859-1.</p>
|
||
<p> Cependant, si la redirection fait r<>f<EFBFBD>rence <20> une page qui utilise un
|
||
jeu de caract<63>res diff<66>rent, certaines versions de navigateurs obsol<6F>tes
|
||
essaieront d'utiliser le jeu de caract<63>res du texte de la redirection
|
||
plut<75>t que celui de la page r<>elle.
|
||
Ceci peut entra<72>ner, par exemple, un rendu incorrect du Grec.</p>
|
||
<p>Si cette variable d'environnement est d<>finie, Apache omettra le jeu de
|
||
caract<63>res pour le texte de la redirection, et les navigateurs obsol<6F>tes
|
||
pr<70>cit<69>s utiliseront correctement celui de la page de destination.</p>
|
||
|
||
<div class="warning">
|
||
<h3>Note concernant la s<>curit<69></h3>
|
||
|
||
<p>L'envoi de pages d'erreur sans sp<73>cifier un jeu de caract<63>res peut
|
||
conduire <20> des attaques de type "cross-site-scripting" pour les
|
||
navigateurs qui ne respectent pas la sp<73>cification HTTP/1.1 (MSIE) et
|
||
tentent de d<>duire le jeu de caract<63>res <20> partir du contenu. De tels
|
||
navigateurs peuvent <20>tre facilement tromp<6D>s et utiliser le jeu de
|
||
caract<63>res UTF-7 ; les contenus des donn<6E>es en entr<74>e de type UTF-7
|
||
(comme les URI de requ<71>te) ne seront alors plus prot<6F>g<EFBFBD>s par les
|
||
m<>canismes d'<27>chappement usuels con<6F>us pour pr<70>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<70>c<EFBFBD>dentes, tout caract<63>re invalide dans les noms d'en-t<>tes
|
||
<20>tait tout simplement remplac<61> par un caract<63>re '_', ce qui
|
||
pouvait exposer <20> 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 <20>tre corrig<69>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<6F> 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 <20> des clients
|
||
r<>agissant de mani<6E>re non conforme</a></h3>
|
||
|
||
|
||
<p>Les versions ant<6E>rieures recommandaient l'ajout de ces lignes dans
|
||
httpd.conf pour tenir compte de probl<62>mes connus avec certains clients.
|
||
Comme les clients concern<72>s sont maintenant tr<74>s peu utilis<69>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<71>tes pour des images dans le fichier de
|
||
trace des acc<63>s</a></h3>
|
||
|
||
|
||
<p>Dans cet exemple, les requ<71>tes pour des images n'apparaissent pas
|
||
dans le fichier de trace des acc<63>s. Il peut <20>tre facilement adapt<70> pour
|
||
emp<6D>cher le tra<72>age de r<>pertoires particuliers, ou de requ<71>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<50>vention du "Vol d'image"</a></h3>
|
||
|
||
|
||
<p>Cet exemple montre comment emp<6D>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<6E>e, mais elle peut fonctionner dans des circonstances bien
|
||
d<>finies. Nous supposons que toutes vos images sont enregistr<74>es dans
|
||
un r<>pertoire nomm<6D> <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<61>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<72>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/trunk/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 2017 The Apache Software Foundation.<br />Autoris<69> 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/quickreference.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> |