<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>mod_headers - Serveur HTTP Apache Version 2.4</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<script src="../style/scripts/prettify.min.js" type="text/javascript">
</script>

<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body>
<div id="page-header">
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
<p class="apache">Serveur HTTP Apache Version 2.4</p>
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<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.4</a> &gt; <a href="./">Modules</a></div>
<div id="page-content">
<div id="preamble"><h1>Module Apache mod_headers</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_headers.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_headers.html" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_headers.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_headers.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div>
<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
HTTP</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>headers_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_headers.c</td></tr></table>
<h3>Sommaire</h3>

    <p>Ce module fournit des directives permettant de contrôler et
    modifier les en-têtes de requêtes et de réponses HTTP. Les en-têtes
    peuvent être fusionnés, remplacés ou supprimés.</p>
</div>
<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#order">Chronologie du traitement</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#early">Traitement précoce et traitement
tardif</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#header">Header</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#requestheader">RequestHeader</a></li>
</ul>
<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&amp;list_id=144532&amp;product=Apache%20httpd-2&amp;query_format=specific&amp;order=changeddate%20DESC%2Cpriority%2Cbug_severity&amp;component=mod_headers">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&amp;component=mod_headers">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="order" id="order">Chronologie du traitement</a></h2>

    <p>Les directives fournies par <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code> peuvent
    s'insérer presque partout dans la configuration du serveur, et on
    peut limiter leur portée en les plaçant dans des <a href="../sections.html">sections de configuration</a>.</p>

    <p>La chronologie du traitement est importante et est affectée par
    l'ordre d'apparition des directives dans le fichier de configuration
    et par leur placement dans les <a href="../sections.html#mergin">sections de configuration</a>. Ainsi,
    ces deux directives ont un effet différent si leur ordre est inversé
    :</p>

    <pre class="prettyprint lang-config">RequestHeader append MirrorID "mirror 12"
RequestHeader unset MirrorID</pre>


    <p>Dans cet ordre, l'en-tête <code>MirrorID</code> n'est pas défini.
    Si l'ordre des directives était inversé, l'en-tête
    <code>MirrorID</code> serait défini à "mirror 12".</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="early" id="early">Traitement précoce et traitement
tardif</a></h2>
    <p><code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code> peut agir soir précocement, soit
    tardivement au niveau de la requête. Le mode normal est le mode
    tardif, lorsque les en-têtes de <em>requête</em> sont définis, immédiatement
    avant l'exécution du générateur de contenu, et pour les en-têtes de
    <em>réponse</em>, juste au moment où la réponse est envoyée sur le réseau.
    Utilisez toujours le mode tardif sur un serveur en production.</p>

    <p>Le mode précoce a été conçu à des fins d'aide aux tests et au
    débogage pour les développeurs. Les directives définies en utilisant
    le mot-clé <code>early</code> sont censées agir au tout début du
    traitement de la requête. Cela signifie que l'on peut les utiliser
    pour simuler différentes requêtes et définir des situations de test,
    tout en gardant à l'esprit que les en-têtes peuvent être modifiés à
    tout moment par d'autres modules avant que le réponse ne soit
    générée.</p>

    <p>Comme les directives précoces sont traitées avant que le
    chemin de la requête ne soit parcouru, les en-têtes
    précoces ne peuvent être définis que dans un contexte de serveur
    principal ou de serveur virtuel. Les directives précoces ne peuvent
    pas dépendre d'un chemin de requête, si bien qu'elles échoueront
    dans des contextes tels que <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> ou <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="examples" id="examples">Exemples</a></h2>

    <ol>
      <li>
        Copie tous les en-têtes de requête qui commencent par "TS" vers
	les en-têtes de la réponse :

        <pre class="prettyprint lang-config">Header echo ^TS</pre>

      </li>

      <li>
        Ajoute à la réponse un en-tête, <code>mon-en-tête</code>, qui
	contient un horodatage permettant de déterminer le moment où la
	requête a été reçue, et le temps qui s'est écoulé jusqu'à ce que
	la requête ait commencé à être servie. Cet en-tête peut être
	utilisé par le client pour estimer la charge du serveur ou
	isoler les goulets d'étranglement entre le client et le
	serveur.

        <pre class="prettyprint lang-config">Header set mon-en-tête "%D %t"</pre>


        <p>le résultat est l'ajout à la réponse d'un en-tête du type :</p>

        <div class="example"><p><code>
          mon-en-tête: D=3775428 t=991424704447256
        </code></p></div>
      </li>

      <li>
        Dit Bonjour à Joe

        <div class="example"><p><code>
          Header set mon-en-tête "Bonjour Joe. Il a fallu %D microsecondes \<br />
          à Apache pour servir cette requête."
        </code></p></div>

        <p>le résultat est l'ajout à la réponse d'un en-tête du type :</p>

        <pre class="prettyprint lang-config">	Header set MyHeader "Bonjour Joe. Il a fallu D=3775428 microsecondes à Apache
          pour servir cette requête."</pre>

      </li>

      <li>
        Ajoute l'en-tête <code>mon-en-tête</code> à la réponse si et
	seulement si l'en-tête <code>mon-en-tête-requête</code> est
	présent dans la requête. Ceci peut s'avérer utile pour générer
	des en-têtes de réponse "à la tête du client". Notez que cet
	exemple nécessite les services du module
	<code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code>.

        <pre class="prettyprint lang-config">SetEnvIf MyRequestHeader myvalue HAVE_MyRequestHeader
