]> granicus.if.org Git - apache/blobdiff - docs/manual/mod/mod_cache.html.fr
Merge in APR[-util] macros from branches/trunk-buildconf-noapr
[apache] / docs / manual / mod / mod_cache.html.fr
index 43a87e57c82ab51b6a7a46d8f0bd3ba37d135f0d..fea3eadc64947197fee790ed243e6d8045a2fd8d 100644 (file)
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
+<!--
         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
               This file is generated from xml source: DO NOT EDIT
         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
@@ -17,7 +19,7 @@
 <div id="page-header">
 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
 <p class="apache">Serveur Apache HTTP Version 2.5</p>
-<img alt="" src="../images/feather.gif" /></div>
+<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.5</a> &gt; <a href="./">Modules</a></div>
     reportez-vous au <a href="../caching.html">Guide de la mise en
     cache</a>.</p>
 </div>
-<div id="quickview"><h3 class="directives">Directives</h3>
+<div id="quickview"><h3>Sujets</h3>
+<ul id="topics">
+<li><img alt="" src="../images/down.gif" /> <a href="#related">Modules apparentés et directives</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#sampleconf">Exemple de configuration</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#thunderingherd">Eviter une tempête de requête</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#finecontrol">Contrôle fin via le filtre CACHE</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#status">Etat du cache et journalisation</a></li>
+</ul><h3 class="directives">Directives</h3>
 <ul id="toc">
 <li><img alt="" src="../images/down.gif" /> <a href="#cachedefaultexpire">CacheDefaultExpire</a></li>
 <li><img alt="" src="../images/down.gif" /> <a href="#cachedetailheader">CacheDetailHeader</a></li>
 <li><img alt="" src="../images/down.gif" /> <a href="#cachestorenostore">CacheStoreNoStore</a></li>
 <li><img alt="" src="../images/down.gif" /> <a href="#cachestoreprivate">CacheStorePrivate</a></li>
 </ul>
-<h3>Sujets</h3>
-<ul id="topics">
-<li><img alt="" src="../images/down.gif" /> <a href="#related">Modules apparentés et directives</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#sampleconf">Exemple de configuration</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#thunderingherd">Eviter une tempête de requête</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#finecontrol">Contrôle fin via le filtre CACHE</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#status">Etat du cache et journalisation</a></li>
-</ul><h3>Voir aussi</h3>
+<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_cache">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&amp;component=mod_cache">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
 <ul class="seealso">
 <li><a href="../caching.html">Guide de la mise en
 cache</a></li>
