]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_cache.html.fr
update transformation
[apache] / docs / manual / mod / mod_cache.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_cache - 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" />
12 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
13 <body>
14 <div id="page-header">
15 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
16 <p class="apache">Serveur Apache HTTP Version 2.3</p>
17 <img alt="" src="../images/feather.gif" /></div>
18 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
19 <div id="path">
20 <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.3</a> &gt; <a href="./">Modules</a></div>
21 <div id="page-content">
22 <div id="preamble"><h1>Module Apache mod_cache</h1>
23 <div class="toplang">
24 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_cache.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
25 <a href="../fr/mod/mod_cache.html" title="Français">&nbsp;fr&nbsp;</a> |
26 <a href="../ja/mod/mod_cache.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
27 <a href="../ko/mod/mod_cache.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
28 </div>
29 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Filtre de mise en cache HTTP conforme à la RFC 2616</td></tr>
30 <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
31 <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>cache_module</td></tr>
32 <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_cache.c</td></tr></table>
33 <h3>Sommaire</h3>
34
35     <div class="warning">Ce module doit être utilisé avec précautions
36     car lorsque la directive <code class="directive"><a href="#cachequickhandler">CacheQuickHandler</a></code> est définie à sa
37     valeur par défaut <strong>on</strong>, les directives <code class="directive"><a href="../mod/mod_authz_host.html#allow">Allow</a></code> and <code class="directive"><a href="../mod/mod_authz_host.html#deny">Deny</a></code> sont court-circuitées. Vous
38     ne devez donc pas activer la gestion rapide de la mise en cache pour
39     un contenu auquel vous souhaitez limiter l'accès en fonction du nom
40     d'hôte du client, de l'adresse IP ou d'une variable
41     d'environnement.</div>
42
43     <p><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> implémente un <strong>filtre de mise
44     en cache de contenu HTTP</strong> conforme à la <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</a>, avec
45     support de la mise en cache des réponses dont le contenu a été
46     négocié et comportant l'en-tête Vary.</p>
47
48     <p>La mise en cache conforme à la RFC 2616 fournit un mécanisme
49     permettant de vérifier si un contenu expiré ou dépassé est encore à
50     jour, et peut apporter un gain de performances significatif si le
51     serveur original supporte les <strong>requêtes
52     conditionnelles</strong> en prenant en compte l'en-tête de requête
53     HTTP <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.26">If-None-Match</a>.
54     Le contenu n'est ainsi régénéré que lorsqu'il a été modifié, et non
55     lorsqu'il a expiré.</p>
56
57     <p>En tant que filtre, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> peut être placé
58     en face d'un contenu issu de tout gestionnaire, y compris
59     <strong>des fichiers à accès séquentiel</strong> (servis depuis un
60     disque lent mis en
61     cache sur un gros disque), la sortie d'un <strong>script
62     CGI</strong> ou d'un <strong>générateur de contenu
63     dynamique</strong>, ou du contenu <strong>mandaté depuis un autre
64     serveur</strong>.</p>
65
66     <p>Dans la configuration par défaut, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>
67     place le filtre de mise en cache aussi loin que possible dans la
68     pile de filtres, utilisant le <strong>gestionnaire rapide</strong>
69     pour court-circuiter tout traitement par requête lors de l'envoi du
70     contenu au client. Dans ce mode opératoire,
71     <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> peut être considéré comme un serveur
72     mandataire avec cache fixé en tête du serveur web, alors qu'il
73     s'exécute dans ce même serveur web.</p>
74
75     <p>Lorsque le gestionnaire rapide est désactivé via la directive
76     <code class="directive"><a href="#cachequickhandler">CacheQuickHandler</a></code>, il
77     devient possible d'insérer le filtre <strong>CACHE</strong> à un
78     point de la pile de filtres choisi par l'administrateur. Ceci permet
79     de mettre en cache un contenu avant que celui-ci ne soit
80     personnalisé par le filtre <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>, ou
81     éventuellement compressé par le filtre <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code>.</p>
82
83     <p>Dans le mode de fonctionnement normal, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>
84     peut être contrôlé par les en-têtes <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9">Cache-Control</a>
85     et <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.32">Pragma</a>
86     envoyés par un client dans une requête, ou par un serveur dans une
87     réponse. Dans des circonstances exceptionnelles,
88     <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> peut cependant être configuré pour
89     outrepasser ces en-têtes et forcer un comportement spécifique au
90     site, bien qu'un tel comportement sera limité à ce cache seulement,
91     et n'affectera pas les opérations des autres caches qui peuvent
92     s'insérer entre le client et le serveur, et ce type de configuration
93     ne doit donc être utiliser qu'en cas de nécessité absolue.</p>
94
95     <p>La RFC 2616 permet au cache de renvoyer des données périmées
96     pendant que l'entrée périmée correspondante est mise à jour depuis
97     le serveur original, et <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> supporte cette
98     fonctionnalité lorsque la directive <code class="directive"><a href="#cachelock">CacheLock</a></code> est configurée en
99     conséquence. De telles réponses comportent un en-tête HTTP <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.46">Warning</a>
100     contenant un code de réponse 110. La RFC 2616 permet aussi au cache
101     de renvoyer des données périmées lorsque la tentative de mise à jour
102     des données périmées renvoie une erreur 500 ou supérieure, et cette
103     fonctionnalité est supportée par défaut par
104     <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>. De telles réponses comportent un en-tête HTTP <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.46">Warning</a>
105     contenant un code de réponse 111.</p>
106
107     <p><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> requiert les services d'un ou
108     plusieurs modules de gestion de stockage. La distribution Apache de base
109     inclut un module de gestion de stockage :</p>
110     <dl>
111     <dt><code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code></dt>
112     
113     <dd>implémente un gestionnaire de stockage sur disque. Les en-têtes
114     et corps sont stockés séparément sur le disque dans une structure de
115     répertoires basée sur le condensé md5 de l'URL mise en cache.
116     Plusieurs réponses à contenu négocié peuvent être stockées en même
117     temps, mais la mise en cache de contenus partiels n'est pas
118     supportée par ce module. L'utilitaire
119     <code class="program"><a href="../programs/htcacheclean.html">htcacheclean</a></code> permet de lister et de supprimer les
120     URLs mises en cache, et de maintenir le cache en deçà de
121     certaines limites de taille et de nombre d'inodes.</dd>
122     </dl>
123
124     <p>Pour de plus amples détails, une description, et des exemples,
125     reportez-vous au <a href="../caching.html">Guide de la mise en
126     cache</a>.</p>
127 </div>
128 <div id="quickview"><h3 class="directives">Directives</h3>
129 <ul id="toc">
130 <li><img alt="" src="../images/down.gif" /> <a href="#cachedefaultexpire">CacheDefaultExpire</a></li>
131 <li><img alt="" src="../images/down.gif" /> <a href="#cachedetailheader">CacheDetailHeader</a></li>
132 <li><img alt="" src="../images/down.gif" /> <a href="#cachedisable">CacheDisable</a></li>
133 <li><img alt="" src="../images/down.gif" /> <a href="#cacheenable">CacheEnable</a></li>
134 <li><img alt="" src="../images/down.gif" /> <a href="#cacheheader">CacheHeader</a></li>
135 <li><img alt="" src="../images/down.gif" /> <a href="#cacheignorecachecontrol">CacheIgnoreCacheControl</a></li>
136 <li><img alt="" src="../images/down.gif" /> <a href="#cacheignoreheaders">CacheIgnoreHeaders</a></li>
137 <li><img alt="" src="../images/down.gif" /> <a href="#cacheignorenolastmod">CacheIgnoreNoLastMod</a></li>
138 <li><img alt="" src="../images/down.gif" /> <a href="#cacheignorequerystring">CacheIgnoreQueryString</a></li>
139 <li><img alt="" src="../images/down.gif" /> <a href="#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers</a></li>
140 <li><img alt="" src="../images/down.gif" /> <a href="#cachekeybaseurl">CacheKeyBaseURL</a></li>
141 <li><img alt="" src="../images/down.gif" /> <a href="#cachelastmodifiedfactor">CacheLastModifiedFactor</a></li>
142 <li><img alt="" src="../images/down.gif" /> <a href="#cachelock">CacheLock</a></li>
143 <li><img alt="" src="../images/down.gif" /> <a href="#cachelockmaxage">CacheLockMaxAge</a></li>
144 <li><img alt="" src="../images/down.gif" /> <a href="#cachelockpath">CacheLockPath</a></li>
145 <li><img alt="" src="../images/down.gif" /> <a href="#cachemaxexpire">CacheMaxExpire</a></li>
146 <li><img alt="" src="../images/down.gif" /> <a href="#cacheminexpire">CacheMinExpire</a></li>
147 <li><img alt="" src="../images/down.gif" /> <a href="#cachequickhandler">CacheQuickHandler</a></li>
148 <li><img alt="" src="../images/down.gif" /> <a href="#cachestaleonerror">CacheStaleOnError</a></li>
149 <li><img alt="" src="../images/down.gif" /> <a href="#cachestoreexpired">CacheStoreExpired</a></li>
150 <li><img alt="" src="../images/down.gif" /> <a href="#cachestorenostore">CacheStoreNoStore</a></li>
151 <li><img alt="" src="../images/down.gif" /> <a href="#cachestoreprivate">CacheStorePrivate</a></li>
152 </ul>
153 <h3>Sujets</h3>
154 <ul id="topics">
155 <li><img alt="" src="../images/down.gif" /> <a href="#related">Modules apparentés et directives</a></li>
156 <li><img alt="" src="../images/down.gif" /> <a href="#sampleconf">Exemple de configuration</a></li>
157 <li><img alt="" src="../images/down.gif" /> <a href="#thunderingherd">Eviter une tempête de requête</a></li>
158 <li><img alt="" src="../images/down.gif" /> <a href="#finecontrol">Contrôle fin via le filtre CACHE</a></li>
159 <li><img alt="" src="../images/down.gif" /> <a href="#status">Etat du cache et journalisation</a></li>
160 </ul><h3>Voir aussi</h3>
161 <ul class="seealso">
162 <li><a href="../caching.html">Guide de la mise en
163 cache</a></li>
164 </ul></div>
165 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
166 <div class="section">
167 <h2><a name="related" id="related">Modules apparentés et directives</a></h2>
168     <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_disk.html">mod_cache_disk</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></ul></td></tr></table>
169 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
170 <div class="section">
171 <h2><a name="sampleconf" id="sampleconf">Exemple de configuration</a></h2>
172     <div class="example"><h3>Extrait de httpd.conf</h3><p><code>
173       #<br />
174       # Exemple de configuration du cache<br />
175       #<br />
176       LoadModule cache_module modules/mod_cache.so<br />
177       <br />
178       &lt;IfModule mod_cache.c&gt;<br />
179       <span class="indent">
180         LoadModule disk_cache_module modules/mod_cache_disk.so<br />
181         &lt;IfModule mod_cache_disk.c&gt;<br />
182         <span class="indent">
183           CacheRoot c:/cacheroot<br />
184           CacheEnable disk  /<br />
185           CacheDirLevels 5<br />
186           CacheDirLength 3<br />
187         </span>
188         &lt;/IfModule&gt; <br />
189         <br />
190         # Lorsqu'on sert de mandataire, on ne met pas en cache la liste
191         # des mises à jour de sécurité<br />
192         CacheDisable http://security.update.server/update-list/<br />
193       </span>
194       &lt;/IfModule&gt;
195     </code></p></div>
196 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
197 <div class="section">
198 <h2><a name="thunderingherd" id="thunderingherd">Eviter une tempête de requête</a></h2>
199   <p>Lorsqu'une entrée du cache est périmée, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>
200   soumet une requête conditionnelle au processus d'arrière-plan, qui est
201   censé confirmer la validité de l'entrée du cache, ou dans la négative
202   envoyer une entrée mise à jour.</p>
203   <p>Un court mais non négligeable laps de temps existe entre le moment
204   où l'entrée du cache est périmée, et le moment où elle est mise à
205   jour. Sur un serveur fortement chargé, un certain nombre de requêtes
206   peut arriver pendant ce laps de temps, et provoquer une
207   <strong>tempête</strong> de requêtes susceptibles de saturer le
208   processus d'arrière-plan de manière soudaine et imprédictible.</p>
209   <p>Pour contenir cette tempête, on peut utiliser la directive
210   <code class="directive">CacheLock</code> afin de définir un répertoire où
211   seront créés <strong>à la volée</strong> des verrous pour les URLs.
212   Ces verrous sont utilisés comme autant d'<strong>indications</strong>
213   par les autres requêtes, soit pour empêcher une tentative de mise en
214   cache (un autre processus est en train de récupérer l'entité), soit
215   pour indiquer qu'une entrée périmée est en cours de mise à jour
216   (pendant ce temps, c'est le contenu périmé qui sera renvoyé).
217   </p>
218   <h3>Mise en cache initiale d'une entrée</h3>
219     
220     <p>Lorsqu'une entité est mise en cache pour la première fois, un
221     verrou est créé pour cette entité jusqu'à ce que la réponse ait été
222     entièrement mise en cache. Pendant la durée de vie du verrou, le
223     cache va empêcher une seconde tentative de mise en cache de la même
224     entité. Bien que cela ne suffise pas à contenir la tempête de
225     requêtes, toute tentative de mettre en cache la même entité
226     plusieurs fois simultanément est stoppée.
227     </p>
228   
229   <h3>Mise à jour d'une entrée périmée</h3>
230     
231     <p>Lorsqu'une entrée atteint la limite de sa durée de vie, et
232     devient par conséquent périmée, un verrou est créé pour cette entité
233     jusqu'à ce que la réponse ait été soit confirmée comme encore
234     valide, soit remplacée par le processus d'arrière-plan. Pendant la
235     durée de vie du verrou, une seconde requête entrante va provoquer le
236     renvoi de la donnée périmée, et la tempête de requêtes sera
237     contenue.</p>
238   
239   <h3>Verrous et en-tête Cache-Control: no-cache</h3>
240     
241     <p>Les verrous ne sont utilisés <strong>qu'à titre
242     indicatif</strong> pour enjoindre le cache à être plus coopératif
243     avec les serveurs d'arrière-plan, et il est possible de passer outre
244     si nécessaire. Si le client envoie une requête contenant un en-tête
245     Cache-Control imposant un nouveau téléchargement de l'entité, tout
246     verrou éventuel sera ignoré, la requête du client sera honorée
247     immédiatement, et l'entrée du cache mise à jour.</p>
248
249     <p>Comme mécanisme de sécurité supplémentaire, la durée de vie
250     maximale des verrous est configurable. Lorsque cette limite est
251     atteinte, le verrou est supprimé et une autre requête peut alors en
252     créer un nouveau. Cette durée de vie peut être définie via la
253     directive <code class="directive">CacheLockMaxAge</code>, et sa valeur par
254     défaut est de 5 secondes.
255     </p>
256   
257   <h3>Exemple de configuration</h3>
258     
259     <div class="example"><h3>Activation du verrouillage du cache</h3><p><code>
260       #<br />
261       # Active le verrouillage du cache<br />
262       #<br />
263       &lt;IfModule mod_cache.c&gt;<br />
264       <span class="indent">
265         CacheLock on<br />
266         CacheLockPath /tmp/mod_cache-lock<br />
267         CacheLockMaxAge 5<br />
268       </span>
269       &lt;/IfModule&gt;
270     </code></p></div>
271   
272 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
273 <div class="section">
274 <h2><a name="finecontrol" id="finecontrol">Contrôle fin via le filtre CACHE</a></h2>
275   <p>Dans son mode de fonctionnement par défaut, le cache s'exécute sous
276   la forme d'un gestionnaire rapide, court-circuitant la majorité des
277   traitements du serveur et fournissant ainsi une mise en cache
278   possédant les plus hautes performances disponibles.</p>
279
280   <p>Dans ce mode, le cache <strong>s'incruste</strong> devant le
281   serveur, comme si un mandataire de mise en cache indépendant RFC 2616
282   était placé devant ce dernier.</p>
283
284   <p>Bien que que ce mode offre les meilleures performances, les
285   administrateurs peuvent souhaiter, dans certaines circonstances,
286   effectuer des traitements sur la requête après que cette dernière ait
287   été mise en cache, comme ajouter du contenu personnalisé à la page
288   mise en cache, ou appliquer des restrictions d'autorisations au
289   contenu. Pour y parvenir, l'administrateur sera alors souvent forcé de
290   placer des serveurs mandataires inverses indépendants soit derrière,
291   soit devant le serveur de mise en cache.</p>
292
293   <p>Pour résoudre ce problème, la directive <code class="directive"><a href="#cachequickhandler">CacheQuickHandler</a></code> peut être définie à
294   <strong>off</strong>, afin que le serveur traite toutes les phases
295   normalement exécutées par une requête non mise en cache, y compris les
296   phases <strong>d'authentification et d'autorisation</strong>.</p>
297
298   <p>En outre, l'administrateur peut éventuellement spécifier le
299   <strong>point précis dans la chaîne de filtrage</strong> où devra
300   intervenir la mise en cache en ajoutant le filtre
301   <strong>CACHE</strong> à la chaîne de filtrage en sortie.</p>
302
303   <p>Par exemple, pour mettre en cache le contenu avant d'appliquer une
304   compression à la réponse, placez le filtre <strong>CACHE</strong>
305   avant le filtre <strong>DEFLATE</strong> comme dans l'exemple suivant
306   :</p>
307
308   <div class="example"><p><code>
309     # Mise en cache du contenu avant la compression optionnelle<br />
310     CacheQuickHandler off<br />
311     AddOutputFilterByType CACHE;DEFLATE text/plain<br /><br />
312   </code></p></div>
313
314   <p>Une autre possibilité consiste à mettre en cache le contenu avant
315   l'ajout de contenu personnalisé via <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> (ou
316   tout autre filtre de traitement de contenu). Dans l'exemple suivant,
317   les modèles contenant des balises comprises par
318   <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> sont mis en cache avant d'être
319   interprétés :</p>
320
321   <div class="example"><p><code>
322     # Mise en cache du contenu avant l'intervention de mod_include et
323     # mod_deflate<br />
324     CacheQuickHandler off<br />
325     AddOutputFilterByType CACHE;INCLUDES;DEFLATE text/html<br /><br />
326   </code></p></div>
327
328   <p>Vous pouvez insérer le filtre <strong>CACHE</strong> en tout point
329   de la chaîne de filtrage. Dans l'exemple suivant, le contenu est mis
330   en cache après avoir été interprété par <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>,
331   mais avant d'être traité par <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> :</p>
332
333   <div class="example"><p><code>
334     # Mise en cache du contenu entre les interventions de mod_include et
335     # mod_deflate<br />
336     CacheQuickHandler off<br />
337     AddOutputFilterByType INCLUDES;CACHE;DEFLATE text/html<br /><br />
338   </code></p></div>
339
340   <div class="warning"><h3>Avertissement :</h3>Si pour une raison
341   ou pour une autre, le point d'insertion du filtre
342   <strong>CACHE</strong> dans la chaîne de filtrage est modifié, vous
343   devez <strong>vider votre cache</strong> pour être sûr que les données
344   servies soient à jour. En effet, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> n'est pas
345   en mesure d'effectuer cette opération à votre place.</div>
346
347 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
348 <div class="section">
349 <h2><a name="status" id="status">Etat du cache et journalisation</a></h2>
350   <p>Lorsque <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> a décidé s'il devait ou non
351   servir une entité depuis le cache, les raisons précises de cette
352   décision sont enregistrées dans l'environnement du sous-processus
353   interne à la requête sous la clé <strong>cache-status</strong>.
354   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>
355
356   <div class="example"><p><code>
357     LogFormat "%{cache-status}e ..."
358   </code></p></div>
359
360   <p>En fonction de la décision prise, l'information est aussi écrite
361   dans l'environnement du sous-processus sous une des trois clés
362   suivantes :</p>
363
364   <dl>
365     <dt>cache-hit</dt><dd>Le contenu a été servi depuis le cache.</dd>
366     <dt>cache-revalidate</dt><dd>Le contenu du cache était périmé, a été
367     mis à jour avec succès, puis servi depuis le cache.</dd>
368     <dt>cache-miss</dt><dd>Le contenu n'était pas dans le cache et a été
369     servi directement depuis le serveur demandé.</dd>
370   </dl>
371
372   <p>Il est alors possible d'envisager une journalisation conditionnelle
373   du traitement des requêtes par rapport au cache comme dans l'exemple
374   suivant :</p>
375
376   <div class="example"><p><code>
377     CustomLog requetes-depuis-cache.log common env=cache-hit<br />
378     CustomLog requetes-hors-cache.log common env=cache-miss<br />
379     CustomLog requetes-avec-mise-a-jour-du-cache.log common env=cache-revalidate<br />
380   </code></p></div>
381
382 </div>
383 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
384 <div class="directive-section"><h2><a name="CacheDefaultExpire" id="CacheDefaultExpire">CacheDefaultExpire</a> <a name="cachedefaultexpire" id="cachedefaultexpire">Directive</a></h2>
385 <table class="directive">
386 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La durée par défaut de mise en cache d'un document
387 lorsqu'aucune date d'expiration n'a été spécifiée.</td></tr>
388 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheDefaultExpire <var>secondes</var></code></td></tr>
389 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheDefaultExpire 3600 (une heure)</code></td></tr>
390 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
391 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
392 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
393 </table>
394     <p>La directive <code class="directive">CacheDefaultExpire</code> permet de
395     spécifier un temps par défaut, en secondes, pendant lequel sera
396     conservé dans le cache un document qui ne possède ni date
397     d'expiration, ni date de dernière modification. La valeur de cette
398     directive est écrasée par la valeur de la directive
399     <code class="directive">CacheMaxExpire</code> si cette dernière est
400     utilisée.</p>
401
402     <div class="example"><p><code>
403       CacheDefaultExpire 86400
404     </code></p></div>
405
406 </div>
407 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
408 <div class="directive-section"><h2><a name="CacheDetailHeader" id="CacheDetailHeader">CacheDetailHeader</a> <a name="cachedetailheader" id="cachedetailheader">Directive</a></h2>
409 <table class="directive">
410 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute un en-tête X-Cache-Detail à la réponse.</td></tr>
411 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheDetailHeader <var>on|off</var></code></td></tr>
412 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheDetailHeader off</code></td></tr>
413 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
414 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
415 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
416 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.9 d'Apache</td></tr>
417 </table>
418   <p>Lorsque la directive <code class="directive"><a href="#cachedetailheader">CacheDetailHeader</a></code> est définie à on, un
419   en-tête <strong>X-Cache-Detail</strong> est ajouté à la réponse et
420   contient les raisons précises d'une décision d'utilisation du cache
421   vis à vis de cette dernière.</p>
422    
423   <p>Ceci peut s'avérer utile au cours du développement de services
424   RESTful mis en cache pour obtenir des informations supplémentaires à
425   propos des décisions vis à vis du cache écrites dans les en-têtes de
426   la réponse. Il est ainsi possible de vérifier si
427   <code>Cache-Control</code> et d'autres en-têtes ont été correctement
428   utilisés par le service et le client.</p>
429   
430   <p>Si le gestionnaire normal est utilisé, cette directive peut se
431   situer dans une section <code class="directive"><a href="../mod/core.html#&lt;directory&gt;">&lt;Directory&gt;</a></code> ou <code class="directive"><a href="../mod/core.html#&lt;location&gt;">&lt;Location&gt;</a></code>. Si c'est le gestionnaire
432   rapide qui est utilisé, elle doit se situer dans un contexte de
433   serveur principal ou de serveur virtuel, sinon elle sera ignorée.</p>
434
435   <div class="example"><p><code>
436     # Active l'en-tête X-Cache-Detail<br />
437     CacheDetailHeader on<br />
438   </code></p></div>
439
440   <div class="example"><p><code>
441     X-Cache-Detail: "conditional cache hit: entity refreshed" from localhost<br />
442   </code></p></div>
443
444
445 </div>
446 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
447 <div class="directive-section"><h2><a name="CacheDisable" id="CacheDisable">CacheDisable</a> <a name="cachedisable" id="cachedisable">Directive</a></h2>
448 <table class="directive">
449 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Désactive la mise en cache des URLs
450 spécifiées</td></tr>
451 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheDisable <var>chaîne-url</var> | <var>on</var></code></td></tr>
452 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
453 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
454 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
455 </table>
456     <p>La directive <code class="directive">CacheDisable</code> enjoint
457     <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> de <em>ne pas</em> mettre en cache l'URL
458     spécifiée par <var>chaîne URL</var>, ainsi que les URLs de niveaux
459     inférieurs.</p>
460
461     <div class="example"><h3>Exemple</h3><p><code>
462       CacheDisable /fichiers_locaux
463     </code></p></div>
464
465     <p>Si la directive se trouve à l'intérieur d'une section <code class="directive">&lt;Location&gt;</code>, le chemin doit être spécifié en
466     dessous de la Location, et si le mot "on" est utilisé, la mise en
467     cache sera désactivée pour l'ensemble de l'arborescence concernée
468     par la section Location.</p>
469
470     <div class="example"><h3>Exemple</h3><p><code>
471       &lt;Location /foo&gt;<br />
472         CacheDisable on<br />
473       &lt;/Location&gt;<br />
474     </code></p></div>
475
476     <p>Avec les versions 2.2.12 et ultérieures, on peut définir la
477     variable d'environnement <code>no-cache</code> pour une définition
478     plus fine des ressources à mettre en cache.</p>
479
480 <h3>Voir aussi</h3>
481 <ul>
482 <li><a href="../env.html">Les variables d'environnement dans
483 Apache</a></li>
484 </ul>
485 </div>
486 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
487 <div class="directive-section"><h2><a name="CacheEnable" id="CacheEnable">CacheEnable</a> <a name="cacheenable" id="cacheenable">Directive</a></h2>
488 <table class="directive">
489 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la mise en cache des URLs spécifiées en utilisant le
490 gestionnaire de stockage précisé</td></tr>
491 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheEnable <var>type de cache</var> <var>chaîne URL</var></code></td></tr>
492 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
493 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
494 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
495 </table>
496     <p>La directive <code class="directive">CacheEnable</code> enjoint
497     <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> de mettre en cache l'URL précisée par
498     <var>chaîne URL</var>, ainsi que les URLs de niveaux inférieurs. Le
499     gestionnaire de stockage du cache est spécifié à l'aide de
500     l'argument <var>type de cache</var>. Si la directive
501     <code class="directive">CacheEnable</code> est située à l'intérieur d'une
502     section <code class="directive">&lt;Location&gt;</code>, le paramètre
503     <var>url-string</var> devient optionnel. Si <var>type de cache</var>
504     a pour valeur <code>disk</code>, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>
505     utilisera le gestionnaire de stockage sur disque implémenté par
506     <code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code>.</p>
507     <p>Si les différentes directives <code class="directive">CacheEnable</code>
508     spécifient des URLs qui se recoupent (comme dans l'exemple
509     ci-dessous), tous les gestionnaires de stockage possibles seront
510     lancés, jusqu'au premier d'entre eux qui traitera effectivement la
511     requête.
512     L'ordre dans lequel les gestionnaires de stockage sont lancés est
513     déterminé par l'ordre dans lequel apparaissent les directives
514     <code class="directive">CacheEnable</code> dans le fichier de
515     configuration.</p>
516
517     <p>En fonctionnement du type serveur mandataire direct, <var>chaîne
518     URL</var> peut aussi être utilisé pour spécifier des sites distants
519     et des protocoles de mandat pour lesquels la mise en cache devra
520     être activée.</p>
521
522     <div class="example"><p><code>
523       # Mise en cache des URLs mandatées<br />
524       CacheEnable  disk  /<br /><br />
525       # Mise en cache des URLs FTP mandatées<br />
526       CacheEnable  disk  ftp://<br /><br />
527       # Mise en cache des contenus situés dans www.example.org<br />
528       CacheEnable  disk  http://www.example.org/<br />
529     </code></p></div>
530
531     <p>Un nom d'hôte commençant par un caractère <strong>"*"</strong>
532     correspondra à tout nom d'hôte se terminant par le suffixe
533     considéré. Un nom d'hôte commençant par un caractère
534     <strong>"."</strong> correspondra à tout nom d'hôte contenant le
535     composant de nom de domaine qui suit ce caractère.</p>
536
537     <div class="example"><p><code>
538       # Correspond à www.example.org et fooexample.org<br />
539       CacheEnable  disk  http://*example.org/<br />
540       # Correspond à www.example.org, mais pas à fooexample.org<br />
541       CacheEnable  disk  http://.example.org/<br />
542     </code></p></div>
543
544     <p>Depuis la version 2.2.12, on peut définir la variable
545     d'environnement <code>no-cache</code> pour une définition plus fine
546     des ressources à mettre en cache.</p>
547
548
549 <h3>Voir aussi</h3>
550 <ul>
551 <li><a href="../env.html">Les variables d'environnement dans
552 Apache</a></li>
553 </ul>
554 </div>
555 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
556 <div class="directive-section"><h2><a name="CacheHeader" id="CacheHeader">CacheHeader</a> <a name="cacheheader" id="cacheheader">Directive</a></h2>
557 <table class="directive">
558 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute un en-tête X-Cache à la réponse.</td></tr>
559 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheHeader <var>on|off</var></code></td></tr>
560 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheHeader off</code></td></tr>
561 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
562 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
563 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
564 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.9 d'Apache</td></tr>
565 </table>
566   <p>Lorsque la directive <code class="directive"><a href="#cacheheader">CacheHeader</a></code> est définie à on, un
567   en-tête <strong>X-Cache</strong> est ajouté à la réponse et contient
568   l'état du cache pour cette dernière. Si le gestionnaire normal est
569   utilisé, cette directive peut se situer dans une section <code class="directive"><a href="../mod/core.html#&lt;directory&gt;">&lt;Directory&gt;</a></code> ou <code class="directive"><a href="../mod/core.html#&lt;location&gt;">&lt;Location&gt;</a></code>. Si c'est le
570   gestionnaire rapide qui est utilisé, elle doit se situer dans un
571   contexte de serveur principal ou de serveur virtuel, sinon elle sera
572   ignorée.</p>
573
574   <dl>
575     <dt><strong>HIT</strong></dt><dd>Le contenu était à jour et a été
576     servi depuis le cache.</dd>
577     <dt><strong>REVALIDATE</strong></dt><dd>Le contenu était périmé, a
578     été mis à jour, puis a été servi depuis le cache.</dd>
579     <dt><strong>MISS</strong></dt><dd>Le contenu n'a pas été servi
580     depuis le cache, mais directement depuis le serveur demandé.</dd>
581   </dl>
582
583   <div class="example"><p><code>
584     # Active l'en-tête X-Cache<br />
585     CacheHeader on<br />
586   </code></p></div>
587
588   <div class="example"><p><code>
589     X-Cache: HIT from localhost<br />
590   </code></p></div>
591
592
593 </div>
594 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
595 <div class="directive-section"><h2><a name="CacheIgnoreCacheControl" id="CacheIgnoreCacheControl">CacheIgnoreCacheControl</a> <a name="cacheignorecachecontrol" id="cacheignorecachecontrol">Directive</a></h2>
596 <table class="directive">
597 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ignore les en-têtes de requête enjoignant de ne pas servir
598 le contenu au client depuis le cache</td></tr>
599 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheIgnoreCacheControl On|Off</code></td></tr>
600 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheIgnoreCacheControl Off</code></td></tr>
601 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
602 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
603 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
604 </table>
605     <p>Normalement, les requêtes contenant des en-têtes tels que
606     Cache-Control: no-cache ou Pragma: no-cache ne sont pas servies
607     depuis le cache. La directive
608     <code class="directive">CacheIgnoreCacheControl</code> permet de modifier ce
609     comportement. Avec <code class="directive">CacheIgnoreCacheControl
610     On</code>, le serveur tentera de servir la ressource depuis le
611     cache, même si la requête contient un des en-têtes cités plus haut.
612     Les ressources qui requièrent une autorisation ne seront
613     <em>jamais</em> mises en cache.</p>
614
615     <div class="example"><p><code>
616       CacheIgnoreCacheControl On
617     </code></p></div>
618
619     <div class="warning"><h3>Avertissement :</h3>
620        Cette directive permet de servir des ressources depuis le cache,
621        même si le client a demandé à ce qu'il n'en soit pas ainsi. Le
622        contenu servi est ainsi susceptible d'être périmé.
623     </div>
624
625 <h3>Voir aussi</h3>
626 <ul>
627 <li><code class="directive"><a href="#cachestoreprivate">CacheStorePrivate</a></code></li>
628 <li><code class="directive"><a href="#cachestorenostore">CacheStoreNoStore</a></code></li>
629 </ul>
630 </div>
631 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
632 <div class="directive-section"><h2><a name="CacheIgnoreHeaders" id="CacheIgnoreHeaders">CacheIgnoreHeaders</a> <a name="cacheignoreheaders" id="cacheignoreheaders">Directive</a></h2>
633 <table class="directive">
634 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ne pas stocker le(s) en-tête(s) spécifié(s) dans le cache.
635 </td></tr>
636 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheIgnoreHeaders <var>en-tête</var> [<var>en-tête</var>] ...</code></td></tr>
637 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheIgnoreHeaders None</code></td></tr>
638 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
639 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
640 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
641 </table>
642     <p>En accord avec la RFC 2616, les en-têtes HTTP hop-by-hop ne sont
643     pas stockés dans le cache. Les en-têtes HTTP suivant sont des
644     en-têtes hop-by-hop, et en tant que tels, ne sont en  <em>aucun</em>
645     cas stockés dans le cache, quelle que soit la définition de la
646     directive <code class="directive">CacheIgnoreHeaders</code> :</p>
647
648     <ul>
649       <li><code>Connection</code></li>
650       <li><code>Keep-Alive</code></li>
651       <li><code>Proxy-Authenticate</code></li>
652       <li><code>Proxy-Authorization</code></li>
653       <li><code>TE</code></li>
654       <li><code>Trailers</code></li>
655       <li><code>Transfer-Encoding</code></li>
656       <li><code>Upgrade</code></li>
657     </ul>
658
659     <p>La directive <code class="directive">CacheIgnoreHeaders</code> permet de
660     spécifier quels en-têtes HTTP ne doivent pas être stockés dans le
661     cache. Par exemple, il peut s'avérer pertinent dans certains cas de
662     ne pas stocker les cookies dans le cache.</p>
663
664     <p>La directive <code class="directive">CacheIgnoreHeaders</code> accepte
665     une liste d'en-têtes HTTP séparés par des espaces, qui ne doivent
666     pas être stockés dans le cache. Si les en-têtes hop-by-hop sont les
667     seuls à ne pas devoir être stockés dans le cache (le comportement
668     compatible RFC 2616), la directive
669     <code class="directive">CacheIgnoreHeaders</code> peut être définie à
670     <code>None</code>.</p>
671
672     <div class="example"><h3>Exemple 1</h3><p><code>
673       CacheIgnoreHeaders Set-Cookie
674     </code></p></div>
675
676     <div class="example"><h3>Exemple 2</h3><p><code>
677       CacheIgnoreHeaders None
678     </code></p></div>
679
680     <div class="warning"><h3>Avertissement :</h3>
681       Si des en-têtes nécessaires à la bonne gestion du cache, comme
682       <code>Expires</code>, ne sont pas stockés suite à la définition
683       d'une directive <code class="directive">CacheIgnoreHeaders</code>, le
684       comportement de mod_cache sera imprévisible.
685     </div>
686
687 </div>
688 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
689 <div class="directive-section"><h2><a name="CacheIgnoreNoLastMod" id="CacheIgnoreNoLastMod">CacheIgnoreNoLastMod</a> <a name="cacheignorenolastmod" id="cacheignorenolastmod">Directive</a></h2>
690 <table class="directive">
691 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ignore le fait qu'une réponse ne possède pas d'en-tête Last
692 Modified.</td></tr>
693 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheIgnoreNoLastMod On|Off</code></td></tr>
694 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheIgnoreNoLastMod Off</code></td></tr>
695 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
696 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
697 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
698 </table>
699     <p>Normalement, les documents qui ne possèdent pas de date de
700     dernière modification ne sont pas mis en cache. Dans certaines
701     circonstances, la date de dernière modification est supprimée (au
702     cours des traitements liés à <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> par
703     exemple), ou n'existe tout simplement pas. La directive
704     <code class="directive">CacheIgnoreNoLastMod</code> permet de spécifier si
705     les documents ne possèdant pas de date de dernière modification
706     doivent être mis en cache, même sans date de dernière modification.
707     Si le document ne possède ni date d'expiration, ni date de dernière
708     modification, la valeur spécifiée par la directive
709     <code class="directive">CacheDefaultExpire</code> servira à générer une date
710     d'expiration.
711     </p>
712
713     <div class="example"><p><code>
714       CacheIgnoreNoLastMod On
715     </code></p></div>
716
717 </div>
718 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
719 <div class="directive-section"><h2><a name="CacheIgnoreQueryString" id="CacheIgnoreQueryString">CacheIgnoreQueryString</a> <a name="cacheignorequerystring" id="cacheignorequerystring">Directive</a></h2>
720 <table class="directive">
721 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ignore la chaîne de paramètres lors de la mise en
722 cache</td></tr>
723 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheIgnoreQueryString On|Off</code></td></tr>
724 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheIgnoreQueryString Off</code></td></tr>
725 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
726 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
727 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
728 </table>
729     <p>Normalement, les requêtes comportant une chaîne de paramètres
730     sont mises en cache séparément si leurs chaînes de paramètres
731     diffèrent.
732     En accord avec la RFC 2616/13.9, cette mise en cache n'est effectuée
733     séparément que si une date d'expiration est spécifiée. La directive
734     <code class="directive">CacheIgnoreQueryString</code> permet la mise en
735     cache de requêtes même si aucune date d'expiration est spécifiée, et
736     de renvoyer une réponse depuis la cache même si les chaînes de
737     paramètres diffèrent. Du point de vue du cache, la requête est
738     traitée comme si elle ne possèdait pas de chaîne de paramètres
739     lorsque cette directive est activée.</p>
740
741     <div class="example"><p><code>
742       CacheIgnoreQueryString On
743     </code></p></div>
744
745
746 </div>
747 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
748 <div class="directive-section"><h2><a name="CacheIgnoreURLSessionIdentifiers" id="CacheIgnoreURLSessionIdentifiers">CacheIgnoreURLSessionIdentifiers</a> <a name="cacheignoreurlsessionidentifiers" id="cacheignoreurlsessionidentifiers">Directive</a></h2>
749 <table class="directive">
750 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ignore les identifiants de session définis encodés dans
751 l'URL lors de la mise en cache
752 </td></tr>
753 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheIgnoreURLSessionIdentifiers <var>identifiant</var>
754 [<var>identifiant</var>] ...</code></td></tr>
755 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheIgnoreURLSessionIdentifiers None</code></td></tr>
756 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
757 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
758 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
759 </table>
760     <p>Certaines applications encodent l'identifiant de session dans
761     l'URL comme dans l'exemple suivant :
762     </p>
763     <ul>
764       <li><code>/une-application/image.gif;jsessionid=123456789</code></li>
765       <li><code>/une-application/image.gif?PHPSESSIONID=12345678</code></li>
766     </ul>
767     <p>Ceci implique la mise en cache des ressources séparément pour
768     chaque session, ce qui n'est en général pas souhaité. La directive
769     <code class="directive">CacheIgnoreURLSessionIdentifiers</code> permet de
770     définir une liste d'identifiants qui seront supprimés de la clé
771     utilisée pour identifier une entité dans le cache, de façon à ce que
772     les ressources ne soient pas stockées séparément pour chaque
773     session.
774     </p>
775     <p><code>CacheIgnoreURLSessionIdentifiers None</code> vide la liste
776     des identifiants ignorés. Autrement, chaque identifiant spécifié est
777     ajouté à la liste.</p>
778
779     <div class="example"><h3>Exemple 1</h3><p><code>
780       CacheIgnoreURLSessionIdentifiers jsessionid
781     </code></p></div>
782
783     <div class="example"><h3>Exemple 2</h3><p><code>
784       CacheIgnoreURLSessionIdentifiers None
785     </code></p></div>
786
787
788 </div>
789 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
790 <div class="directive-section"><h2><a name="CacheKeyBaseURL" id="CacheKeyBaseURL">CacheKeyBaseURL</a> <a name="cachekeybaseurl" id="cachekeybaseurl">Directive</a></h2>
791 <table class="directive">
792 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Remplace l'URL de base des clés du cache mandatées en
793 inverse</td></tr>
794 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheKeyBaseURL <var>URL</var></code></td></tr>
795 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheKeyBaseURL http://example.com</code></td></tr>
796 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
797 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
798 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
799 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.9 d'Apache</td></tr>
800 </table>
801   <p>Lorsque la directive <code class="directive"><a href="#cachekeybaseurl">CacheKeyBaseURL</a></code> est utilisée, l'URL
802   spécifiée sera utilisée comme URL de base pour calculer l'URL des clés
803   du cache dans la configuration du mandataire inverse. Par défaut,
804   c'est le protocole/nom d'hôte/port du serveur virtuel courant qui sera
805   utilisé pour construire la clé de cache. Dans le cas d'un cluster de
806   machines, si toutes les entrées du cache doivent posséder la même clé,
807   cette directive permet de spécifier une nouvelle URL de base.</p>
808
809   <div class="example"><p><code>
810     # Remplace l'URL de base de la clé de cache.<br />
811     CacheKeyBaseURL http://www.example.com/<br />
812   </code></p></div>
813
814   <div class="warning">Prenez garde en définissant cette directive. Si
815   deux serveurs virtuels distincts possèdent accidentellement la même
816   URL de base, les entrées en provenance d'un serveur virtuel seront
817   servies par l'autre.</div>
818
819
820 </div>
821 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
822 <div class="directive-section"><h2><a name="CacheLastModifiedFactor" id="CacheLastModifiedFactor">CacheLastModifiedFactor</a> <a name="cachelastmodifiedfactor" id="cachelastmodifiedfactor">Directive</a></h2>
823 <table class="directive">
824 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le facteur utilisé pour générer une date d'expiration en
825 fonction de la date de dernière modification.</td></tr>
826 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheLastModifiedFactor <var>flottant</var></code></td></tr>
827 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheLastModifiedFactor 0.1</code></td></tr>
828 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
829 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
830 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
831 </table>
832     <p>Si un document ne possède pas de date d'expiration, elle peut
833     être calculée en fonction de la date de dernière modification, si
834     elle existe. La directive
835     <code class="directive">CacheLastModifiedFactor</code> permet de spécifier
836     un <var>facteur</var> à utiliser pour la génération de cette date
837     d'expiration au sein de la formule suivante :
838
839     <code>délai-expiration = durée-depuis-date-dernière-modification *
840     <var>facteur</var>
841     date-expiration = date-courante + délai-expiration</code>
842
843     Par exemple, si la dernière modification du document date de 10
844     heures, et si <var>facteur</var> a pour valeur 0.1, le délai
845     d'expiration sera de 10*0.1 = 1 heure. Si l'heure courante est
846     3:00pm, la date d'expiration calculée sera 3:00pm + 1 heure =
847     4:00pm.
848
849     Si le délai d'expiration est supérieur à celui spécifié par la
850     directive <code class="directive">CacheMaxExpire</code>, c'est ce dernier
851     qui l'emporte.</p>
852
853     <div class="example"><p><code>
854       CacheLastModifiedFactor 0.5
855     </code></p></div>
856
857 </div>
858 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
859 <div class="directive-section"><h2><a name="CacheLock" id="CacheLock">CacheLock</a> <a name="cachelock" id="cachelock">Directive</a></h2>
860 <table class="directive">
861 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la protection contre les tempêtes de requêtes.</td></tr>
862 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheLock <var>on|off</var></code></td></tr>
863 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheLock off</code></td></tr>
864 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
865 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
866 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
867 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.2.15 d'Apache</td></tr>
868 </table>
869   <p>La directive <code class="directive">CacheLock</code> active la protection
870   contre les tempêtes de requêtes pour l'espace d'adressage donné.</p>
871
872   <p>La configuration minimale pour activer le verrouillage contre les
873   tempêtes de requêtes dans le répertoire temp par défaut du système est
874   la suivante :</p>
875
876   <div class="example"><p><code>
877     # Active le verrouillage du cache<br />
878     CacheLock on<br /><br />
879   </code></p></div>
880
881
882 </div>
883 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
884 <div class="directive-section"><h2><a name="CacheLockMaxAge" id="CacheLockMaxAge">CacheLockMaxAge</a> <a name="cachelockmaxage" id="cachelockmaxage">Directive</a></h2>
885 <table class="directive">
886 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la durée de vie maximale d'un verrou de cache.</td></tr>
887 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheLockMaxAge <var>entier</var></code></td></tr>
888 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheLockMaxAge 5</code></td></tr>
889 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
890 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
891 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
892 </table>
893   <p>La directive <code class="directive">CacheLockMaxAge</code> permet de
894   spécifier la durée de vie maximale d'un verrou de cache.</p>
895
896   <p>Un verrou plus ancien que cette valeur exprimée en secondes sera
897   ignoré, et la prochaine requête entrante sera alors en mesure de
898   recréer le verrou. Ce mécanisme permet d'éviter les mises à jour trop
899   longues initiées par des clients lents.</p>
900
901
902 </div>
903 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
904 <div class="directive-section"><h2><a name="CacheLockPath" id="CacheLockPath">CacheLockPath</a> <a name="cachelockpath" id="cachelockpath">Directive</a></h2>
905 <table class="directive">
906 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le répertoire des verrous.</td></tr>
907 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheLockPath <var>répertoire</var></code></td></tr>
908 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheLockPath /tmp/mod_cache-lock</code></td></tr>
909 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
910 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
911 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
912 </table>
913   <p>La directive <code class="directive">CacheLockPath</code> permet de
914   spécifier le répertoire dans lequel les verrous sont créés. Par
915   défaut, c'est le répertoire temporaire du système qui est utilisé. Les
916   verrous sont des fichiers vides qui n'existent que pour les URLs
917   périmées en cours de mise à jour, et consomment donc bien moins de
918   ressources que le traditionnel cache sur disque.</p>
919
920
921 </div>
922 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
923 <div class="directive-section"><h2><a name="CacheMaxExpire" id="CacheMaxExpire">CacheMaxExpire</a> <a name="cachemaxexpire" id="cachemaxexpire">Directive</a></h2>
924 <table class="directive">
925 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La durée maximale en secondes de mise en cache d'un
926 document</td></tr>
927 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheMaxExpire <var>secondes</var></code></td></tr>
928 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheMaxExpire 86400 (une journée)</code></td></tr>
929 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
930 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
931 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
932 </table>
933     <p>La directive <code class="directive">CacheMaxExpire</code> permet de
934     spécifier le nombre maximum de secondes pendant lequel les documents
935     HTTP suceptibles d'être mis en cache seront conservés sans vérifier
936     leur contenu sur le serveur d'origine. Ce nombre de secondes
937     correspond donc à la durée maximale pendant laquelle un document ne
938     sera pas à jour. L'utilisation de cette valeur maximale est forcée,
939     même si le document possède une date d'expiration.</p>
940
941     <div class="example"><p><code>
942       CacheMaxExpire 604800
943     </code></p></div>
944
945 </div>
946 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
947 <div class="directive-section"><h2><a name="CacheMinExpire" id="CacheMinExpire">CacheMinExpire</a> <a name="cacheminexpire" id="cacheminexpire">Directive</a></h2>
948 <table class="directive">
949 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La durée minimale en secondes de mise en cache d'un
950 document</td></tr>
951 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheMinExpire <var>secondes</var></code></td></tr>
952 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheMinExpire 0</code></td></tr>
953 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
954 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
955 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
956 </table>
957     <p>La directive <code class="directive">CacheMaxExpire</code> permet de
958     spécifier le nombre maximum de secondes pendant lequel les documents
959     HTTP suceptibles d'être mis en cache seront conservés sans vérifier
960     leur contenu sur le serveur d'origine. Elle n'est prise en compte
961     que dans le cas où le document ne possède aucune date d'expiration
962     valide.</p>
963
964     <div class="example"><p><code>
965       CacheMinExpire 3600
966     </code></p></div>
967
968 </div>
969 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
970 <div class="directive-section"><h2><a name="CacheQuickHandler" id="CacheQuickHandler">CacheQuickHandler</a> <a name="cachequickhandler" id="cachequickhandler">Directive</a></h2>
971 <table class="directive">
972 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Exécute le cache à partir d'un gestionnaire rapide.</td></tr>
973 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheQuickHandler <var>on|off</var></code></td></tr>
974 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheQuickHandler on</code></td></tr>
975 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
976 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
977 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
978 </table>
979     <p>La directive <code class="directive"><a href="#cachequickhandler">CacheQuickHandler</a></code> permet de contrôler
980     la phase au cours de laquelle la mise en cache est effectuée.</p>
981
982     <p>Avec la configuration par défaut, le cache agit au cours de la
983     phase du gestionnaire rapide. Cette phase court-circuite la majorité
984     des traitements du serveur, et constitue le mode d'opération le plus
985     performant pour un serveur typique. Le cache
986     <strong>s'incruste</strong> devant le serveur, et la majorité des
987     traitements du serveur est court-circuitée.</p>
988
989     <p>Lorsque cette directive est définie à off, le cache agit comme un
990     gestionnaire normal, et est concerné par toutes les phases de
991     traitement d'une requête. Bien que ce mode soit moins performant que
992     le mode par défaut, il permet d'utiliser le cache dans les cas où un
993     traitement complet de la requête est nécessaire, comme par exemple
994     lorsque le contenu est soumis à autorisation.</p>
995
996     <div class="example"><p><code>
997       # Exécute le cache comme un gestionnaire normal<br />
998       CacheQuickHandler off<br /><br />
999     </code></p></div>
1000
1001     <p>Lorsque le gestionnaire rapide est désactivé, l'administrateur a
1002     aussi la possibilité de choisir avec précision le point de la chaîne
1003     de filtrage où la mise en cache sera effectuée, en utilisant le
1004     filtre <strong>CACHE</strong>.</p>
1005
1006     <div class="example"><p><code>
1007       # Mise en cache du contenu avant l'intervention de mod_include et
1008       # mod_deflate<br />
1009       CacheQuickHandler off<br />
1010       AddOutputFilterByType CACHE;INCLUDES;DEFLATE text/html<br /><br />
1011     </code></p></div>
1012
1013     <p>Si le filtre CACHE est spécifié plusieurs fois, c'est la dernière
1014     instance qui sera prise en compte.</p>
1015
1016   
1017 </div>
1018 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1019 <div class="directive-section"><h2><a name="CacheStaleOnError" id="CacheStaleOnError">CacheStaleOnError</a> <a name="cachestaleonerror" id="cachestaleonerror">Directive</a></h2>
1020 <table class="directive">
1021 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sert du contenu non à jour à la place de réponses 5xx.</td></tr>
1022 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheStaleOnError <var>on|off</var></code></td></tr>
1023 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheStaleOnError on</code></td></tr>
1024 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
1025 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
1026 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
1027 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.9 d'Apache</td></tr>
1028 </table>
1029   <p>Lorsque la directive <code class="directive"><a href="#cachestaleonerror">CacheStaleOnError</a></code> est définie à on, et
1030   si des données non mises à jour sont disponibles dans le cache, ce
1031   dernier renverra ces données, plutôt qu'une éventuelle réponse 5xx en
1032   provenance du serveur d'arrière-plan. Alors que l'en-tête
1033   Cache-Control envoyé par les clients sera respecté, et que les clients
1034   recevront donc dans ce cas la réponse 5xx brute à leur requête, cette
1035   réponse 5xx renvoyée au client n'invalidera pas le contenu dans le
1036   cache.  </p>
1037
1038   <div class="example"><p><code>
1039     # Sert des données non mises à jour en cas d'erreur.<br />
1040     CacheStaleOnError on<br />
1041   </code></p></div>
1042
1043
1044 </div>
1045 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1046 <div class="directive-section"><h2><a name="CacheStoreExpired" id="CacheStoreExpired">CacheStoreExpired</a> <a name="cachestoreexpired" id="cachestoreexpired">Directive</a></h2>
1047 <table class="directive">
1048 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Tente de mettre en cache les réponses que le serveur
1049 considère comme arrivées à expiration</td></tr>
1050 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheStoreExpired On|Off</code></td></tr>
1051 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheStoreExpired Off</code></td></tr>
1052 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
1053 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
1054 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
1055 </table>
1056     <p>Depuis la version 2.2.4, les réponses qui sont arrivées à
1057     expiration ne sont pas stockées dans le cache. La directive
1058     <code class="directive">CacheStoreExpired</code> permet de modifier ce
1059     comportement. Avec <code class="directive">CacheStoreExpired</code> On, le
1060     serveur tente de mettre en cache la ressource si elle est périmée.
1061     Les requêtes suivantes vont déclencher une requête si-modifié-depuis
1062     de la part du serveur d'origine, et la réponse sera renvoyée à
1063     partir du cache si la ressource d'arrière-plan n'a pas été modifiée.</p>
1064
1065     <div class="example"><p><code>
1066       CacheStoreExpired On
1067     </code></p></div>
1068
1069 </div>
1070 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1071 <div class="directive-section"><h2><a name="CacheStoreNoStore" id="CacheStoreNoStore">CacheStoreNoStore</a> <a name="cachestorenostore" id="cachestorenostore">Directive</a></h2>
1072 <table class="directive">
1073 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Tente de mettre en cache les requêtes ou réponses dont
1074 l'entête Cache-Control: a pour valeur no-store.</td></tr>
1075 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheStoreNoStore On|Off</code></td></tr>
1076 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheStoreNoStore Off</code></td></tr>
1077 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
1078 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
1079 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
1080 </table>
1081     <p>Normalement, les requêtes ou réponses dont l'en-tête
1082     Cache-Control: a pour valeur no-store ne sont pas stockées dans le
1083     cache. La directive <code class="directive">CacheStoreNoCache</code> permet
1084     de modifier ce comportement. Si
1085     <code class="directive">CacheStoreNoCache</code> est définie à On, le
1086     serveur tente de mettre la ressource en cache même si elle contient
1087     des en-têtes ayant pour valeur no-store. Les ressources
1088     nécessitant une autorisation ne sont <em>jamais</em> mises en
1089     cache.</p>
1090
1091     <div class="example"><p><code>
1092       CacheStoreNoStore On
1093     </code></p></div>
1094
1095     <div class="warning"><h3>Avertissement :</h3>
1096        Selon la RFC 2616, la valeur d'en-tête no-store est censée
1097        "prévenir la suppression ou la rétention par inadvertance
1098        d'informations sensibles (par exemple, sur des bandes de
1099        sauvegarde)". Autrement dit, l'activation de la directive
1100        <code class="directive">CacheStoreNoCache</code> pourrait provoquer le
1101        stockage d'informations sensibles dans le cache. Vous avez donc
1102        été prévenus.
1103     </div>
1104
1105 <h3>Voir aussi</h3>
1106 <ul>
1107 <li><code class="directive"><a href="#cacheignorecachecontrol">CacheIgnoreCacheControl</a></code></li>
1108 <li><code class="directive"><a href="#cachestoreprivate">CacheStorePrivate</a></code></li>
1109 </ul>
1110 </div>
1111 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1112 <div class="directive-section"><h2><a name="CacheStorePrivate" id="CacheStorePrivate">CacheStorePrivate</a> <a name="cachestoreprivate" id="cachestoreprivate">Directive</a></h2>
1113 <table class="directive">
1114 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Tente de mettre en cache des réponses que le serveur a
1115 marquées comme privées</td></tr>
1116 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheStorePrivate On|Off</code></td></tr>
1117 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheStorePrivate Off</code></td></tr>
1118 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
1119 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
1120 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
1121 </table>
1122     <p>Normalement, les réponse comportant un en-tête Cache-Control:
1123     dont la valeur est private ne seront pas stockées dans le cache. La
1124     directive <code class="directive">CacheStorePrivate</code> permet de
1125     modifier ce comportement. Si
1126     <code class="directive">CacheStorePrivate</code> est définie à On, le
1127     serveur tentera de mettre la ressource en cache, même si elle
1128     contient des en-têtes ayant pour valeur private. Les ressources
1129     nécessitant une autorisation ne sont <em>jamais</em> mises en
1130     cache.</p>
1131
1132     <div class="example"><p><code>
1133       CacheStorePrivate On
1134     </code></p></div>
1135
1136     <div class="warning"><h3>Avertissement :</h3>
1137        Cette directive autorise la mise en cache même si le serveur
1138        indique que la ressource ne doit pas être mise en cache. Elle
1139        n'est de ce fait appropriée que dans le cas d'un cache
1140        'privé'.
1141     </div>
1142
1143 <h3>Voir aussi</h3>
1144 <ul>
1145 <li><code class="directive"><a href="#cacheignorecachecontrol">CacheIgnoreCacheControl</a></code></li>
1146 <li><code class="directive"><a href="#cachestorenostore">CacheStoreNoStore</a></code></li>
1147 </ul>
1148 </div>
1149 </div>
1150 <div class="bottomlang">
1151 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_cache.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
1152 <a href="../fr/mod/mod_cache.html" title="Français">&nbsp;fr&nbsp;</a> |
1153 <a href="../ja/mod/mod_cache.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
1154 <a href="../ko/mod/mod_cache.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
1155 </div><div id="footer">
1156 <p class="apache">Copyright 2010 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
1157 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
1158 </body></html>