Header set MyHeader "%D %t mytext" env=HAVE_MyRequestHeader</pre>


        <p>Si l'en-tête <code>mon-en-tête-requête: mavaleur</code> est
	présent dans la requête HTTP, la réponse contiendra un en-tête
	du type :</p>

        <div class="example"><p><code>
          mon-en-tête: D=3775428 t=991424704447256 montexte
        </code></p></div>
      </li>

      <li>
        Permet à DAV de fonctionner avec Apache sur SSL (voir la <a href="http://svn.haxx.se/users/archive-2006-03/0549.shtml">description
	du problème</a>) en remplaçant <var>https:</var> par
	<var>http:</var> dans l'en-tête <var>Destination</var> :

        <pre class="prettyprint lang-config">RequestHeader edit Destination ^https: http: early</pre>

      </li>

      <li>
        Définit la valeur d'un même en-tête sous de multiples conditions
	non exclusives, mais ne duplique pas une valeur déjà définie
	dans l'en-tête qui en résulte. Si toutes les conditions
	suivantes sont satisfaites pour une requête (en d'autres termes,
	si les trois variables d'environnement <code>CGI</code>,
	<code>NO_CACHE</code> et <code>NO_STORE</code> existent pour la
	requête) :

        <pre class="prettyprint lang-config">Header merge Cache-Control no-cache env=CGI
Header merge Cache-Control no-cache env=NO_CACHE
Header merge Cache-Control no-store env=NO_STORE</pre>


        <p>alors, la réponse contiendra l'en-tête suivant :</p>

        <div class="example"><p><code>
          Cache-Control: no-cache, no-store
        </code></p></div>

        <p>Si <code>append</code> avait été utilisé à la place de
	<code>merge</code>, la réponse aurait contenu l'en-tête suivant
	:</p>

        <div class="example"><p><code>
          Cache-Control: no-cache, no-cache, no-store
        </code></p></div>
      </li>
      <li>
        Définit un cookie de test si et seulement si le client n'envoie
	pas de cookie
        <pre class="prettyprint lang-config">Header set Set-Cookie testcookie "expr=-z %{req:Cookie}"</pre>

      </li>
      <li>
        Ajoute un en-tête de mise en cache pour les réponses avec un
	code d'état HTTP de 200
        <pre class="prettyprint lang-config">Header append Cache-Control s-maxage=600 "expr=%{REQUEST_STATUS} == 200"</pre>

      </li>

    </ol>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="header" id="header">Directive</a> <a name="Header" id="Header">Header</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure les en-têtes d'une réponse HTTP</td></tr>