-</ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
+<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="related" id="related">Modules apparentés et directives</a></h2>
+    <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/mod_cache_disk.html#cacheroot">CacheRoot</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cachedirlevels">CacheDirLevels</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cachedirlength">CacheDirLength</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cacheminfilesize">CacheMinFileSize</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cachemaxfilesize">CacheMaxFileSize</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocache">CacheSocache</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocachemaxtime">CacheSocacheMaxTime</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocachemintime">CacheSocacheMinTime</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocachemaxsize">CacheSocacheMaxSize</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocachereadsize">CacheSocacheReadSize</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocachereadtime">CacheSocacheReadTime</a></code></li></ul></td></tr></table>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="sampleconf" id="sampleconf">Exemple de configuration</a></h2>
+    <div class="example"><h3>Extrait de httpd.conf</h3><pre class="prettyprint lang-config">#
+# Exemple de configuration du cache
+#
+LoadModule cache_module modules/mod_cache.so
+&lt;IfModule mod_cache.c&gt;
+    LoadModule cache_disk_module modules/mod_cache_disk.so
+    &lt;IfModule mod_cache_disk.c&gt;
+        CacheRoot c:/cacheroot
+        CacheEnable disk  /
+        CacheDirLevels 5
+        CacheDirLength 3
+    &lt;/IfModule&gt;
+    
+    # Lorsqu'on sert de mandataire, on ne met pas en cache la liste
+# des mises à jour de sécurité
+    CacheDisable http://security.update.server/update-list/
+&lt;/IfModule&gt;</pre>
+</div>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="thunderingherd" id="thunderingherd">Eviter une tempête de requête</a></h2>
+  <p>Lorsqu'une entrée du cache est périmée, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>
+  soumet une requête conditionnelle au processus d'arrière-plan, qui est
+  censé confirmer la validité de l'entrée du cache, ou dans la négative
+  envoyer une entrée mise à jour.</p>
+  <p>Un court mais non négligeable laps de temps existe entre le moment
+  où l'entrée du cache est périmée, et le moment où elle est mise à
+  jour. Sur un serveur fortement chargé, un certain nombre de requêtes
+  peut arriver pendant ce laps de temps, et provoquer une
+  <strong>tempête</strong> de requêtes susceptibles de saturer le
+  processus d'arrière-plan de manière soudaine et imprédictible.</p>
+  <p>Pour contenir cette tempête, on peut utiliser la directive
+  <code class="directive">CacheLock</code> afin de définir un répertoire où
+  seront créés <strong>à la volée</strong> des verrous pour les URLs.
+  Ces verrous sont utilisés comme autant d'<strong>indications</strong>
+  par les autres requêtes, soit pour empêcher une tentative de mise en
+  cache (un autre processus est en train de récupérer l'entité), soit
+  pour indiquer qu'une entrée périmée est en cours de mise à jour
+  (pendant ce temps, c'est le contenu périmé qui sera renvoyé).
+  </p>
+  <h3>Mise en cache initiale d'une entrée</h3>
+    
+    <p>Lorsqu'une entité est mise en cache pour la première fois, un
+    verrou est créé pour cette entité jusqu'à ce que la réponse ait été
+    entièrement mise en cache. Pendant la durée de vie du verrou, le
+    cache va empêcher une seconde tentative de mise en cache de la même
+    entité. Bien que cela ne suffise pas à contenir la tempête de
+    requêtes, toute tentative de mettre en cache la même entité
+    plusieurs fois simultanément est stoppée.
+    </p>
+  
+  <h3>Mise à jour d'une entrée périmée</h3>
+    
+    <p>Lorsqu'une entrée atteint la limite de sa durée de vie, et
+    devient par conséquent périmée, un verrou est créé pour cette entité
+    jusqu'à ce que la réponse ait été soit confirmée comme encore
+    valide, soit remplacée par le processus d'arrière-plan. Pendant la
+    durée de vie du verrou, une seconde requête entrante va provoquer le
+    renvoi de la donnée périmée, et la tempête de requêtes sera
+    contenue.</p>
+  
+  <h3>Verrous et en-tête Cache-Control: no-cache</h3>
+    
+    <p>Les verrous ne sont utilisés <strong>qu'à titre
+    indicatif</strong> pour enjoindre le cache à être plus coopératif
+    avec les serveurs d'arrière-plan, et il est possible de passer outre
+    si nécessaire. Si le client envoie une requête contenant un en-tête
+    Cache-Control imposant un nouveau téléchargement de l'entité, tout
+    verrou éventuel sera ignoré, la requête du client sera honorée
+    immédiatement, et l'entrée du cache mise à jour.</p>
+
+    <p>Comme mécanisme de sécurité supplémentaire, la durée de vie
+    maximale des verrous est configurable. Lorsque cette limite est
+    atteinte, le verrou est supprimé et une autre requête peut alors en
+    créer un nouveau. Cette durée de vie peut être définie via la
+    directive <code class="directive">CacheLockMaxAge</code>, et sa valeur par
+    défaut est de 5 secondes.
+    </p>
+  
+  <h3>Exemple de configuration</h3>
+    
+    <div class="example"><h3>Activation du verrouillage du cache</h3><pre class="prettyprint lang-config">#
+# Active le verrouillage du cache
+#
+&lt;IfModule mod_cache.c&gt;
+    CacheLock on
+    CacheLockPath /tmp/mod_cache-lock
+    CacheLockMaxAge 5
+&lt;/IfModule&gt;</pre>
+</div>
+  
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="finecontrol" id="finecontrol">Contrôle fin via le filtre CACHE</a></h2>
+  <p>Dans son mode de fonctionnement par défaut, le cache s'exécute sous
+  la forme d'un gestionnaire rapide, court-circuitant la majorité des
+  traitements du serveur et fournissant ainsi une mise en cache
+  possédant les plus hautes performances disponibles.</p>
+
+  <p>Dans ce mode, le cache <strong>s'incruste</strong> devant le
+  serveur, comme si un mandataire de mise en cache indépendant RFC 2616
+  était placé devant ce dernier.</p>
+
+  <p>Bien que que ce mode offre les meilleures performances, les
+  administrateurs peuvent souhaiter, dans certaines circonstances,
+  effectuer des traitements sur la requête après que cette dernière ait
+  été mise en cache, comme ajouter du contenu personnalisé à la page
+  mise en cache, ou appliquer des restrictions d'autorisations au
+  contenu. Pour y parvenir, l'administrateur sera alors souvent forcé de
+  placer des serveurs mandataires inverses indépendants soit derrière,
+  soit devant le serveur de mise en cache.</p>
+
+  <p>Pour résoudre ce problème, la directive <code class="directive"><a href="#cachequickhandler">CacheQuickHandler</a></code> peut être définie à
+  <strong>off</strong>, afin que le serveur traite toutes les phases
+  normalement exécutées par une requête non mise en cache, y compris les
+  phases <strong>d'authentification et d'autorisation</strong>.</p>
+
+  <p>En outre, l'administrateur peut éventuellement spécifier le
+  <strong>point précis dans la chaîne de filtrage</strong> où devra
+  intervenir la mise en cache en ajoutant le filtre
+  <strong>CACHE</strong> à la chaîne de filtrage en sortie.</p>
+
+  <p>Par exemple, pour mettre en cache le contenu avant d'appliquer une
+  compression à la réponse, placez le filtre <strong>CACHE</strong>
+  avant le filtre <strong>DEFLATE</strong> comme dans l'exemple suivant
+  :</p>
+
+  <pre class="prettyprint lang-config"># Mise en cache du contenu avant la compression optionnelle
+CacheQuickHandler off
+AddOutputFilterByType CACHE;DEFLATE text/plain</pre>
+
+
+  <p>Une autre possibilité consiste à mettre en cache le contenu avant
+  l'ajout de contenu personnalisé via <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> (ou
+  tout autre filtre de traitement de contenu). Dans l'exemple suivant,
+  les modèles contenant des balises comprises par
+  <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> sont mis en cache avant d'être
+  interprétés :</p>
+
+  <pre class="prettyprint lang-config"># Mise en cache du contenu avant l'intervention de mod_include et
+   # mod_deflate
+CacheQuickHandler off
+AddOutputFilterByType CACHE;INCLUDES;DEFLATE text/html</pre>
+
+
+  <p>Vous pouvez insérer le filtre <strong>CACHE</strong> en tout point
+  de la chaîne de filtrage. Dans l'exemple suivant, le contenu est mis
+  en cache après avoir été interprété par <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>,
+  mais avant d'être traité par <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> :</p>
+
+  <pre class="prettyprint lang-config"># Mise en cache du contenu entre les interventions de mod_include et
+   # mod_deflate
+CacheQuickHandler off
+AddOutputFilterByType INCLUDES;CACHE;DEFLATE text/html</pre>
+
+
+  <div class="warning"><h3>Avertissement :</h3>Si pour une raison
+  ou pour une autre, le point d'insertion du filtre
+  <strong>CACHE</strong> dans la chaîne de filtrage est modifié, vous
+  devez <strong>vider votre cache</strong> pour être sûr que les données
+  servies soient à jour. En effet, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> n'est pas
+  en mesure d'effectuer cette opération à votre place.</div>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="status" id="status">Etat du cache et journalisation</a></h2>
+  <p>Lorsque <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> a décidé s'il devait ou non
+  servir une entité depuis le cache, les raisons précises de cette
+  décision sont enregistrées dans l'environnement du sous-processus
+  interne à la requête sous la clé <strong>cache-status</strong>.
+  Cette information peut être journalisée via la directive <code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code> comme suit :</p>
+
+  <pre class="prettyprint lang-config">LogFormat "%{cache-status}e ..."</pre>
+
+
+  <p>En fonction de la décision prise, l'information est aussi écrite
+  dans l'environnement du sous-processus sous une des quatre clés
+  suivantes :</p>
+
+  <dl>
+    <dt>cache-hit</dt><dd>Le contenu a été servi depuis le cache.</dd>
+    <dt>cache-revalidate</dt><dd>Le contenu du cache était périmé, a été
+    mis à jour avec succès, puis servi depuis le cache.</dd>
+    <dt>cache-miss</dt><dd>Le contenu n'était pas dans le cache et a été
+    servi directement depuis le serveur demandé.</dd>
+    <dt>cache-invalidate</dt><dd>L'entité du cache est devenue invalide
+    suite à une requête d'un type autre que GET ou HEAD.</dd>
+  </dl>
+
+  <p>Il est alors possible d'envisager une journalisation conditionnelle
+  du traitement des requêtes par rapport au cache comme dans l'exemple
+  suivant :</p>
+
+  <pre class="prettyprint lang-config">CustomLog "cached-requests.log" common env=cache-hit
+CustomLog "uncached-requests.log" common env=cache-miss
+CustomLog "revalidated-requests.log" common env=cache-revalidate
+CustomLog "invalidated-requests.log" common env=cache-invalidate</pre>
+
+
+  <p>Pour les concepteurs de modules, une accroche (hook) nommée
+  <var>cache_status</var> est disponible et permet aux modules de
+  répondre aux résultats de la vérification du cache ci-dessus de manière
+  personnalisée.</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="cachedefaultexpire" id="cachedefaultexpire">Directive</a> <a name="CacheDefaultExpire" id="CacheDefaultExpire">CacheDefaultExpire</a></h2>
 <table class="directive">
@@ -255,7 +469,7 @@ sp
     cache sera désactivée pour l'ensemble de l'arborescence concernée
     par la section Location.</p>
 
-    <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">&lt;Location /foo&gt;
+    <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">&lt;Location "/foo"&gt;
     CacheDisable on
 &lt;/Location&gt;</pre>
 </div>
@@ -317,13 +531,13 @@ en mandat direct dans les versions 2.2 et ant
 
     <pre class="prettyprint lang-config"># Mise en cache de contenu (gestionnaire normal seulement)
 CacheQuickHandler off
-&lt;Location /foo&gt;
+&lt;Location "/foo"&gt;
     CacheEnable disk
 &lt;/Location&gt;
 
 # Mise en cache via une expression rationnelle (gestionnaire normal seulement)
 CacheQuickHandler off
-&lt;LocationMatch foo$&gt;
+&lt;LocationMatch "foo$"&gt;
     CacheEnable disk
 &lt;/LocationMatch&gt;
 
@@ -944,218 +1158,6 @@ marqu
 <li><code class="directive"><a href="#cacheignorecachecontrol">CacheIgnoreCacheControl</a></code></li>
 <li><code class="directive"><a href="#cachestorenostore">CacheStoreNoStore</a></code></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="related" id="related">Modules apparentés et directives</a></h2>
-    <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/mod_cache_disk.html#cacheroot">CacheRoot</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cachedirlevels">CacheDirLevels</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cachedirlength">CacheDirLength</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cacheminfilesize">CacheMinFileSize</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cachemaxfilesize">CacheMaxFileSize</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocache">CacheSocache</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocachemaxtime">CacheSocacheMaxTime</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocachemintime">CacheSocacheMinTime</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocachemaxsize">CacheSocacheMaxSize</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocachereadsize">CacheSocacheReadSize</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocachereadtime">CacheSocacheReadTime</a></code></li></ul></td></tr></table>
-</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="sampleconf" id="sampleconf">Exemple de configuration</a></h2>
-    <div class="example"><h3>Extrait de httpd.conf</h3><pre class="prettyprint lang-config">#
-# Exemple de configuration du cache
-#
-LoadModule cache_module modules/mod_cache.so
-&lt;IfModule mod_cache.c&gt;
-    LoadModule cache_disk_module modules/mod_cache_disk.so
-    &lt;IfModule mod_cache_disk.c&gt;
-        CacheRoot c:/cacheroot
-        CacheEnable disk  /
-        CacheDirLevels 5
-        CacheDirLength 3
-    &lt;/IfModule&gt;
-    
-    # Lorsqu'on sert de mandataire, on ne met pas en cache la liste
-# des mises à jour de sécurité
-    CacheDisable http://security.update.server/update-list/
-&lt;/IfModule&gt;</pre>
-</div>
-</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="thunderingherd" id="thunderingherd">Eviter une tempête de requête</a></h2>
-  <p>Lorsqu'une entrée du cache est périmée, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>
-  soumet une requête conditionnelle au processus d'arrière-plan, qui est
-  censé confirmer la validité de l'entrée du cache, ou dans la négative
-  envoyer une entrée mise à jour.</p>
-  <p>Un court mais non négligeable laps de temps existe entre le moment
-  où l'entrée du cache est périmée, et le moment où elle est mise à
-  jour. Sur un serveur fortement chargé, un certain nombre de requêtes
-  peut arriver pendant ce laps de temps, et provoquer une
-  <strong>tempête</strong> de requêtes susceptibles de saturer le
-  processus d'arrière-plan de manière soudaine et imprédictible.</p>
-  <p>Pour contenir cette tempête, on peut utiliser la directive
-  <code class="directive">CacheLock</code> afin de définir un répertoire où
-  seront créés <strong>à la volée</strong> des verrous pour les URLs.
-  Ces verrous sont utilisés comme autant d'<strong>indications</strong>
-  par les autres requêtes, soit pour empêcher une tentative de mise en
-  cache (un autre processus est en train de récupérer l'entité), soit
-  pour indiquer qu'une entrée périmée est en cours de mise à jour
-  (pendant ce temps, c'est le contenu périmé qui sera renvoyé).
-  </p>
-  <h3>Mise en cache initiale d'une entrée</h3>
-    
-    <p>Lorsqu'une entité est mise en cache pour la première fois, un
-    verrou est créé pour cette entité jusqu'à ce que la réponse ait été
-    entièrement mise en cache. Pendant la durée de vie du verrou, le
-    cache va empêcher une seconde tentative de mise en cache de la même
-    entité. Bien que cela ne suffise pas à contenir la tempête de
-    requêtes, toute tentative de mettre en cache la même entité
-    plusieurs fois simultanément est stoppée.
-    </p>
-  
-  <h3>Mise à jour d'une entrée périmée</h3>
-    
-    <p>Lorsqu'une entrée atteint la limite de sa durée de vie, et
-    devient par conséquent périmée, un verrou est créé pour cette entité
-    jusqu'à ce que la réponse ait été soit confirmée comme encore
-    valide, soit remplacée par le processus d'arrière-plan. Pendant la
-    durée de vie du verrou, une seconde requête entrante va provoquer le
-    renvoi de la donnée périmée, et la tempête de requêtes sera
-    contenue.</p>
-  
-  <h3>Verrous et en-tête Cache-Control: no-cache</h3>
-    
-    <p>Les verrous ne sont utilisés <strong>qu'à titre
-    indicatif</strong> pour enjoindre le cache à être plus coopératif
-    avec les serveurs d'arrière-plan, et il est possible de passer outre
-    si nécessaire. Si le client envoie une requête contenant un en-tête
-    Cache-Control imposant un nouveau téléchargement de l'entité, tout
-    verrou éventuel sera ignoré, la requête du client sera honorée
-    immédiatement, et l'entrée du cache mise à jour.</p>
-
-    <p>Comme mécanisme de sécurité supplémentaire, la durée de vie
-    maximale des verrous est configurable. Lorsque cette limite est
-    atteinte, le verrou est supprimé et une autre requête peut alors en
-    créer un nouveau. Cette durée de vie peut être définie via la
-    directive <code class="directive">CacheLockMaxAge</code>, et sa valeur par
-    défaut est de 5 secondes.
-    </p>
-  
-  <h3>Exemple de configuration</h3>
-    
-    <div class="example"><h3>Activation du verrouillage du cache</h3><pre class="prettyprint lang-config">#
-# Active le verrouillage du cache
-#
-&lt;IfModule mod_cache.c&gt;
-    CacheLock on
-    CacheLockPath /tmp/mod_cache-lock
-    CacheLockMaxAge 5
-&lt;/IfModule&gt;</pre>
-</div>
-  
-</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="finecontrol" id="finecontrol">Contrôle fin via le filtre CACHE</a></h2>
-  <p>Dans son mode de fonctionnement par défaut, le cache s'exécute sous
-  la forme d'un gestionnaire rapide, court-circuitant la majorité des
-  traitements du serveur et fournissant ainsi une mise en cache
-  possédant les plus hautes performances disponibles.</p>
-
-  <p>Dans ce mode, le cache <strong>s'incruste</strong> devant le
-  serveur, comme si un mandataire de mise en cache indépendant RFC 2616
-  était placé devant ce dernier.</p>
-
-  <p>Bien que que ce mode offre les meilleures performances, les
-  administrateurs peuvent souhaiter, dans certaines circonstances,
-  effectuer des traitements sur la requête après que cette dernière ait
-  été mise en cache, comme ajouter du contenu personnalisé à la page
-  mise en cache, ou appliquer des restrictions d'autorisations au
-  contenu. Pour y parvenir, l'administrateur sera alors souvent forcé de
-  placer des serveurs mandataires inverses indépendants soit derrière,
-  soit devant le serveur de mise en cache.</p>
-
-  <p>Pour résoudre ce problème, la directive <code class="directive"><a href="#cachequickhandler">CacheQuickHandler</a></code> peut être définie à
-  <strong>off</strong>, afin que le serveur traite toutes les phases
-  normalement exécutées par une requête non mise en cache, y compris les
-  phases <strong>d'authentification et d'autorisation</strong>.</p>
-
-  <p>En outre, l'administrateur peut éventuellement spécifier le
-  <strong>point précis dans la chaîne de filtrage</strong> où devra
-  intervenir la mise en cache en ajoutant le filtre
-  <strong>CACHE</strong> à la chaîne de filtrage en sortie.</p>
-
-  <p>Par exemple, pour mettre en cache le contenu avant d'appliquer une
-  compression à la réponse, placez le filtre <strong>CACHE</strong>
-  avant le filtre <strong>DEFLATE</strong> comme dans l'exemple suivant
-  :</p>
-
-  <pre class="prettyprint lang-config"># Mise en cache du contenu avant la compression optionnelle
-CacheQuickHandler off
-AddOutputFilterByType CACHE;DEFLATE text/plain</pre>
-
-
-  <p>Une autre possibilité consiste à mettre en cache le contenu avant
-  l'ajout de contenu personnalisé via <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> (ou
-  tout autre filtre de traitement de contenu). Dans l'exemple suivant,
-  les modèles contenant des balises comprises par
-  <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> sont mis en cache avant d'être
-  interprétés :</p>
-
-  <pre class="prettyprint lang-config"># Mise en cache du contenu avant l'intervention de mod_include et
-   # mod_deflate
-CacheQuickHandler off
-AddOutputFilterByType CACHE;INCLUDES;DEFLATE text/html</pre>
-
-
-  <p>Vous pouvez insérer le filtre <strong>CACHE</strong> en tout point
-  de la chaîne de filtrage. Dans l'exemple suivant, le contenu est mis
-  en cache après avoir été interprété par <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>,
-  mais avant d'être traité par <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> :</p>
-
-  <pre class="prettyprint lang-config"># Mise en cache du contenu entre les interventions de mod_include et
-   # mod_deflate
-CacheQuickHandler off
-AddOutputFilterByType INCLUDES;CACHE;DEFLATE text/html</pre>
-
-
-  <div class="warning"><h3>Avertissement :</h3>Si pour une raison
-  ou pour une autre, le point d'insertion du filtre
-  <strong>CACHE</strong> dans la chaîne de filtrage est modifié, vous
-  devez <strong>vider votre cache</strong> pour être sûr que les données
-  servies soient à jour. En effet, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> n'est pas
-  en mesure d'effectuer cette opération à votre place.</div>
-
-</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="status" id="status">Etat du cache et journalisation</a></h2>
-  <p>Lorsque <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> a décidé s'il devait ou non
-  servir une entité depuis le cache, les raisons précises de cette
-  décision sont enregistrées dans l'environnement du sous-processus
-  interne à la requête sous la clé <strong>cache-status</strong>.
-  Cette information peut être journalisée via la directive <code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code> comme suit :</p>
-
-  <pre class="prettyprint lang-config">LogFormat "%{cache-status}e ..."</pre>
-
-
-  <p>En fonction de la décision prise, l'information est aussi écrite
-  dans l'environnement du sous-processus sous une des quatre clés
-  suivantes :</p>
-
-  <dl>
-    <dt>cache-hit</dt><dd>Le contenu a été servi depuis le cache.</dd>
-    <dt>cache-revalidate</dt><dd>Le contenu du cache était périmé, a été
-    mis à jour avec succès, puis servi depuis le cache.</dd>
-    <dt>cache-miss</dt><dd>Le contenu n'était pas dans le cache et a été
-    servi directement depuis le serveur demandé.</dd>
-    <dt>cache-invalidate</dt><dd>L'entité du cache est devenue invalide
-    suite à une requête d'un type autre que GET ou HEAD.</dd>
-  </dl>
-
-  <p>Il est alors possible d'envisager une journalisation conditionnelle
-  du traitement des requêtes par rapport au cache comme dans l'exemple
-  suivant :</p>
-
-  <pre class="prettyprint lang-config">CustomLog cached-requests.log common env=cache-hit
-CustomLog uncached-requests.log common env=cache-miss
-CustomLog revalidated-requests.log common env=cache-revalidate
-CustomLog invalidated-requests.log common env=cache-invalidate</pre>
-
-
-  <p>Pour les concepteurs de modules, une accroche (hook) nommée
-  <var>cache_status</var> est disponible et permet aux modules de
-  répondre aux résultats de la vérification du cache ci-dessus de manière
-  personnalisée.</p>
-
 </div>
 </div>
 <div class="bottomlang">
@@ -1181,7 +1183,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_cache.html
     }
 })(window, document);
 //--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2015 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="apache">Copyright 2017 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/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
 if (typeof(prettyPrint) !== 'undefined') {
     prettyPrint();