]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_headers.html.fr
Fixes to XML. rebuild.
[apache] / docs / manual / mod / mod_headers.html.fr
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.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.5</p>
20 <img alt="" src="../images/feather.gif" /></div>
21 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
22 <div id="path">
23 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.5</a> &gt; <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">&nbsp;en&nbsp;</a> |
28 <a href="../fr/mod/mod_headers.html" title="Français">&nbsp;fr&nbsp;</a> |
29 <a href="../ja/mod/mod_headers.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
30 <a href="../ko/mod/mod_headers.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</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
33 HTTP</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
52 tardif</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">
70 RequestHeader append MirrorID "mirror 12"
71 RequestHeader unset MirrorID
72     </pre>
73
74
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>
79 <div class="section">
80 <h2><a name="early" id="early">Traitement précoce et traitement
81 tardif</a></h2>
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>
88
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
96     générée.</p>
97
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>&lt;Directory&gt;</code> ou
104     <code>&lt;Location&gt;</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>
108
109     <ol>
110       <li>
111         Copie tous les en-têtes de requête qui commencent par "TS" vers
112         les en-têtes de la réponse :
113
114         <pre class="prettyprint lang-config">
115           Header echo ^TS
116         </pre>
117
118       </li>
119
120       <li>
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
127         serveur.
128
129         <pre class="prettyprint lang-config">
130           Header set mon-en-tête "%D %t"
131         </pre>
132
133
134         <p>le résultat est l'ajout à la réponse d'un en-tête du type :</p>
135
136         <div class="example"><p><code>
137           mon-en-tête: D=3775428 t=991424704447256
138         </code></p></div>
139       </li>
140
141       <li>
142         Dit Bonjour à Joe
143
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."
147         </code></p></div>
148
149         <p>le résultat est l'ajout à la réponse d'un en-tête du type :</p>
150
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."
154         </pre>
155
156       </li>
157
158       <li>
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>.
165
166         <pre class="prettyprint lang-config">
167 SetEnvIf MyRequestHeader myvalue HAVE_MyRequestHeader
168 Header set MyHeader "%D %t mytext" env=HAVE_MyRequestHeader
169         </pre>
170
171
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
174         du type :</p>
175
176         <div class="example"><p><code>
177           mon-en-tête: D=3775428 t=991424704447256 montexte
178         </code></p></div>
179       </li>
180
181       <li>
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> :
185
186         <pre class="prettyprint lang-config">
187           RequestHeader edit Destination ^https: http: early
188         </pre>
189
190       </li>
191
192       <li>
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
199         requête) :
200
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
205         </pre>
206
207
208         <p>alors, la réponse contiendra l'en-tête suivant :</p>
209
210         <div class="example"><p><code>
211           Cache-Control: no-cache, no-store
212         </code></p></div>
213
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
216         :</p>
217
218         <div class="example"><p><code>
219           Cache-Control: no-cache, no-cache, no-store
220         </code></p></div>
221       </li>
222       <li>
223         Définit un cookie de test si et seulement si le client n'envoie
224         pas de cookie
225         <pre class="prettyprint lang-config">
226           Header set Set-Cookie testcookie "expr=-z %{req:Cookie}"
227         </pre>
228
229       </li>
230     </ol>
231 </div>
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>
244 </table>
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
249     sortants.</p>
250
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>
261
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>
268
269     <ul>
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
273        définitive.</li>
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
277        défaut.</li>
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>
281     </ul>
282
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>
287
288     <dl>
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>
295
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
301     en-tête.</dd>
302
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>
308
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>
316
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
327     guillemets.</dd>
328
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
332     formatage.</dd>
333
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>
338     </dl>
339
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>
346
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>
354
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>
375 </table>
376
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>
385     </div>
386
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>
391
392     <p>La directive <code class="directive">Header</code> peut être suivie d'un
393     argument additionnel qui peut prendre les valeurs suivantes :</p>
394
395     <dl>
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>
407     </dl>
408
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>
415
416 </div>
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>
427 </table>
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
433     suivantes :</p>
434
435     <dl>
436
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>
443
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
449     en-tête.</dd>
450
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>
462
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
473     guillemets.</dd>
474
475     <dt><code>set</code></dt>
476     <dd>L'en-tête est défini, remplaçant tout en-tête préexistant avec
477     le même nom.</dd>
478
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>
483     </dl>
484
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>
501
502     <p>La directive <code class="directive">RequestHeader</code> peut être
503     suivie d'un argument supplémentaire, qui pourra prendre les valeurs
504     suivantes :</p>
505     <dl>
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>
517     </dl>
518
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
524     d'Apache.</p>
525
526 </div>
527 </div>
528 <div class="bottomlang">
529 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_headers.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
530 <a href="../fr/mod/mod_headers.html" title="Français">&nbsp;fr&nbsp;</a> |
531 <a href="../ja/mod/mod_headers.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
532 <a href="../ko/mod/mod_headers.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</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&amp;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';
537 (function(w, d) {
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';
542         s.async = true;
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);
545     }
546     else {
547         d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
548     }
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') {
554     prettyPrint();
555 }
556 //--><!]]></script>
557 </body></html>