1<?xml version="1.0" encoding="ISO-8859-1"?> 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 3<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!-- 4 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 5 This file is generated from xml source: DO NOT EDIT 6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 7 --> 8<title>mod_headers - Serveur Apache HTTP</title> 9<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> 10<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> 11<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" /> 12<script src="/style/scripts/prettify.min.js" type="text/javascript"> 13</script> 14 15<link href="/images/favicon.ico" rel="shortcut icon" /></head> 16<body> 17<div id="page-header"> 18<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> 19<p class="apache">Serveur Apache HTTP Version 2.4</p> 20<img alt="" src="/images/feather.gif" /></div> 21<div class="up"><a href="./"><img title="<-" alt="<-" src="/images/left.gif" /></a></div> 22<div id="path"> 23<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> > <a href="./">Modules</a></div> 24<div id="page-content"> 25<div id="preamble"><h1>Module Apache mod_headers</h1> 26<div class="toplang"> 27<p><span>Langues Disponibles: </span><a href="/en/mod/mod_headers.html" hreflang="en" rel="alternate" title="English"> en </a> | 28<a href="/fr/mod/mod_headers.html" title="Fran�ais"> fr </a> | 29<a href="/ja/mod/mod_headers.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | 30<a href="/ko/mod/mod_headers.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> 31</div> 32<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Personnalisation des en-t�tes de requ�tes et de r�ponses 33HTTP</td></tr> 34<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> 35<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur�de�Module:</a></th><td>headers_module</td></tr> 36<tr><th><a href="module-dict.html#SourceFile">Fichier�Source:</a></th><td>mod_headers.c</td></tr></table> 37<h3>Sommaire</h3> 38 39 <p>Ce module fournit des directives permettant de contr�ler et 40 modifier les en-t�tes de requ�tes et de r�ponses HTTP. Les en-t�tes 41 peuvent �tre fusionn�s, remplac�s ou supprim�s.</p> 42</div> 43<div id="quickview"><h3 class="directives">Directives</h3> 44<ul id="toc"> 45<li><img alt="" src="/images/down.gif" /> <a href="#header">Header</a></li> 46<li><img alt="" src="/images/down.gif" /> <a href="#requestheader">RequestHeader</a></li> 47</ul> 48<h3>Sujets</h3> 49<ul id="topics"> 50<li><img alt="" src="/images/down.gif" /> <a href="#order">Chronologie du traitement</a></li> 51<li><img alt="" src="/images/down.gif" /> <a href="#early">Traitement pr�coce et traitement 52tardif</a></li> 53<li><img alt="" src="/images/down.gif" /> <a href="#examples">Exemples</a></li> 54</ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div> 55<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 56<div class="section"> 57<h2><a name="order" id="order">Chronologie du traitement</a></h2> 58 59 <p>Les directives fournies par <code class="module"><a href="/mod/mod_headers.html">mod_headers</a></code> peuvent 60 s'ins�rer presque partout dans la configuration du serveur, et on 61 peut limiter leur port�e en les pla�ant dans des <a href="/sections.html">sections de configuration</a>.</p> 62 63 <p>La chronologie du traitement est importante et est affect�e par 64 l'ordre d'apparition des directives dans le fichier de configuration 65 et par leur placement dans les <a href="/sections.html#mergin">sections de configuration</a>. Ainsi, 66 ces deux directives ont un effet diff�rent si leur ordre est invers� 67 :</p> 68 69 <pre class="prettyprint lang-config">RequestHeader append MirrorID "mirror 12" 70RequestHeader unset MirrorID</pre> 71 72 73 <p>Dans cet ordre, l'en-t�te <code>MirrorID</code> n'est pas d�fini. 74 Si l'ordre des directives �tait invers�, l'en-t�te 75 <code>MirrorID</code> serait d�fini � "mirror 12".</p> 76</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 77<div class="section"> 78<h2><a name="early" id="early">Traitement pr�coce et traitement 79tardif</a></h2> 80 <p><code class="module"><a href="/mod/mod_headers.html">mod_headers</a></code> peut agir soir pr�cocement, soit 81 tardivement au niveau de la requ�te. Le mode normal est le mode 82 tardif, lorsque les en-t�tes de <em>requ�te</em> sont d�finis, imm�diatement 83 avant l'ex�cution du g�n�rateur de contenu, et pour les en-t�tes de 84 <em>r�ponse</em>, juste au moment o� la r�ponse est envoy�e sur le r�seau. 85 Utilisez toujours le mode tardif sur un serveur en production.</p> 86 87 <p>Le mode pr�coce a �t� con�u � des fins d'aide aux tests et au 88 d�bogage pour les d�veloppeurs. Les directives d�finies en utilisant 89 le mot-cl� <code>early</code> sont cens�es agir au tout d�but du 90 traitement de la requ�te. Cela signifie que l'on peut les utiliser 91 pour simuler diff�rentes requ�tes et d�finir des situations de test, 92 tout en gardant � l'esprit que les en-t�tes peuvent �tre modifi�s � 93 tout moment par d'autres modules avant que le r�ponse ne soit 94 g�n�r�e.</p> 95 96 <p>Comme les directives pr�coces sont trait�es avant que le 97 chemin de la requ�te ne soit parcouru, les en-t�tes 98 pr�coces ne peuvent �tre d�finis que dans un contexte de serveur 99 principal ou de serveur virtuel. Les directives pr�coces ne peuvent 100 pas d�pendre d'un chemin de requ�te, si bien qu'elles �choueront 101 dans des contextes tels que <code><Directory></code> ou 102 <code><Location></code>.</p> 103</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 104<div class="section"> 105<h2><a name="examples" id="examples">Exemples</a></h2> 106 107 <ol> 108 <li> 109 Copie tous les en-t�tes de requ�te qui commencent par "TS" vers 110 les en-t�tes de la r�ponse : 111 112 <pre class="prettyprint lang-config">Header echo ^TS</pre> 113 114 </li> 115 116 <li> 117 Ajoute � la r�ponse un en-t�te, <code>mon-en-t�te</code>, qui 118 contient un horodatage permettant de d�terminer le moment o� la 119 requ�te a �t� re�ue, et le temps qui s'est �coul� jusqu'� ce que 120 la requ�te ait commenc� � �tre servie. Cet en-t�te peut �tre 121 utilis� par le client pour estimer la charge du serveur ou 122 isoler les goulets d'�tranglement entre le client et le 123 serveur. 124 125 <pre class="prettyprint lang-config">Header set mon-en-t�te "%D %t"</pre> 126 127 128 <p>le r�sultat est l'ajout � la r�ponse d'un en-t�te du type :</p> 129 130 <div class="example"><p><code> 131 mon-en-t�te: D=3775428 t=991424704447256 132 </code></p></div> 133 </li> 134 135 <li> 136 Dit Bonjour � Joe 137 138 <div class="example"><p><code> 139 Header set mon-en-t�te "Bonjour Joe. Il a fallu %D microsecondes \<br /> 140 � Apache pour servir cette requ�te." 141 </code></p></div> 142 143 <p>le r�sultat est l'ajout � la r�ponse d'un en-t�te du type :</p> 144 145 <pre class="prettyprint lang-config"> Header set MyHeader "Bonjour Joe. Il a fallu D=3775428 microsecondes � Apache 146 pour servir cette requ�te."</pre> 147 148 </li> 149 150 <li> 151 Ajoute l'en-t�te <code>mon-en-t�te</code> � la r�ponse si et 152 seulement si l'en-t�te <code>mon-en-t�te-requ�te</code> est 153 pr�sent dans la requ�te. Ceci peut s'av�rer utile pour g�n�rer 154 des en-t�tes de r�ponse "� la t�te du client". Notez que cet 155 exemple n�cessite les services du module 156 <code class="module"><a href="/mod/mod_setenvif.html">mod_setenvif</a></code>. 157 158 <pre class="prettyprint lang-config">SetEnvIf MyRequestHeader myvalue HAVE_MyRequestHeader 159Header set MyHeader "%D %t mytext" env=HAVE_MyRequestHeader</pre> 160 161 162 <p>Si l'en-t�te <code>mon-en-t�te-requ�te: mavaleur</code> est 163 pr�sent dans la requ�te HTTP, la r�ponse contiendra un en-t�te 164 du type :</p> 165 166 <div class="example"><p><code> 167 mon-en-t�te: D=3775428 t=991424704447256 montexte 168 </code></p></div> 169 </li> 170 171 <li> 172 Permet � DAV de fonctionner avec Apache sur SSL (voir la <a href="http://svn.haxx.se/users/archive-2006-03/0549.shtml">description 173 du probl�me</a>) en rempla�ant <var>https:</var> par 174 <var>http:</var> dans l'en-t�te <var>Destination</var> : 175 176 <pre class="prettyprint lang-config">RequestHeader edit Destination ^https: http: early</pre> 177 178 </li> 179 180 <li> 181 D�finit la valeur d'un m�me en-t�te sous de multiples conditions 182 non exclusives, mais ne duplique pas une valeur d�j� d�finie 183 dans l'en-t�te qui en r�sulte. Si toutes les conditions 184 suivantes sont satisfaites pour une requ�te (en d'autres termes, 185 si les trois variables d'environnement <code>CGI</code>, 186 <code>NO_CACHE</code> et <code>NO_STORE</code> existent pour la 187 requ�te) : 188 189 <pre class="prettyprint lang-config">Header merge Cache-Control no-cache env=CGI 190Header merge Cache-Control no-cache env=NO_CACHE 191Header merge Cache-Control no-store env=NO_STORE</pre> 192 193 194 <p>alors, la r�ponse contiendra l'en-t�te suivant :</p> 195 196 <div class="example"><p><code> 197 Cache-Control: no-cache, no-store 198 </code></p></div> 199 200 <p>Si <code>append</code> avait �t� utilis� � la place de 201 <code>merge</code>, la r�ponse aurait contenu l'en-t�te suivant 202 :</p> 203 204 <div class="example"><p><code> 205 Cache-Control: no-cache, no-cache, no-store 206 </code></p></div> 207 </li> 208 <li> 209 D�finit un cookie de test si et seulement si le client n'envoie 210 pas de cookie 211 <pre class="prettyprint lang-config">Header set Set-Cookie testcookie "expr=-z %{req:Cookie}"</pre> 212 213 </li> 214 </ol> 215</div> 216<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 217<div class="directive-section"><h2><a name="Header" id="Header">Header</a> <a name="header" id="header">Directive</a></h2> 218<table class="directive"> 219<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure les en-t�tes d'une r�ponse HTTP</td></tr> 220<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Header [<var>condition</var>] add|append|echo|edit|edit*|merge|set|setifempty|unset|note 221<var>en-t�te</var> [<var>valeur</var>] [<var>remplacement</var>] 222[early|env=[!]<var>variable</var>]|expr=<var>expression</var>] 223</code></td></tr> 224<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, r�pertoire, .htaccess</td></tr> 225<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> 226<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> 227<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_headers</td></tr> 228<tr><th><a href="directive-dict.html#Compatibility">Compatibilit�:</a></th><td>La condition par d�faut est temporairement pass�e 229� "always" dans les version 2.3.9 et 2.3.10. SetIfEmpty est 230disponible depuis la version 2.4.7 du serveur HTTP Apache.</td></tr> 231</table> 232 <p>Cette directive permet de remplacer, fusionner, ou 233 supprimer des en-t�tes de r�ponse HTTP. L'en-t�te est modifi� juste 234 apr�s que le gestionnaire de contenu et les filtres en sortie ne 235 s'ex�cutent, ce qui permet la modification des en-t�tes 236 sortants.</p> 237 238 <p>L'argument optionnel <var>condition</var> permet de d�terminer 239 sur quelle table interne d'en-t�tes de r�ponses cette directive va 240 op�rer. D'autres composants du serveur peuvent avoir stock� leurs 241 en-t�tes de r�ponses dans la table correspondant � 242 <code>onsuccess</code> ou dans celle correspondant � 243 <code>always</code>. Dans ce contexte, "Always" fait r�f�rence au 244 choix d'envoyer les en-t�tes que vous ajoutez aux r�ponses, qu'elle 245 soient avec succ�s ou �chou�es ; par contre, si votre action est une 246 fonction d'un en-t�te existant, vous devrez lire la documentation de 247 mani�re plus approfondie car dans ce cas, les choses se compliquent.</p> 248 249 <p>Vous pouvez avoir � changer la valeur par d�faut 250 <code>onsuccess</code> en <code>always</code> dans des circonstances 251 similaires � celles expos�es plus loin. Notez aussi que la r�p�tition 252 de cette directive avec les deux conditions peut �tre pertinente 253 dans certains sc�narios, car <code>always</code> n'englobe pas 254 <code>onsuccess</code> en ce qui concerne les en-t�tes existants :</p> 255 256 <ul> 257 <li>Vous ajoutez un en-t�te � une r�ponse �chou�e (non-2xx), 258 une redirection par exemple, et dans ce cas, seule la table 259 correspondant � <code>always</code> est utilis�e dans la r�ponse 260 d�finitive.</li> 261 <li>Vous modifiez ou supprimez un en-t�te g�n�r� par un script 262 CGI, et dans ce cas, les scripts CGI sont dans la table 263 correspondant � <code>always</code> et non dans la table par 264 d�faut.</li> 265 <li>Vous modifiez ou supprimez un en-t�te g�n�r� par tel ou tel 266 composant du serveur, mais cet en-t�te n'est pas trouv� par la 267 condition par d�faut <code>onsuccess</code>.</li> 268 </ul> 269 270 <p>L'action que cette directive provoque est d�termin�e par le 271 premier argument (ou par le second argument si une 272 <var>condition</var> est sp�cifi�e). Il peut prendre 273 une des valeurs suivantes :</p> 274 275 <dl> 276 <dt><code>add</code></dt> 277 <dd>L'en-t�te est ajout� au jeu d'en-t�tes pr�existant, m�me s'il 278 existe d�j�. Ceci peut conduire � la pr�sence de deux (ou plusieurs) 279 en-t�tes poss�dant le m�me nom et donc induire des cons�quences 280 impr�vues ; en g�n�ral, il est pr�f�rable d'utiliser 281 <code>set</code>, <code>append</code> ou <code>merge</code>.</dd> 282 283 <dt><code>append</code></dt> 284 <dd>La valeur d'en-t�te est ajout�e � tout en-t�te existant de m�me 285 nom. Lorsqu'une nouvelle valeur est ainsi ajout�e, elle est s�par�e 286 de celles qui sont d�j� pr�sentes par une virgule. Il s'agit de la 287 m�thode HTTP standard permettant d'affecter plusieurs valeurs � un 288 en-t�te.</dd> 289 290 <dt><code>echo</code></dt> 291 <dd>Les en-t�tes de la requ�te poss�dant le nom sp�cifi� sont 292 recopi�s vers les en-t�tes de la r�ponse. <var>en-t�te</var> peut 293 �tre une <a class="glossarylink" href="/glossary.html#regex" title="voir glossaire">expression rationnelle</a>, et 294 <var>valeur</var> ne doit pas �tre pr�sent.</dd> 295 296 <dt><code>edit</code></dt> 297 <dt><code>edit*</code></dt> 298 <dd>Si l'en-t�te existe, sa valeur est modifi�e en fonction d'une 299 <a class="glossarylink" href="/glossary.html#regex" title="voir glossaire">expression rationnelle</a> de type 300 recherche/remplacement. L'argument <var>valeur</var> est une 301 <a class="glossarylink" href="/glossary.html#regex" title="voir glossaire">expression rationnelle</a>, et 302 l'argument <var>remplacement</var> une cha�ne de caract�res de 303 remplacement qui peut contenir des r�f�rences 304 arri�res ou des sp�cificateurs de format. La forme 305 <code>edit</code> n'effectuera une 306 recherche/remplacement qu'une seule fois dans la valeur de 307 l'en-t�te, alors que la forme <code>edit*</code> en effectuera autant 308 que le nombre d'apparition de la cha�ne � remplacer.</dd> 309 310 <dt><code>merge</code></dt> 311 <dd>La valeur d'en-t�te est ajout�e � tout en-t�te de m�me nom, sauf 312 si elle appara�t d�j� dans la liste des valeurs pr�existantes de 313 l'en-t�te s�par�es par des virgules. Lorsqu'une nouvelle valeur est 314 ainsi ajout�e, elle est s�par�e de celles qui sont d�j� pr�sentes 315 par une virgule. Il s'agit de la m�thode HTTP standard permettant 316 d'affecter plusieurs valeurs � un en-t�te. Les valeurs sont 317 compar�es en tenant compte de la casse, et apr�s le traitement de 318 tous les sp�cificateurs de format. Une valeur entour�e de guillemets 319 est consid�r�e comme diff�rente de la m�me valeur mais sans 320 guillemets.</dd> 321 322 <dt><code>set</code></dt> 323 <dd>L'en-t�te est d�fini, rempla�ant tout en-t�te pr�existant avec 324 le m�me nom. L'argument <var>valeur</var> peut �tre une cha�ne de 325 formatage.</dd> 326 327 <dt><code>setifempty</code></dt> 328 <dd>L'en-t�te est d�fini, mais seulement s'il n'existe 329 aucun en-t�te avec le m�me nom. Disponible depuis la 330 version 2.4.7 du serveur HTTP Apache.</dd> 331 332 <dt><code>unset</code></dt> 333 <dd>L'en-t�te est supprim� s'il existe. Si plusieurs en-t�tes 334 poss�dent le m�me nom, ils seront tous supprim�s. L'argument 335 <var>value</var> ne doit pas appara�tre.</dd> 336 337 <dt><code>note</code></dt> 338 <dd>La valeur de l'<var>en-t�te</var> consid�r� est copi�e dans une 339 note interne dont le nom est sp�cifi� via l'argument 340 <var>valeur</var>. Ceci permet d'enregistrer la valeur d'un en-t�te 341 envoy� par un programme CGI ou une ressource mandat�e, m�me s'il 342 est pr�vu de l'effacer.</dd> 343 344 </dl> 345 346 <p>Cet argument est suivi d'un nom d'<var>en-t�te</var> qui peut se 347 terminer par un caract�re ':', mais ce n'est pas obligatoire. La 348 casse est ignor�e avec <code>set</code>, <code>append</code>, 349 <code>merge</code>, <code>add</code>, <code>unset</code> et 350 <code>edit</code>. Le nom d'<var>en-t�te</var> est sensible � la 351 casse pour <code>echo</code> et peut �tre une <a class="glossarylink" href="/glossary.html#regex" title="voir glossaire">expression rationnelle</a>.</p> 352 353 <p>Avec <code>set</code>, <code>append</code>, <code>merge</code> et 354 <code>add</code>, une <var>valeur</var> est sp�cifi�e comme 355 argument suivant. Si <var>valeur</var> contient des espaces, elle 356 doit �tre entour�e de guillemets. <var>valeur</var> peut �tre une 357 cha�ne de caract�res, une cha�ne contenant des sp�cificateurs de 358 format, ou une combinaison des deux. <var>valeur</var> supporte les 359 sp�cificateurs de format suivants :</p> 360 361 <table class="bordered"><tr class="header"><th>Format</th><th>Description</th></tr> 362<tr><td><code>%%</code></td> 363 <td>Le caract�re pourcentage</td></tr> 364<tr class="odd"><td><code>%t</code></td> 365 <td>Le moment de r�ception de la requ�te en temps 366 universel coordonn� depuis le temps epoch (Jan. 1, 1970) et 367 exprim� en microsecondes. La valeur est pr�c�d�e de 368 <code>t=</code>.</td></tr> 369<tr><td><code>%D</code></td> 370 <td>Le temps �coul� entre la r�ception de la requ�te et l'envoi 371 des en-t�tes sur le r�seau. Il s'agit de la dur�e de traitement 372 de la requ�te. La valeur est pr�c�d�e de <code>D=</code>. La 373 valeur est exprim�e en microsecondes.</td></tr> 374<tr class="odd"><td><code>%l</code></td> 375 <td>La charge courante du serveur. Ce sont les valeurs fournies 376 par <code>getloadavg()</code> qui repr�sentent la charge 377 courante, ainsi que la charge moyenne pendant les cinq et les 378 quinze derni�res minutes. Chaque valeur est pr�c�d�e de 379 <code>l=</code> et s�par�e des autres par un slash 380 <code>/</code>. 381 </td></tr> 382<tr><td><code>%i</code></td> 383 <td>Le pourcentage de disponibilit� de httpd (0 � 100) bas� sur 384 le nombre de threads et de processus disponibles. La valeur est 385 pr�c�d�e de <code>i=</code>. 386 </td></tr> 387<tr class="odd"><td><code>%b</code></td> 388 <td>Le pourcentage d'utilisation de httpd (0 � 100) bas� sur 389 le nombre de threads et de processus disponibles. La valeur est 390 pr�c�d�e de <code>b=</code>. 391 </td></tr> 392<tr><td><code>%{NOM_VARIABLE}e</code></td> 393 <td>Le contenu de la <a href="/env.html">variable 394 d'environnement</a> <code>NOM_VARIABLE</code>.</td></tr> 395<tr class="odd"><td><code>%{NOM_VARIABLE}s</code></td> 396 <td>Le contenu de la <a href="/env.html">variable 397 d'environnement SSL</a> <code>NOM_VARIABLE</code>, si 398 <code class="module"><a href="/mod/mod_ssl.html">mod_ssl</a></code> est activ�.</td></tr> 399</table> 400 401 <div class="note"><h3>Note</h3> 402 <p>Le sp�cificateur de format <code>%s</code> est disponible 403 depuis la version 2.1 d'Apache ; il peut �tre utilis� � la place 404 de <code>%e</code> pour �viter de devoir sp�cifier 405 <code>SSLOptions +StdEnvVars</code>. Cependant, si 406 <code>SSLOptions +StdEnvVars</code> doit tout de m�me �tre 407 sp�cifi� pour une raison quelconque, <code>%e</code> sera plus 408 efficace que <code>%s</code>.</p> 409 </div> 410 411 <p><code>edit</code>n�cessite les deux arguments 412 <var>valeur</var>, qui est une <a class="glossarylink" href="/glossary.html#regex" title="voir glossaire">expression 413 rationnelle</a>, et une cha�ne additionnelle 414 <var>remplacement</var>. Depuis la version 2.4.7, la cha�ne de 415 remplacement peut aussi contenir des sp�cificateurs de format.</p> 416 417 <p>La directive <code class="directive">Header</code> peut �tre suivie d'un 418 argument additionnel qui peut prendre les valeurs suivantes :</p> 419 420 <dl> 421 <dt><code>early</code></dt> 422 <dd>Sp�cifie <a href="#early">traitement pr�alable</a>.</dd> 423 <dt><code>env=[!]<var>variable</var></code></dt> 424 <dd>La directive est appliqu�e si et seulement si la <a href="/env.html">variable d'environnement</a> 425 <code>variable</code> existe. Un <code>!</code> devant 426 <code>variable</code> inverse le test, et la directive ne 427 s'appliquera alors que si <code>variable</code> n'est pas d�finie.</dd> 428 <dt><code>expr=<var>expression</var></code></dt> 429 <dd>La directive s'applique si et seulement si <var>expression</var> 430 est �valu�e � true. Vous trouverez plus de d�tails � propos de la 431 syntaxe et de l'�valuation des expressions dans la documentation <a href="/expr.html">ap_expr</a>.</dd> 432 </dl> 433 434 <p>Except� le cas du mode <a href="#early">pr�coce</a>, les 435 directives <code class="directive">Header</code> sont trait�es juste avant 436 l'envoi de la r�ponse sur le r�seau. Cela signifie qu'il est 437 possible de d�finir et/ou modifier la plupart des en-t�tes, � 438 l'exception de ceux qui sont ajout�s par le filtre HTTP 439 d'en-t�te, comme Content-Type.</p> 440 441</div> 442<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 443<div class="directive-section"><h2><a name="RequestHeader" id="RequestHeader">RequestHeader</a> <a name="requestheader" id="requestheader">Directive</a></h2> 444<table class="directive"> 445<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure les en-t�tes d'une requ�te HTTP</td></tr> 446<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RequestHeader add|append|edit|edit*|merge|set|setifempty|unset 447<var>en-t�te</var> [<var>valeur</var>] [<var>remplacement</var>] 448[early|env=[!]<var>variable</var>]|expr=<var>expression</var>] 449</code></td></tr> 450<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, r�pertoire, .htaccess</td></tr> 451<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> 452<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> 453<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_headers</td></tr> 454<tr><th><a href="directive-dict.html#Compatibility">Compatibilit�:</a></th><td>SetIfEmpty est disponible depuis la version 2.4.7 du 455serveur HTTP Apache</td></tr> 456</table> 457 <p>Cette directive permet de remplacer, fusionner, modifier ou 458 supprimer des en-t�tes de requ�te HTTP. L'en-t�te est modifi� juste 459 avant que le gestionnaire de contenu ne s'ex�cute, ce qui permet la 460 modification des en-t�tes entrants. L'action effectu�e est 461 d�termin�e par le premier argument. Ce dernier accepte les valeurs 462 suivantes :</p> 463 464 <dl> 465 466 <dt><code>add</code></dt> 467 <dd>L'en-t�te est ajout� au jeu d'en-t�tes pr�existant, m�me s'il 468 existe d�j�. Ceci peut conduire � la pr�sence de deux (ou plusieurs) 469 en-t�tes poss�dant le m�me nom et donc induire des cons�quences 470 impr�vues ; en g�n�ral, il est pr�f�rable d'utiliser 471 <code>set</code>, <code>append</code> ou <code>merge</code>.</dd> 472 473 <dt><code>append</code></dt> 474 <dd>La valeur d'en-t�te est ajout�e � tout en-t�te existant de m�me 475 nom. Lorsqu'une nouvelle valeur est ainsi ajout�e, elle est s�par�e 476 de celles qui sont d�j� pr�sentes par une virgule. Il s'agit de la 477 m�thode HTTP standard permettant d'affecter plusieurs valeurs � un 478 en-t�te.</dd> 479 480 <dt><code>edit*</code></dt> 481 <dd>Si l'en-t�te existe, sa valeur est modifi�e en fonction d'une 482 <a class="glossarylink" href="/glossary.html#regex" title="voir glossaire">expression rationnelle</a> de type 483 recherche/remplacement. L'argument <var>valeur</var> est une 484 <a class="glossarylink" href="/glossary.html#regex" title="voir glossaire">expression rationnelle</a>, et 485 l'argument <var>remplacement</var> une cha�ne de caract�res de 486 remplacement qui peut contenir des r�f�rences 487 arri�res ou des sp�cificateurs de format. Avec 488 <code>edit</code>, la cha�ne de l'en-t�te correspondant au mod�le ne 489 sera recherch�e et remplac�e qu'une seule fois, alors qu'avec 490 <code>edit*</code>, elle le sera pour chacune de ses instances si 491 elle appara�t plusieurs fois.</dd> 492 493 <dt><code>merge</code></dt> 494 <dd>La valeur d'en-t�te est ajout�e � tout en-t�te de m�me nom, sauf 495 si elle appara�t d�j� dans la liste des valeurs pr�existantes de 496 l'en-t�te s�par�es par des virgules. Lorsqu'une nouvelle valeur est 497 ainsi ajout�e, elle est s�par�e de celles qui sont d�j� pr�sentes 498 par une virgule. Il s'agit de la m�thode HTTP standard permettant 499 d'affecter plusieurs valeurs � un en-t�te. Les valeurs sont 500 compar�es en tenant compte de la casse, et apr�s le traitement de 501 tous les sp�cificateurs de format. Une valeur entour�e de guillemets 502 est consid�r�e comme diff�rente de la m�me valeur mais sans 503 guillemets.</dd> 504 505 <dt><code>set</code></dt> 506 <dd>L'en-t�te est d�fini, rempla�ant tout en-t�te pr�existant avec 507 le m�me nom.</dd> 508 509 <dt><code>setifempty</code></dt> 510 <dd>L'en-t�te est d�fini, mais seulement s'il n'existe 511 aucun en-t�te avec le m�me nom. Disponible depuis la 512 version 2.4.7 du serveur HTTP Apache.</dd> 513 514 <dt><code>unset</code></dt> 515 <dd>L'en-t�te est supprim� s'il existe. Si plusieurs en-t�tes 516 poss�dent le m�me nom, ils seront tous supprim�s. L'argument 517 <var>value</var> ne doit pas appara�tre.</dd> 518 </dl> 519 520 <p>Cet argument est suivi d'un nom d'en-t�te qui peut se terminer 521 par un caract�re ':', mais ce n'est pas obligatoire. La casse est 522 ignor�e. Avec <code>set</code>, <code>append</code>, 523 <code>merge</code> et <code>add</code>, une <var>valeur</var> est 524 fournie en troisi�me argument. Si une <var>valeur</var> contient des 525 espaces, elle doit �tre entour�e de guillemets. Avec 526 <code>unset</code>, aucune <var>valeur</var> ne doit appara�tre. 527 <var>valeur</var> peut �tre une cha�ne de caract�res, une cha�ne 528 contenant des sp�cificateurs de format, ou une combinaison des deux. 529 Les sp�cificateurs de format support�s sont les m�mes que ceux de la 530 directive <code class="directive"><a href="#header">Header</a></code>, � 531 laquelle vous pouvez vous reporter pour plus de d�tails. Avec 532 <code>edit</code>, les deux arguments <var>valeur</var> et 533 <var>remplacement</var> sont obligatoires, et correspondent 534 respectivement � une <a class="glossarylink" href="/glossary.html#regex" title="voir glossaire">expression 535 rationnelle</a> et � une cha�ne de remplacement.</p> 536 537 <p>La directive <code class="directive">RequestHeader</code> peut �tre 538 suivie d'un argument suppl�mentaire, qui pourra prendre les valeurs 539 suivantes :</p> 540 <dl> 541 <dt><code>early</code></dt> 542 <dd>Sp�cifie <a href="#early">traitement pr�alable</a>.</dd> 543 <dt><code>env=[!]<var>variable</var></code></dt> 544 <dd>La directive est appliqu�e si et seulement si la <a href="/env.html">variable d'environnement</a> 545 <code>variable</code> existe. Un <code>!</code> devant 546 <code>variable</code> inverse le test, et la directive ne 547 s'appliquera alors que si <code>variable</code> n'est pas d�finie.</dd> 548 <dt><code>expr=<var>expression</var></code></dt> 549 <dd>La directive s'applique si et seulement si <var>expression</var> 550 est �valu�e � true. Vous trouverez plus de d�tails � propos de la 551 syntaxe et de l'�valuation des expressions dans la documentation <a href="/expr.html">ap_expr</a>.</dd> 552 </dl> 553 554 <p>Except� le cas du mode <a href="#early">pr�coce</a>, la directive 555 <code class="directive">RequestHeader</code> est trait�e juste avant la 556 prise en compte de la requ�te par son gestionnaire, au cours de la 557 phase de v�rification. Ceci permet la modification des en-t�tes 558 g�n�r�s par le navigateur, ou par les filtres en entr�e 559 d'Apache.</p> 560 561</div> 562</div> 563<div class="bottomlang"> 564<p><span>Langues Disponibles: </span><a href="/en/mod/mod_headers.html" hreflang="en" rel="alternate" title="English"> en </a> | 565<a href="/fr/mod/mod_headers.html" title="Fran�ais"> fr </a> | 566<a href="/ja/mod/mod_headers.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | 567<a href="/ko/mod/mod_headers.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> 568</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> 569<script type="text/javascript"><!--//--><![CDATA[//><!-- 570var comments_shortname = 'httpd'; 571var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_headers.html'; 572(function(w, d) { 573 if (w.location.hostname.toLowerCase() == "httpd.apache.org") { 574 d.write('<div id="comments_thread"><\/div>'); 575 var s = d.createElement('script'); 576 s.type = 'text/javascript'; 577 s.async = true; 578 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; 579 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); 580 } 581 else { 582 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); 583 } 584})(window, document); 585//--><!]]></script></div><div id="footer"> 586<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> 587<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[//><!-- 588if (typeof(prettyPrint) !== 'undefined') { 589 prettyPrint(); 590} 591//--><!]]></script> 592</body></html>