<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
<var>en-tête</var> [[expr=]<var>valeur</var>
[<var>remplacement</var>]
[early|env=[!]<var>variable</var>|expr=<var>expression</var>]]
</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_headers</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>SetIfEmpty est disponible depuis la version 2.4.7 du
serveur HTTP Apache ; le paramètre expr=valeur a été introduit avec la
version 2.4.10</td></tr>
</table>
    <p>Cette directive permet de remplacer, fusionner, ou
    supprimer des en-têtes de réponse HTTP. L'en-tête est modifié juste
    après que le gestionnaire de contenu et les filtres en sortie ne
    s'exécutent, ce qui permet la modification des en-têtes
    sortants.</p>

    <p>L'argument optionnel <var>condition</var> permet de déterminer
    sur quelle table interne d'en-têtes de réponses cette directive va
    opérer : <code>onsuccess</code> (valeur par défaut, peut être omis) ou
    <code>always</code>. A la différence de ceux de la première table, les
    en-têtes de la seconde sont ajoutés à la réponse même en cas d'erreur et
    sont conservés au fil des redirections internes (par exemple les
    gestionnaires ErrorDocument). Notez aussi que la répétition
    de cette directive avec les deux conditions peut être pertinente
    dans certains scénarios, car <code>always</code> n'englobe pas
    <code>onsuccess</code> en ce qui concerne les en-têtes existants :</p>

    <ul>
       <li>Vous ajoutez un en-tête à une réponse
       générée localement et échouée (non-2xx),
       une redirection par exemple, et dans ce cas, seule la table
       correspondant à <code>always</code> est utilisée dans la réponse
       définitive.</li>
       <li>Vous modifiez ou supprimez un en-tête généré par un script CGI ou par
       <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code>, auquel cas, les en-têtes des scripts CGI
       sont dans la table correspondant à <code>always</code> et non dans la
       table par défaut.</li>
       <li>Vous modifiez ou supprimez un en-tête généré par tel ou tel
       composant du serveur, mais cet en-tête n'est pas trouvé par la
       condition par défaut <code>onsuccess</code>.</li>
    </ul>

    <p>Comme il n'y a pas de liste unique "normalisée" d'en-têtes, la manière
    dont httpd stocke en interne les en-têtes des réponses HTTP est à l'origine
    de la fonctionnalité que constitue la différence entre
    <code>onsuccess</code> et <code>always</code>. Si vous ne gardez pas à
    l'esprit le concept ci-après lors de l'écriture de votre configuration,
    certaines réponses HTTP pourront contenir des en-têtes dupliqués
    (ce qui pourra dérouter les utilisateurs ou même parfois les clients HTTP). Supposons par
    exemple que votre configuration comporte un mandataire PHP simple avec
    <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> et que votre script PHP d'arrière-plan
    ajoute l'en-tête <code>X-Foo: bar</code> à chaque réponse HTTP. Comme décrit
    plus haut, <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> utilise la table
    <code>always</code> pour stocker les en-têtes, et une configuration comme la
    suivante n'aboutira pas au résultat attendu car l'en-tête sera dupliqué
    avec les deux valeurs :</p>

    <pre class="prettyprint lang-config"># la valeur de X-Foo est définie dans la table d'en-têtes 'onsuccess'
Header set X-Foo: baz</pre>
    

    <p>Plusieurs modèles de configuration permettent de contourner ce problème,
    comme celui-ci :</p>

        <pre class="prettyprint lang-config"># 'onsuccess' peut être omis car il s'agit de la valeur par défaut
