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
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.js" type="text/javascript">
15 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
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.5</p>
20 <img alt="" src="../images/feather.gif" /></div>
21 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
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.5</a> > <a href="./">Modules</a></div>
24 <div id="page-content">
25 <div id="preamble"><h1>Module Apache mod_headers</h1>
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>
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
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>
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>
43 <div id="quickview"><h3 class="directives">Directives</h3>
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>
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
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>
57 <h2><a name="order" id="order">Chronologie du traitement</a></h2>
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>
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é
69 <pre class="prettyprint lang-config">
70 RequestHeader append MirrorID "mirror 12"
71 RequestHeader unset MirrorID
75 <p>Dans cet ordre, l'en-tête <code>MirrorID</code> n'est pas défini.
76 Si l'ordre des directives était inversé, l'en-tête
77 <code>MirrorID</code> serait défini à "mirror 12".</p>
78 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
80 <h2><a name="early" id="early">Traitement précoce et traitement
82 <p><code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code> peut agir soir précocement, soit
83 tardivement au niveau de la requête. Le mode normal est le mode
84 tardif, lorsque les en-têtes de <em>requête</em> sont définis, immédiatement
85 avant l'exécution du générateur de contenu, et pour les en-têtes de
86 <em>réponse</em>, juste au moment où la réponse est envoyée sur le réseau.
87 Utilisez toujours le mode tardif sur un serveur en production.</p>
89 <p>Le mode précoce a été conçu à des fins d'aide aux tests et au
90 débogage pour les développeurs. Les directives définies en utilisant
91 le mot-clé <code>early</code> sont censées agir au tout début du
92 traitement de la requête. Cela signifie que l'on peut les utiliser
93 pour simuler différentes requêtes et définir des situations de test,
94 tout en gardant à l'esprit que les en-têtes peuvent être modifiés à
95 tout moment par d'autres modules avant que le réponse ne soit
98 <p>Comme les directives précoces sont traitées avant que le
99 chemin de la requête ne soit parcouru, les en-têtes
100 précoces ne peuvent être définis que dans un contexte de serveur
101 principal ou de serveur virtuel. Les directives précoces ne peuvent
102 pas dépendre d'un chemin de requête, si bien qu'elles échoueront
103 dans des contextes tels que <code><Directory></code> ou
104 <code><Location></code>.</p>
105 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
106 <div class="section">
107 <h2><a name="examples" id="examples">Exemples</a></h2>
111 Copie tous les en-têtes de requête qui commencent par "TS" vers
112 les en-têtes de la réponse :
114 <pre class="prettyprint lang-config">
121 Ajoute à la réponse un en-tête, <code>mon-en-tête</code>, qui
122 contient un horodatage permettant de déterminer le moment où la
123 requête a été reçue, et le temps qui s'est écoulé jusqu'à ce que
124 la requête ait commencé à être servie. Cet en-tête peut être
125 utilisé par le client pour estimer la charge du serveur ou
126 isoler les goulets d'étranglement entre le client et le
129 <pre class="prettyprint lang-config">
130 Header set mon-en-tête "%D %t"
134 <p>le résultat est l'ajout à la réponse d'un en-tête du type :</p>
136 <div class="example"><p><code>
137 mon-en-tête: D=3775428 t=991424704447256
144 <div class="example"><p><code>
145 Header set mon-en-tête "Bonjour Joe. Il a fallu %D microsecondes \<br />
146 à Apache pour servir cette requête."
149 <p>le résultat est l'ajout à la réponse d'un en-tête du type :</p>
151 <pre class="prettyprint lang-config">
152 Header set MyHeader "Bonjour Joe. Il a fallu D=3775428 microsecondes à Apache
153 pour servir cette requête."
159 Ajoute l'en-tête <code>mon-en-tête</code> à la réponse si et
160 seulement si l'en-tête <code>mon-en-tête-requête</code> est
161 présent dans la requête. Ceci peut s'avérer utile pour générer
162 des en-têtes de réponse "à la tête du client". Notez que cet
163 exemple nécessite les services du module
164 <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code>.
166 <pre class="prettyprint lang-config">
167 SetEnvIf MyRequestHeader myvalue HAVE_MyRequestHeader
168 Header set MyHeader "%D %t mytext" env=HAVE_MyRequestHeader
172 <p>Si l'en-tête <code>mon-en-tête-requête: mavaleur</code> est
173 présent dans la requête HTTP, la réponse contiendra un en-tête
176 <div class="example"><p><code>
177 mon-en-tête: D=3775428 t=991424704447256 montexte
182 Permet à DAV de fonctionner avec Apache sur SSL (voir la <a href="http://svn.haxx.se/users/archive-2006-03/0549.shtml">description
183 du problème</a>) en remplaçant <var>https:</var> par
184 <var>http:</var> dans l'en-tête <var>Destination</var> :
186 <pre class="prettyprint lang-config">
187 RequestHeader edit Destination ^https: http: early
193 Définit la valeur d'un même en-tête sous de multiples conditions
194 non exclusives, mais ne duplique pas une valeur déjà définie
195 dans l'en-tête qui en résulte. Si toutes les conditions
196 suivantes sont satisfaites pour une requête (en d'autres termes,
197 si les trois variables d'environnement <code>CGI</code>,
198 <code>NO_CACHE</code> et <code>NO_STORE</code> existent pour la
201 <pre class="prettyprint lang-config">
202 Header merge Cache-Control no-cache env=CGI
203 Header merge Cache-Control no-cache env=NO_CACHE
204 Header merge Cache-Control no-store env=NO_STORE
208 <p>alors, la réponse contiendra l'en-tête suivant :</p>
210 <div class="example"><p><code>
211 Cache-Control: no-cache, no-store
214 <p>Si <code>append</code> avait été utilisé à la place de
215 <code>merge</code>, la réponse aurait contenu l'en-tête suivant
218 <div class="example"><p><code>
219 Cache-Control: no-cache, no-cache, no-store
223 Définit un cookie de test si et seulement si le client n'envoie
225 <pre class="prettyprint lang-config">
226 Header set Set-Cookie testcookie "expr=-z %{req:Cookie}"
232 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
233 <div class="directive-section"><h2><a name="Header" id="Header">Header</a> <a name="header" id="header">Directive</a></h2>
234 <table class="directive">
235 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure les en-têtes d'une réponse HTTP</td></tr>
236 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Header [<var>condition</var>] add|append|echo|edit|merge|set|unset
237 <var>en-tête</var> [<var>valeur</var>] [early|env=[!]<var>variable</var>]</code></td></tr>
238 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
239 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
240 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
241 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_headers</td></tr>
242 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>La condition par défaut est temporairement passée
243 à "always" dans les version 2.3.9 et 2.3.10</td></tr>
245 <p>Cette directive permet de remplacer, fusionner, ou
246 supprimer des en-têtes de réponse HTTP. L'en-tête est modifié juste
247 après que le gestionnaire de contenu et les filtres en sortie ne
248 s'exécutent, ce qui permet la modification des en-têtes
251 <p>L'argument optionnel <var>condition</var> permet de déterminer
252 sur quelle table interne d'en-têtes de réponses cette directive va
253 opérer. D'autres composants du serveur peuvent avoir stocké leurs
254 en-têtes de réponses dans la table correspondant à
255 <code>onsuccess</code> ou dans celle correspondant à
256 <code>always</code>. Dans ce contexte, "Always" fait référence au
257 choix d'envoyer les en-têtes que vous ajoutez aux réponses, qu'elle
258 soient avec succès ou échouées ; par contre, si votre action est une
259 fonction d'un en-tête existant, vous devrez lire la documentation de
260 manière plus approfondie car dans ce cas, les choses se compliquent.</p>
262 <p>Vous pouvez avoir à changer la valeur par défaut
263 <code>onsuccess</code> en <code>always</code> dans des circonstances
264 similaires à celles exposées plus loin. Notez aussi que la répétition
265 de cette directive avec les deux conditions peut être pertinente
266 dans certains scénarios, car <code>always</code> n'englobe pas
267 <code>onsuccess</code> en ce qui concerne les en-têtes existants :</p>
270 <li>Vous ajoutez un en-tête à une réponse échouée (non-2xx),
271 une redirection par exemple, et dans ce cas, seule la table
272 correspondant à <code>always</code> est utilisée dans la réponse
274 <li>Vous modifiez ou supprimez un en-tête généré par un script
275 CGI, et dans ce cas, les scripts CGI sont dans la table
276 correspondant à <code>always</code> et non dans la table par
278 <li>Vous modifiez ou supprimez un en-tête généré par tel ou tel
279 composant du serveur, mais cet en-tête n'est pas trouvé par la
280 condition par défaut <code>onsuccess</code>.</li>
283 <p>L'action que cette directive provoque est déterminée par le
284 premier argument (ou par le second argument si une
285 <var>condition</var> est spécifiée). Il peut prendre
286 une des valeurs suivantes :</p>
289 <dt><code>add</code></dt>
290 <dd>L'en-tête est ajouté au jeu d'en-têtes préexistant, même s'il
291 existe déjà. Ceci peut conduire à la présence de deux (ou plusieurs)
292 en-têtes possèdant le même nom et donc induire des conséquences
293 imprévues ; en général, il est préférable d'utiliser
294 <code>set</code>, <code>append</code> ou <code>merge</code>.</dd>
296 <dt><code>append</code></dt>
297 <dd>La valeur d'en-tête est ajoutée à tout en-tête existant de même
298 nom. Lorsqu'une nouvelle valeur est ainsi ajoutée, elle est séparée
299 de celles qui sont déjà présentes par une virgule. Il s'agit de la
300 méthode HTTP standard permettant d'affecter plusieurs valeurs à un
303 <dt><code>echo</code></dt>
304 <dd>Les en-têtes de la requête possédant le nom spécifié sont
305 recopiés vers les en-têtes de la réponse. <var>en-tête</var> peut
306 être une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>, et
307 <var>valeur</var> ne doit pas être présent.</dd>
309 <dt><code>edit</code></dt>
310 <dd>Si l'en-tête existe, sa valeur est modifiée en fonction d'une
311 <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a> de type
312 recherche/remplacement. L'argument <var>valeur</var> est une
313 <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>, et
314 l'argument <var>remplacement</var> une chaîne de caractères de
315 remplacement qui peut contenir des références arrières.</dd>
317 <dt><code>merge</code></dt>
318 <dd>La valeur d'en-tête est ajoutée à tout en-tête de même nom, sauf
319 si elle apparaît déjà dans la liste des valeurs préexistantes de
320 l'en-tête séparées par des virgules. Lorsqu'une nouvelle valeur est
321 ainsi ajoutée, elle est séparée de celles qui sont déjà présentes
322 par une virgule. Il s'agit de la méthode HTTP standard permettant
323 d'affecter plusieurs valeurs à un en-tête. Les valeurs sont
324 comparées en tenant compte de la casse, et après le traitement de
325 tous les spécificateurs de format. Une valeur entourée de guillemets
326 est considérée comme différente de la même valeur mais sans
329 <dt><code>set</code></dt>
330 <dd>L'en-tête est défini, remplaçant tout en-tête préexistant avec
331 le même nom. L'argument <var>valeur</var> peut être une chaîne de
334 <dt><code>unset</code></dt>
335 <dd>L'en-tête est supprimé s'il existe. Si plusieurs en-têtes
336 possèdent le même nom, ils seront tous supprimés. L'argument
337 <var>value</var> ne doit pas apparaître.</dd>
340 <p>Cet argument est suivi d'un nom d'<var>en-tête</var> qui peut se
341 terminer par un caractère ':', mais ce n'est pas obligatoire. La
342 casse est ignorée avec <code>set</code>, <code>append</code>,
343 <code>merge</code>, <code>add</code>, <code>unset</code> et
344 <code>edit</code>. Le nom d'<var>en-tête</var> est sensible à la
345 casse pour <code>echo</code> et peut être une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>.</p>
347 <p>Avec <code>set</code>, <code>append</code>, <code>merge</code> et
348 <code>add</code>, une <var>valeur</var> est spécifiée comme
349 argument suivant. Si <var>valeur</var> contient des espaces, elle
350 doit être entourée de guillemets. <var>valeur</var> peut être une
351 chaîne de caractères, une chaîne contenant des spécificateurs de
352 format, ou une combinaison des deux. <var>valeur</var> supporte les
353 spécificateurs de format suivants :</p>
355 <table class="bordered"><tr class="header"><th>Format</th><th>Description</th></tr>
356 <tr><td><code>%%</code></td>
357 <td>Le caractère pourcentage</td></tr>
358 <tr class="odd"><td><code>%t</code></td>
359 <td>Le moment de réception de la requête en temps
360 universel coordonné depuis le temps epoch (Jan. 1, 1970) et
361 exprimé en microsecondes. La valeur est précédée de
362 <code>t=</code>.</td></tr>
363 <tr><td><code>%D</code></td>
364 <td>Le temps écoulé entre la réception de la requête et l'envoi
365 des en-têtes sur le réseau. Il s'agit de la durée de traitement
366 de la requête. La valeur est précédée de <code>D=</code>. La
367 valeur est exprimée en microsecondes.</td></tr>
368 <tr class="odd"><td><code>%{NOM_VARIABLE}e</code></td>
369 <td>Le contenu de la <a href="../env.html">variable
370 d'environnement</a> <code>NOM_VARIABLE</code>.</td></tr>
371 <tr><td><code>%{NOM_VARIABLE}s</code></td>
372 <td>Le contenu de la <a href="../env.html">variable
373 d'environnement SSL</a> <code>NOM_VARIABLE</code>, si
374 <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> est activé.</td></tr>
377 <div class="note"><h3>Note</h3>
378 <p>Le spécificateur de format <code>%s</code> est disponible
379 depuis la version 2.1 d'Apache ; il peut être utilisé à la place
380 de <code>%e</code> pour éviter de devoir spécifier
381 <code>SSLOptions +StdEnvVars</code>. Cependant, si
382 <code>SSLOptions +StdEnvVars</code> doit tout de même être
383 spécifié pour une raison quelconque, <code>%e</code> sera plus
384 efficace que <code>%s</code>.</p>
387 <p><code>edit</code>nécessite les deux arguments
388 <var>valeur</var>, qui est une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression
389 rationnelle</a>, et une chaîne additionnelle
390 <var>remplacement</var>.</p>
392 <p>La directive <code class="directive">Header</code> peut être suivie d'un
393 argument additionnel qui peut prendre les valeurs suivantes :</p>
396 <dt><code>early</code></dt>
397 <dd>Spécifie <a href="#early">traitement préalable</a>.</dd>
398 <dt><code>env=[!]<var>variable</var></code></dt>
399 <dd>La directive est appliquée si et seulement si la <a href="../env.html">variable d'environnement</a>
400 <code>variable</code> existe. Un <code>!</code> devant
401 <code>variable</code> inverse le test, et la directive ne
402 s'appliquera alors que si <code>variable</code> n'est pas définie.</dd>
403 <dt><code>expr=<var>expression</var></code></dt>
404 <dd>La directive s'applique si et seulement si <var>expression</var>
405 est évaluée à true. Vous trouverez plus de détails à propos de la
406 syntaxe et de l'évaluation des expressions dans la documentation <a href="../expr.html">ap_expr</a>.</dd>
409 <p>Excepté le cas du mode <a href="#early">précoce</a>, les
410 directives <code class="directive">Header</code> sont traitées juste avant
411 l'envoi de la réponse sur le réseau. Cela signifie qu'il est
412 possible de définir et/ou modifier la plupart des en-têtes, à
413 l'exception de ceux qui sont ajoutés par le filtre HTTP
414 d'en-tête, comme Content-Type.</p>
417 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
418 <div class="directive-section"><h2><a name="RequestHeader" id="RequestHeader">RequestHeader</a> <a name="requestheader" id="requestheader">Directive</a></h2>
419 <table class="directive">
420 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure les en-têtes d'une requête HTTP</td></tr>
421 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RequestHeader add|append|edit|edit*|merge|set|unset <var>en-tête</var>
422 [<var>valeur</var>] [<var>remplacement</var>] [early|env=[!]<var>variable</var>]</code></td></tr>
423 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
424 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
425 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
426 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_headers</td></tr>
428 <p>Cette directive permet de remplacer, fusionner, modifier ou
429 supprimer des en-têtes de requête HTTP. L'en-tête est modifié juste
430 avant que le gestionnaire de contenu ne s'exécute, ce qui permet la
431 modification des en-têtes entrants. L'action effectuée est
432 déterminée par le premier argument. Ce dernier accepte les valeurs
437 <dt><code>add</code></dt>
438 <dd>L'en-tête est ajouté au jeu d'en-têtes préexistant, même s'il
439 existe déjà. Ceci peut conduire à la présence de deux (ou plusieurs)
440 en-têtes possèdant le même nom et donc induire des conséquences
441 imprévues ; en général, il est préférable d'utiliser
442 <code>set</code>, <code>append</code> ou <code>merge</code>.</dd>
444 <dt><code>append</code></dt>
445 <dd>La valeur d'en-tête est ajoutée à tout en-tête existant de même
446 nom. Lorsqu'une nouvelle valeur est ainsi ajoutée, elle est séparée
447 de celles qui sont déjà présentes par une virgule. Il s'agit de la
448 méthode HTTP standard permettant d'affecter plusieurs valeurs à un
451 <dt><code>edit*</code></dt>
452 <dd>Si l'en-tête existe, sa valeur est modifiée en fonction d'une
453 <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a> de type
454 recherche/remplacement. L'argument <var>valeur</var> est une
455 <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>, et
456 l'argument <var>remplacement</var> une chaîne de caractères de
457 remplacement qui peut contenir des références arrières. Avec
458 <code>edit</code>, la chaîne de l'en-tête correspondant au modèle ne
459 sera recherchée et remplacée qu'une seule fois, alors qu'avec
460 <code>edit*</code>, elle le sera pour chacune de ses instances si
461 elle apparaît plusieurs fois.</dd>
463 <dt><code>merge</code></dt>
464 <dd>La valeur d'en-tête est ajoutée à tout en-tête de même nom, sauf
465 si elle apparaît déjà dans la liste des valeurs préexistantes de
466 l'en-tête séparées par des virgules. Lorsqu'une nouvelle valeur est
467 ainsi ajoutée, elle est séparée de celles qui sont déjà présentes
468 par une virgule. Il s'agit de la méthode HTTP standard permettant
469 d'affecter plusieurs valeurs à un en-tête. Les valeurs sont
470 comparées en tenant compte de la casse, et après le traitement de
471 tous les spécificateurs de format. Une valeur entourée de guillemets
472 est considérée comme différente de la même valeur mais sans
475 <dt><code>set</code></dt>
476 <dd>L'en-tête est défini, remplaçant tout en-tête préexistant avec
479 <dt><code>unset</code></dt>
480 <dd>L'en-tête est supprimé s'il existe. Si plusieurs en-têtes
481 possèdent le même nom, ils seront tous supprimés. L'argument
482 <var>value</var> ne doit pas apparaître.</dd>
485 <p>Cet argument est suivi d'un nom d'en-tête qui peut se terminer
486 par un caractère ':', mais ce n'est pas obligatoire. La casse est
487 ignorée. Avec <code>set</code>, <code>append</code>,
488 <code>merge</code> et <code>add</code>, une <var>valeur</var> est
489 fournie en troisième argument. Si une <var>valeur</var> contient des
490 espaces, elle doit être entourée de guillemets. Avec
491 <code>unset</code>, aucune <var>valeur</var> ne doit apparaître.
492 <var>valeur</var> peut être une chaîne de caractères, une chaîne
493 contenant des spécificateurs de format, ou une combinaison des deux.
494 Les spécificateurs de format supportés sont les mêmes que ceux de la
495 directive <code class="directive"><a href="#header">Header</a></code>, à
496 laquelle vous pouvez vous reporter pour plus de détails. Avec
497 <code>edit</code>, les deux arguments <var>valeur</var> et
498 <var>remplacement</var> sont obligatoires, et correspondent
499 respectivement à une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression
500 rationnelle</a> et à une chaîne de remplacement.</p>
502 <p>La directive <code class="directive">RequestHeader</code> peut être
503 suivie d'un argument supplémentaire, qui pourra prendre les valeurs
506 <dt><code>early</code></dt>
507 <dd>Spécifie <a href="#early">traitement préalable</a>.</dd>
508 <dt><code>env=[!]<var>variable</var></code></dt>
509 <dd>La directive est appliquée si et seulement si la <a href="../env.html">variable d'environnement</a>
510 <code>variable</code> existe. Un <code>!</code> devant
511 <code>variable</code> inverse le test, et la directive ne
512 s'appliquera alors que si <code>variable</code> n'est pas définie.</dd>
513 <dt><code>expr=<var>expression</var></code></dt>
514 <dd>La directive s'applique si et seulement si <var>expression</var>
515 est évaluée à true. Vous trouverez plus de détails à propos de la
516 syntaxe et de l'évaluation des expressions dans la documentation <a href="../expr.html">ap_expr</a>.</dd>
519 <p>Excepté le cas du mode <a href="#early">précoce</a>, la directive
520 <code class="directive">RequestHeader</code> est traitée juste avant la
521 prise en compte de la requête par son gestionnaire, au cours de la
522 phase de vérification. Ceci permet la modification des en-têtes
523 générés par le navigateur, ou par les filtres en entrée
528 <div class="bottomlang">
529 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_headers.html" hreflang="en" rel="alternate" title="English"> en </a> |
530 <a href="../fr/mod/mod_headers.html" title="Français"> fr </a> |
531 <a href="../ja/mod/mod_headers.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
532 <a href="../ko/mod/mod_headers.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
533 </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>
534 <script type="text/javascript"><!--//--><![CDATA[//><!--
535 var comments_shortname = 'httpd';
536 var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_headers.html';
538 if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
539 d.write('<div id="comments_thread"><\/div>');
540 var s = d.createElement('script');
541 s.type = 'text/javascript';
543 s.src = 'https://c.apaste.info/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
544 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
547 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
549 })(window, document);
550 //--><!]]></script></div><div id="footer">
551 <p class="apache">Copyright 2012 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
552 <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[//><!--
553 if (typeof(prettyPrint) !== 'undefined') {