Header onsuccess unset X-Foo
Header always set X-Foo "baz"</pre>


    <p>Outre le paramètre <var>condition</var> décrit ci-dessus, vous
    pouvez limiter une action en fonction de codes d'état HTTP, par
    exemple pour les requêtes mandatées ou générées par un programme
    CGI. Voir l'exemple qui utilise %{REQUEST_STATUS} dans la section
    ci-dessus.</p>

    <p>L'action que cette directive provoque est déterminée par le
    premier argument (ou par le second argument si une
    <var>condition</var> est spécifiée). Il peut prendre
    une des valeurs suivantes :</p>

    <div class="warning"><h3>Avertissement</h3>
        <p>Vous devez lire la différence, décrite plus haut, entre les listes
	d'en-têtes <code>always</code> et <code>onsuccess</code> avant de lire
	la liste d'actions ci-dessous car cet important concept s'applique
	encore ici. En fait, chaque action fonctionne telle qu'elle est décrite
	mais seulement pour la liste d'en-têtes cible.</p>
    </div>

    <dl>
    <dt><code>add</code></dt>
    <dd>L'en-tête est ajouté au jeu d'en-têtes préexistant, même s'il
    existe déjà. Ceci peut conduire à la présence de deux (ou plusieurs)
    en-têtes possèdant le même nom et donc induire des conséquences
    imprévues ; en général, il est préférable d'utiliser
    <code>set</code>, <code>append</code> ou <code>merge</code>.</dd>

    <dt><code>append</code></dt>
    <dd>La valeur d'en-tête est ajoutée à tout en-tête existant de même
    nom. Lorsqu'une nouvelle valeur est ainsi ajoutée, elle est séparée
    de celles qui sont déjà présentes par une virgule. Il s'agit de la
    méthode HTTP standard permettant d'affecter plusieurs valeurs à un
    en-tête.</dd>

    <dt><code>echo</code></dt>
    <dd>Les en-têtes de la requête possédant le nom spécifié sont
    recopiés vers les en-têtes de la réponse. <var>en-tête</var> peut
    être une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>, et
    <var>valeur</var> ne doit pas être présent.</dd>

    <dt><code>edit</code></dt>
    <dt><code>edit*</code></dt>
    <dd>Si l'en-tête existe, sa valeur est modifiée en fonction d'une
    <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a> de type
    recherche/remplacement. L'argument <var>valeur</var> est une
    <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>, et
    l'argument <var>remplacement</var> une chaîne de caractères de
    remplacement qui peut contenir des références
    arrières ou des spécificateurs de format. La forme <code>edit</code> n'effectuera une
    recherche/remplacement qu'une seule fois dans la valeur de
    l'en-tête, alors que la forme <code>edit*</code> en effectuera autant
    que le nombre d'apparition de la chaîne à remplacer.</dd>

    <dt><code>merge</code></dt>
    <dd>La valeur d'en-tête est ajoutée à tout en-tête de même nom, sauf
    si elle apparaît déjà dans la liste des valeurs préexistantes de
    l'en-tête séparées par des virgules. Lorsqu'une nouvelle valeur est
    ainsi ajoutée, elle est séparée de celles qui sont déjà présentes
    par une virgule. Il s'agit de la méthode HTTP standard permettant
    d'affecter plusieurs valeurs à un en-tête. Les valeurs sont
    comparées en tenant compte de la casse, et après le traitement de
    tous les spécificateurs de format. Une valeur entourée de guillemets
    est considérée comme différente de la même valeur mais sans
    guillemets.</dd>

    <dt><code>set</code></dt>
    <dd>L'en-tête est défini, remplaçant tout en-tête préexistant avec
    le même nom. L'argument <var>valeur</var> peut être une chaîne de
    formatage.</dd>

    <dt><code>setifempty</code></dt>
    <dd>L'en-tête est défini, mais seulement s'il n'existe
    aucun en-tête avec le même nom.
    <div class="note">
    L'en-tête Content-Type est un cas particulier car il est possible que sa
    valeur ait été déterminée mais que l'en-tête ne soit pas présent dans la
    réponse lorsque <code>setifempty</code> est évalué. Dans ce cas, il est
    préférable d'utiliser <code>set</code> comme dans l'exemple suivant :
    <pre class="prettyprint lang-config">Header set Content-Type "text/plain" "expr=-z %{CONTENT_TYPE}"</pre>

    </div></dd>

    <dt><code>unset</code></dt>
    <dd>L'en-tête est supprimé s'il existe. Si plusieurs en-têtes
    possèdent le même nom, ils seront tous supprimés. L'argument
    <var>value</var> ne doit pas apparaître.</dd>

    <dt><code>note</code></dt>
    <dd>La valeur de l'<var>en-tête</var> considéré est copiée dans une
    note interne dont le nom est spécifié via l'argument
    <var>valeur</var>. Ceci permet de journaliser la valeur d'un en-tête
    envoyé par un programme CGI ou une ressource mandatée, même s'il
    est prévu de l'effacer.<br />
    Disponible à partir de la version 2.4.7 du serveur HTTP Apache.</dd>

    </dl>    

    <p>Cet argument est suivi d'un nom d'<var>en-tête</var> qui peut se
    terminer par un caractère ':', mais ce n'est pas obligatoire. La
    casse est ignorée avec <code>set</code>, <code>append</code>,
    <code>merge</code>, <code>add</code>, <code>unset</code> et
    <code>edit</code>. Le nom d'<var>en-tête</var> est sensible à la
    casse pour <code>echo</code> et peut être une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>.</p>

    <p>Avec <code>set</code>, <code>append</code>, <code>merge</code> et
    <code>add</code>, une <var>valeur</var> est spécifiée comme
    argument suivant. Si <var>valeur</var> contient des espaces, elle
    doit être entourée de guillemets. <var>valeur</var> peut être une
    chaîne de caractères, une chaîne contenant des spécificateurs de
    format propres à <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code> (et des caractères
    littéraux), ou une expression  <a href="../expr.html">ap_expr</a>
    préfixée par <em>expr=</em>.</p>
    
    <p><var>valeur</var> supporte les spécificateurs de format suivants :</p>

    <table class="bordered"><tr class="header"><th>Format</th><th>Description</th></tr>
<tr><td><code>%%</code></td>
        <td>Le caractère pourcentage</td></tr>
<tr class="odd"><td><code>%t</code></td>
        <td>Le moment de réception de la requête en temps
	universel coordonné depuis le temps epoch (Jan. 1, 1970) et
	exprimé en microsecondes. La valeur est précédée de
	<code>t=</code>.</td></tr>
<tr><td><code>%D</code></td>
        <td>Le temps écoulé entre la réception de la requête et l'envoi
	des en-têtes sur le réseau. Il s'agit de la durée de traitement
	de la requête. La valeur est précédée de <code>D=</code>. La
	valeur est exprimée en microsecondes.</td></tr>
<tr class="odd"><td><code>%l</code></td>
        <td>La charge moyenne courante du serveur proprement dit. Ce
	sont les valeurs obtenues par <code>getloadavg()</code> qui
	représentent la charge moyenne courante, sur 5 minutes et sur 15
	minutes. Chaque valeur est précédée de <code>l=</code> et
	séparée de la suivante par un <code>/</code>.<br />
	Disponible depuis la version 2.4.4 du serveur HTTP Apache.
        </td></tr>
<tr><td><code>%i</code></td>
        <td>Le pourcentage courant de httpd au repos (de 0 à 100)
	en se basant sur le nombre de processus et threads disponibles.
	La valeur est précédée de <code>i=</code>.<br />
	Disponible depuis la version 2.4.4 du serveur HTTP Apache.
        </td></tr>
<tr class="odd"><td><code>%b</code></td>
        <td>Le pourcentage courant de httpd utilisé (de 0 à 100)
	en se basant sur le nombre de processus et threads disponibles.
	La valeur est précédée de <code>b=</code>.<br />
	Disponible depuis la version 2.4.4 du serveur HTTP Apache.
        </td></tr>
<tr><td><code>%{NOM_VARIABLE}e</code></td>
        <td>Le contenu de la <a href="../env.html">variable
	d'environnement</a> <code>NOM_VARIABLE</code>.</td></tr>
<tr class="odd"><td><code>%{NOM_VARIABLE}s</code></td>
        <td>Le contenu de la <a href="../env.html">variable
	d'environnement SSL</a> <code>NOM_VARIABLE</code>, si
	<code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> est activé.</td></tr>
</table>

    <div class="note"><h3>Note</h3>
      <p>Le spécificateur de format <code>%s</code> est disponible
      depuis la version 2.1 d'Apache ; il peut être utilisé à la place
      de <code>%e</code> pour éviter de devoir spécifier
      <code>SSLOptions +StdEnvVars</code>. Cependant, si
      <code>SSLOptions +StdEnvVars</code> doit tout de même être
      spécifié pour une raison quelconque, <code>%e</code> sera plus
      efficace que <code>%s</code>.</p>
    </div>

    <div class="note"><h3>Note à propos des valeurs des expressions</h3>
    <p>Lorsque le paramètre valeur utilise l'interpréteur <a href="../expr.html">ap_expr</a>, certaines syntaxes d'expressions
    seront différentes des exemples qui évaluent des expressions
    <em>booléennes</em> telles que &lt;If&gt; :</p>
    <ul>
      <li>Le point de départ de la syntaxe est 'string' au lieu de
      'expr'.</li>
      <li>Les appels de fonction utilisent la syntaxe %{funcname:arg} au
      lieu de funcname(arg).</li>
      <li>Les fonctions multi-arguments ne sont pas encore disponibles
      depuis le point de départ 'string'.</li>
      <li>Il faut mettre entre guillemets l'ensemble du paramètre, comme
      dans l'exemple suivant : 
          <pre class="prettyprint lang-config">Header set foo-checksum "expr=%{md5:foo}"</pre>

       </li>
                   
    </ul>
    </div>

    <p><code>edit</code>nécessite les deux arguments
    <var>valeur</var>, qui est une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression
    rationnelle</a>, et une chaîne additionnelle
    <var>remplacement</var>. Depuis la version 2.4.7, la chaîne de
    remplacement peut aussi
    contenir des spécificateurs de format.</p>

    <p>La directive <code class="directive">Header</code> peut être suivie d'un
    argument additionnel qui peut prendre les valeurs suivantes :</p>

    <dl>
    <dt><code>early</code></dt>
    <dd>Spécifie <a href="#early">traitement préalable</a>.</dd>
    <dt><code>env=[!]<var>variable</var></code></dt>
    <dd>La directive est appliquée si et seulement si la <a href="../env.html">variable d'environnement</a>
    <code>variable</code> existe. Un <code>!</code> devant
    <code>variable</code> inverse le test, et la directive ne
    s'appliquera alors que si <code>variable</code> n'est pas définie.</dd>
    <dt><code>expr=<var>expression</var></code></dt>
    <dd>La directive s'applique si et seulement si <var>expression</var>
    est évaluée à true. Vous trouverez plus de détails à propos de la
    syntaxe et de l'évaluation des expressions dans la documentation <a href="../expr.html">ap_expr</a>.
    <pre class="prettyprint lang-config">         # Cet exemple retarde l'évaluation de la clause de condition par
	 # rapport à &lt;If&gt;
         Header always set CustomHeader my-value "expr=%{REQUEST_URI} =~ m#^/special_path.php$#"</pre>

    </dd>
    </dl>

    <p>Excepté le cas du mode <a href="#early">précoce</a>, les
    directives <code class="directive">Header</code> sont traitées juste avant
    l'envoi de la réponse sur le réseau. Cela signifie qu'il est
    possible de définir et/ou modifier la plupart des en-têtes, à
    l'exception de certains en-têtes qui sont ajoutés par le filtre
    d'en-tête HTTP. Avant la version 2.2.12, il n'était pas
    possible de modifier l'en-tête Content-Type avec cette directive.</p>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="requestheader" id="requestheader">Directive</a> <a name="RequestHeader" id="RequestHeader">RequestHeader</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure les en-têtes d'une requête HTTP</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RequestHeader add|append|edit|edit*|merge|set|setifempty|unset
<var>en-tête</var> [[expr=]<var>valeur</var>
[<var>remplacement</var>]
[early|env=[!]<var>variable</var>|expr=<var>expression</var>]]
</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_headers</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>SetIfEmpty est disponible depuis la version 2.4.7 du
serveur HTTP Apache ; le paramètre expr=valeur a été introduit avec la
version 2.4.10</td></tr>
</table>
    <p>Cette directive permet de remplacer, fusionner, modifier ou
    supprimer des en-têtes de requête HTTP. L'en-tête est modifié juste
    avant que le gestionnaire de contenu ne s'exécute, ce qui permet la
    modification des en-têtes entrants. L'action effectuée est
    déterminée par le premier argument. Ce dernier accepte les valeurs
    suivantes :</p>

    <dl>

    <dt><code>add</code></dt>
    <dd>L'en-tête est ajouté au jeu d'en-têtes préexistant, même s'il
    existe déjà. Ceci peut conduire à la présence de deux (ou plusieurs)
    en-têtes possèdant le même nom et donc induire des conséquences
    imprévues ; en général, il est préférable d'utiliser
    <code>set</code>, <code>append</code> ou <code>merge</code>.</dd>

    <dt><code>append</code></dt>
    <dd>La valeur d'en-tête est ajoutée à tout en-tête existant de même
    nom. Lorsqu'une nouvelle valeur est ainsi ajoutée, elle est séparée
    de celles qui sont déjà présentes par une virgule. Il s'agit de la
    méthode HTTP standard permettant d'affecter plusieurs valeurs à un
    en-tête.</dd>

    <dt><code>edit</code></dt>
    <dt><code>edit*</code></dt>
    <dd>Si l'en-tête existe, sa valeur est modifiée en fonction d'une
    <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a> de type
    recherche/remplacement. L'argument <var>valeur</var> est une
    <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>, et
    l'argument <var>remplacement</var> une chaîne de caractères de
    remplacement qui peut contenir des références
    arrières ou des spécificateurs de format. Avec
    <code>edit</code>, la chaîne de l'en-tête correspondant au modèle ne
    sera recherchée et remplacée qu'une seule fois, alors qu'avec
    <code>edit*</code>, elle le sera pour chacune de ses instances si
    elle apparaît plusieurs fois.</dd>

    <dt><code>merge</code></dt>
    <dd>La valeur d'en-tête est ajoutée à tout en-tête de même nom, sauf
    si elle apparaît déjà dans la liste des valeurs préexistantes de
    l'en-tête séparées par des virgules. Lorsqu'une nouvelle valeur est
    ainsi ajoutée, elle est séparée de celles qui sont déjà présentes
    par une virgule. Il s'agit de la méthode HTTP standard permettant
    d'affecter plusieurs valeurs à un en-tête. Les valeurs sont
    comparées en tenant compte de la casse, et après le traitement de
    tous les spécificateurs de format. Une valeur entourée de guillemets
    est considérée comme différente de la même valeur mais sans
    guillemets.</dd>

    <dt><code>set</code></dt>
    <dd>L'en-tête est défini, remplaçant tout en-tête préexistant avec
    le même nom.</dd>

    <dt><code>setifempty</code></dt>
    <dd>L'en-tête est défini, mais seulement s'il n'existe
    aucun en-tête avec le même nom.<br />
    Disponible depuis la version 2.4.7 du serveur HTTP Apache.</dd>

    <dt><code>unset</code></dt>
    <dd>L'en-tête est supprimé s'il existe. Si plusieurs en-têtes
    possèdent le même nom, ils seront tous supprimés. L'argument
    <var>value</var> ne doit pas apparaître.</dd>
    </dl>

    <p>Cet argument est suivi d'un nom d'en-tête qui peut se terminer
    par un caractère ':', mais ce n'est pas obligatoire. La casse est
    ignorée. Avec <code>set</code>, <code>append</code>,
    <code>merge</code> et <code>add</code>, une <var>valeur</var> est
    fournie en troisième argument. Si une <var>valeur</var> contient des
    espaces, elle doit être entourée de guillemets. Avec
    <code>unset</code>, aucune <var>valeur</var> ne doit apparaître.
    <var>valeur</var> peut être une chaîne de caractères, une chaîne
    contenant des spécificateurs de format, ou une combinaison des deux.
    Les spécificateurs de format supportés sont les mêmes que ceux de la
    directive <code class="directive"><a href="#header">Header</a></code>, à
    laquelle vous pouvez vous reporter pour plus de détails. Avec
    <code>edit</code>, les deux arguments <var>valeur</var> et
    <var>remplacement</var> sont obligatoires, et correspondent
    respectivement à une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression
    rationnelle</a> et à une chaîne de remplacement.</p>

    <p>La directive <code class="directive">RequestHeader</code> peut être
    suivie d'un argument supplémentaire, qui pourra prendre les valeurs
    suivantes :</p>
    <dl>
    <dt><code>early</code></dt>
    <dd>Spécifie <a href="#early">traitement préalable</a>.</dd>
    <dt><code>env=[!]<var>variable</var></code></dt>
    <dd>La directive est appliquée si et seulement si la <a href="../env.html">variable d'environnement</a>
    <code>variable</code> existe. Un <code>!</code> devant
    <code>variable</code> inverse le test, et la directive ne
    s'appliquera alors que si <code>variable</code> n'est pas définie.</dd>
    <dt><code>expr=<var>expression</var></code></dt>
    <dd>La directive s'applique si et seulement si <var>expression</var>
    est évaluée à true. Vous trouverez plus de détails à propos de la
    syntaxe et de l'évaluation des expressions dans la documentation <a href="../expr.html">ap_expr</a>.</dd>
    </dl>

    <p>Excepté le cas du mode <a href="#early">précoce</a>, la directive
    <code class="directive">RequestHeader</code> est traitée juste avant la
    prise en compte de la requête par son gestionnaire, au cours de la
    phase de vérification. Ceci permet la modification des en-têtes
    générés par le navigateur, ou par les filtres en entrée
    d'Apache.</p>

</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_headers.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_headers.html" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_headers.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_headers.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_headers.html';
(function(w, d) {
    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
        d.write('<div id="comments_thread"><\/div>');
        var s = d.createElement('script');
        s.type = 'text/javascript';
        s.async = true;
        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    }
    else { 
        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    }
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2022 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
    prettyPrint();
}
//--><!]]></script>
</body></html>