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>Guide de la mise en 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" /><link rel="stylesheet" type="text/css" href="/style/css/prettify.css" />
12<script src="/style/scripts/prettify.js" type="text/javascript">
13</script>
14
15<link href="/images/favicon.ico" rel="shortcut icon" /></head>
16<body id="manual-page"><div id="page-header">
17<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="/glossary.html">Glossaire</a> | <a href="/sitemap.html">Plan du site</a></p>
18<p class="apache">Serveur Apache HTTP Version 2.2</p>
19<img alt="" src="/images/feather.gif" /></div>
20<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="/images/left.gif" /></a></div>
21<div id="path">
22<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.2</a></div><div id="page-content"><div id="preamble"><h1>Guide de la mise en cache</h1>
23<div class="toplang">
24<p><span>Langues Disponibles: </span><a href="/en/caching.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
25<a href="/fr/caching.html" title="Fran�ais">&nbsp;fr&nbsp;</a> |
26<a href="/tr/caching.html" hreflang="tr" rel="alternate" title="T�rk�e">&nbsp;tr&nbsp;</a></p>
27</div>
28
29    <p>Ce document compl�te la documentation de r�f�rence des modules
30    <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code>,
31    <code class="module"><a href="/mod/mod_disk_cache.html">mod_disk_cache</a></code>, <code class="module"><a href="/mod/mod_mem_cache.html">mod_mem_cache</a></code>,
32    <code class="module"><a href="/mod/mod_file_cache.html">mod_file_cache</a></code> et du programme <a href="programs/htcacheclean.html">htcacheclean</a>.
33    Il d�crit l'utilisation des fonctionnalit�s de mise en cache d'Apache
34    pour acc�l�rer les services web et proxy, tout en �vitant les probl�mes
35    courants et les erreurs de configuration.</p>
36  </div>
37<div id="quickview"><ul id="toc"><li><img alt="" src="/images/down.gif" /> <a href="#introduction">Introduction</a></li>
38<li><img alt="" src="/images/down.gif" /> <a href="#overview">Vue d'ensemble de la mise en cache</a></li>
39<li><img alt="" src="/images/down.gif" /> <a href="#security">Consid�rations sur la s�curit�</a></li>
40<li><img alt="" src="/images/down.gif" /> <a href="#filehandle">Mise en cache de la gestion de fichier</a></li>
41<li><img alt="" src="/images/down.gif" /> <a href="#inmemory">Mise en cache en m�moire</a></li>
42<li><img alt="" src="/images/down.gif" /> <a href="#disk">Mise en cache sur disque</a></li>
43</ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
44<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
45<div class="section">
46<h2><a name="introduction" id="introduction">Introduction</a></h2>
47    
48
49    <p>Depuis la version 2.2 du serveur HTTP Apache, les modules
50    <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code>
51    et <code class="module"><a href="/mod/mod_file_cache.html">mod_file_cache</a></code> ne sont plus jug�s exp�rimentaux
52    et on consid�re qu'ils peuvent �tre utilis�s en production. Ces
53    architectures de mise en cache constituent un puissant concept
54    d'acc�l�ration de la gestion HTTP, tant comme serveur web originel
55    que comme mandataire.</p>
56
57    <p>Le module <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> et ses modules de soutien
58    <code class="module"><a href="/mod/mod_mem_cache.html">mod_mem_cache</a></code> et <code class="module"><a href="/mod/mod_disk_cache.html">mod_disk_cache</a></code>
59    permettent une mise en cache intelligente du point de vue HTTP.
60    Le contenu proprement dit est stock� dans le cache,
61    et mod_cache tente d'honorer tous les en-t�tes HTTP et les options
62    qui d�finissent la possibilit� de mise en cache du contenu. Il g�re non
63    seulement le contenu local, mais aussi le contenu mandat�.
64    <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code>
65    est con�u pour des configurations de mise en cache simples ou complexes,
66    dans lesquels vous traitez de contenu mandat�, de contenu local dynamique
67    ou avez besoin d'acc�l�rer l'acc�s � des fichiers locaux qui sont modifi�s
68    au cours du temps.</p>
69
70    <p>Le module <code class="module"><a href="/mod/mod_file_cache.html">mod_file_cache</a></code> quant � lui, constitue une
71    forme de mise en cache plus basique, mais quelques fois int�ressante.
72    Plut�t que de g�rer la complexit� de s'assurer de mani�re active de la
73    possibilit� de mise en cache d'URLs,
74    <code class="module"><a href="/mod/mod_file_cache.html">mod_file_cache</a></code> fournit des m�thodes pour la gestion
75    et l'�dition de fichiers en m�moire afin de maintenir un cache de fichiers
76    dans l'�tat o� ils �taient la derni�re fois qu'Apache a d�marr�.
77    En tant que tel, <code class="module"><a href="/mod/mod_file_cache.html">mod_file_cache</a></code> a �t� con�u pour am�liorer
78    le temps d'acc�s � des fichiers locaux statiques qui ne sont modifi�s
79    que rarement.</p>
80
81    <p>Etant donn� que <code class="module"><a href="/mod/mod_file_cache.html">mod_file_cache</a></code> constitue une
82    impl�mentation de mise en cache relativement simple, mises � part les
83    sections sp�cifiques sur les directives <code class="directive"><a href="/mod/mod_file_cache.html#cachefile">CacheFile</a></code> et <code class="directive"><a href="/mod/mod_file_cache.html#mmapfile">MMapFile</a></code>, les explications fournies
84    dans ce guide concernent l'architecture de mise en cache du
85    module <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code>.</p>
86
87    <p>Pour tirer parti efficacement de ce document, les bases de HTTP doivent
88    vous �tre famili�res, et vous devez avoir lu les sections
89    <a href="urlmapping.html">Mise en correspondance des
90    URLs avec le syst�me de fichiers</a> et
91    <a href="content-negotiation.html">N�gociation sur le contenu</a>
92    du guide de l'utilisateur.</p>
93
94  </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
95<div class="section">
96<h2><a name="overview" id="overview">Vue d'ensemble de la mise en cache</a></h2>
97
98    
99
100    <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.html">mod_cache</a></code></li><li><code class="module"><a href="/mod/mod_mem_cache.html">mod_mem_cache</a></code></li><li><code class="module"><a href="/mod/mod_disk_cache.html">mod_disk_cache</a></code></li><li><code class="module"><a href="/mod/mod_file_cache.html">mod_file_cache</a></code></li></ul></td><td><ul><li><code class="directive"><a href="/mod/mod_cache.html#cacheenable">CacheEnable</a></code></li><li><code class="directive"><a href="/mod/mod_cache.html#cachedisable">CacheDisable</a></code></li><li><code class="directive"><a href="/mod/mod_file_cache.html#cachefile">CacheFile</a></code></li><li><code class="directive"><a href="/mod/mod_file_cache.html#mmapfile">MMapFile</a></code></li><li><code class="directive"><a href="/mod/core.html#usecanonicalname">UseCanonicalName</a></code></li><li><code class="directive"><a href="/mod/mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</a></code></li></ul></td></tr></table>
101
102    <p><code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> peut faire intervenir deux phases
103    principales pendant la dur�e de vie d'une requ�te.
104    En premier lieu, <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code>
105    est un module de mise en correspondance d'URLs, ce qui signifie que si
106    une URL a �t� mise en cache, et que la version du cache de cette URL n'est
107    pas arriv�e � expiration, la requ�te sera trait�e directement par
108    <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code>.</p>
109
110    <p>Ceci entra�ne que toutes autres actions qui se d�rouleraient normalement
111    au cours du processus de traitement d'une requ�te -- par exemple un
112    traitement effectu� par <code class="module"><a href="/mod/mod_proxy.html">mod_proxy</a></code>, ou
113    <code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code> --
114    ne seront pas effectu�es. Mais c'est justement l'int�r�t
115    de la mise en cache pr�alable du contenu.</p>
116
117    <p>Si l'URL ne se trouve pas dans le cache, <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code>
118    va ajouter un <a href="filter.html">filtre</a> au traitement de la requ�te.
119    Une fois le contenu de la r�ponse HTTP trouv� par Apache de mani�re classique, le
120    filtre sera ex�cut� en m�me temps que le contenu sera transmis au client.
121    S'il est d�termin� que le contenu peut �tre mis en cache,
122    il sera sauvegard� dans le cache pour une utilisation future.</p>
123
124    <p>Si l'URL se trouve dans le cache, mais est arriv�e � expiration,
125    le filtre est quand-m�me ajout�, mais <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> va cr�er
126    une requ�te conditionnelle en arri�re-plan, pour d�terminer si la version
127    du cache est encore � jour. Si la version du cache est encore � jour, ses
128    meta-informations seront mises � jour et la requ�te sera servie � partir du
129    cache. Si la version du contenu n'est plus � jour, elle sera supprim�e et le
130    filtre va sauvegarder le contenu mis � jour dans le cache
131    au moment o� il sera servi.</p>
132
133    <h3>Am�lioration du taux de pr�sence dans le cache</h3>
134      
135
136      <p>Lors de la mise en cache de contenu g�n�r� localement, le
137      positionnement de la directive
138      <code class="directive"><a href="/mod/core.html#usecanonicalname">UseCanonicalName</a></code> �
139      <code>On</code> peut am�liorer de mani�re spectaculaire le taux de
140      pr�sence dans le cache. Ceci est du au fait que le nom d'h�te de l'h�te
141      virtuel qui sert le contenu constitue une partie de la cl� de cache.
142      Avec <code class="directive"><a href="/mod/core.html#usecanonicalname">UseCanonicalName</a></code> positionn�e
143      � <code>On</code>,
144      les h�tes virtuels poss�dant plusieurs noms de serveur ou alias ne
145      g�n�reront pas d'entit�s de cache diff�rentes, et le contenu sera mis en
146      cache en faisant r�f�rence au nom d'h�te canonique.</p>
147
148      <p>Les documents mis en cache ne seront servis qu'en r�ponse � des
149      requ�tes de type URL, car la mise en cache est effectu�e lors de la phase
150      de traduction de l'URL en nom de fichier.
151      En g�n�ral, cela n'a que peu d'effet, � moins que vous n'utilisiez les
152      <a href="howto/ssi.html">Inclusions C�t� Serveur (SSI)</a>;</p>
153
154      <div class="example"><pre>
155&lt;!-- L'inclusion suivante peut �tre mise en cache --&gt;
156&lt;!--#include virtual="/footer.html" --&gt;
157
158&lt;!-- L'inclusion suivante ne peut pas �tre mise en cache --&gt;
159&lt;!--#include file="/path/to/footer.html" --&gt;</pre></div>
160
161      <p>Si vous utilisez les SSI, et voulez b�n�ficier de la vitesse de
162      service depuis le cache, vous devez utiliser des inclusions de type
163      <code>virtual</code>.</p>
164    
165
166    <h3>P�riodes d'expiration</h3>
167      
168
169      <p>La p�riode d'expiration par d�faut pour les entit�s du cache est
170      d'une heure; elle peut cependant �tre facilement modifi�e � l'aide de
171      la directive <code class="directive"><a href="/mod/mod_cache.html#cachedefaultexpire">CacheDefaultExpire</a></code>. Cette valeur par
172      d�faut n'est utilis�e que lorsque la source originale du contenu ne
173      pr�cise pas de p�riode d'expiration ou d'heure de derni�re
174      modification.</p>
175
176      <p>Si une r�ponse ne contient pas d'en-t�te <code>Expires</code> mais
177      inclut un en-t�te <code>Last-Modified</code>, <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code>
178      peut d�duire une p�riode d'expiration en se basant sur la valeur de la
179      directive <code class="directive"><a href="/mod/mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor</a></code>.</p>
180
181      <p>La p�riode d'expiration des contenus locaux peut �tre ajust�e finement
182      en utilisant le module <code class="module"><a href="/mod/mod_expires.html">mod_expires</a></code>.</p>
183
184      <p>On peut aussi contr�ler la p�riode d'expiration maximale en utilisant
185      la directive <code class="directive"><a href="/mod/mod_cache.html#cachemaxexpire">CacheMaxExpire</a></code>.</p>
186
187    
188
189    <h3>Guide succinct des requ�tes conditionnelles</h3>
190      
191
192      <p>Lorsqu'un contenu est arriv� � expiration dans le cache et fait
193      l'objet d'une nouvelle demande d'acc�s, plut�t que traiter directement
194      la requ�te originale, Apache pr�f�re utiliser une
195      requ�te conditionnelle.</p>
196
197      <p>HTTP propose toute une panoplie d'en-t�tes qui permettent � un client,
198      ou au cache de distinguer les diff�rentes versions d'un m�me contenu. Par
199      exemple, si une ressource a �t� servie avec un en-t�te "Etag:", il est
200      possible de cr�er une requ�te conditionnelle contenant un en-t�te
201      "If-None-Match:". Si une ressource a �t� servie avec un en-t�te
202      "Last-Modified:", il est possible de cr�er une requ�te conditionnelle
203      contenant un en-t�te "If-Modified-Since:", etc....</p>
204
205      <p>Lorsqu'une telle requ�te conditionnelle est cr��e, la reponse diff�re
206      selon que le contenu satisfait ou non aux conditions. Si une requ�te est
207      cr��e avec un en-t�te "If-Modified-Since:", et le contenu n'a pas �t�
208      modifi� depuis le moment indiqu� dans la requ�te, alors un laconique
209      "304 Not Modified" est retourn�.</p>
210
211      <p>Si le contenu a �t� modifi�, il est servi comme si la requ�te n'avait
212      pas �t� conditionnelle � l'origine.</p>
213
214      <p>Les b�n�fices des requ�tes conditionnelles pour ce qui concerne la
215      mise en cache sont de deux sortes. Premi�rement, quand une telle requ�te
216      est envoy�e au processus en arri�re-plan, il sera ais� de d�terminer
217      si le contenu que devra servir le processus en arri�re-plan correspond
218      au contenu stock� dans le cache, sans �tre oblig� de transmettre la
219      totalit� de la ressource.</p>
220
221      <p>Deuxi�mement, les requ�tes conditionnelles sont en g�n�ral moins
222      co�teuses en ressources pour le processus en arri�re-plan.
223      Pour ce qui est des fichiers
224      statiques, l'action type est un appel � <code>stat()</code> ou un appel
225      syst�me similaire, pour d�terminer si la taille du fichier ou sa date de
226      modification ont chang�. Ainsi, m�me si Apache met en cache le contenu
227      local, un contenu arriv� � expiration pourra �tre servi plus rapidement
228      depuis le cache s'il n'a pas �t� modifi�, parce que la lecture depuis le
229      cache est plus rapide que la lecture depuis le processus en arri�re-plan
230      (� comparer � la diff�rence de vitesse entre la lecture depuis un cache en
231      m�moire et la lecture depuis un disque).</p>
232    
233
234    <h3>Que peut-on mettre en cache ?</h3>
235      
236
237      <p>Comme mentionn� plus haut, les deux styles de mise en cache d'Apache
238      fonctionnent diff�remment; la mise en cache de
239      <code class="module"><a href="/mod/mod_file_cache.html">mod_file_cache</a></code> conserve les contenus des fichiers
240      tels qu'ils �taient au d�marrage d'Apache. Quand une requ�te pour un
241      fichier mis en cache par ce module est envoy�e, elle est intercept�e
242      et le fichier mis en cache est servi.</p>
243
244      <p>La mise en cache de <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code>, quant � elle, est
245      plus complexe. Lors du traitement d'une requ�te, le module de mise en
246      cache d�terminera si le contenu peut �tre mis en cache, s'il ne l'a
247      pas d�j� �t� auparavant. Les conditions qui permettent de d�terminer
248      la possibilit� de mise en cache d'une r�ponse sont :</p>
249
250      <ol>
251        <li>La mise en cache doit �tre activ�e pour cette URL. Voir les
252	directives <code class="directive"><a href="/mod/mod_cache.html#cacheenable">CacheEnable</a></code> et <code class="directive"><a href="/mod/mod_cache.html#cachedisable">CacheDisable</a></code>.</li>
253
254        <li>La reponse doit avoir un code de statut HTTP de 200, 203, 300, 301
255	ou 410.</li>
256
257        <li>La requ�te doit �tre de type HTTP GET.</li>
258
259        <li>Si la requ�te contient un en-t�te "Authorization:", la r�ponse ne
260	sera pas mise en cache.</li>
261
262        <li>Si la r�ponse contient un en-t�te "Authorization:", elle doit aussi
263	contenir une option "s-maxage", "must-revalidate" ou "public"
264	dans l'en-t�te "Cache-Control:".</li>
265
266        <li>Si l'URL contient une cha�ne de param�tres
267	(provenant par exemple d'une m�thode GET de formulaire HTML), elle ne
268	sera pas mise en cache � moins que la r�ponse ne sp�cifie une
269	condition d'expiration explicite via un en-t�te "Expires:" ou la
270	directive max-age ou s-maxage de l'en-t�te "Cache-Control:",
271	comme pr�conis� dans la RFC2616, sections 13.9 et 13.2.1.</li>
272
273        <li>Si la r�ponse a un statut de 200 (OK), elle doit aussi contenir
274	au moins un des en-t�tes "Etag", "Last-Modified" ou
275        "Expires", ou la directive max-age ou s-maxage de l'en-t�te
276	"Cache-Control:", � moins que la directive
277        <code class="directive"><a href="/mod/mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod</a></code>
278        ne pr�cise d'autres contraintes.</li>
279
280        <li>Si la r�ponse contient l'option "private" dans un en-t�te
281	"Cache-Control:", elle ne sera pas mise en cache � moins que la
282	directive
283        <code class="directive"><a href="/mod/mod_cache.html#cachestoreprivate">CacheStorePrivate</a></code>
284	ne pr�cise d'autres contraintes.</li>
285
286        <li>De m�me, si la r�ponse contient l'option "no-store" dans un en-t�te
287        "Cache-Control:", elle ne sera pas mise en cache � moins que la
288	directive
289        <code class="directive"><a href="/mod/mod_cache.html#cachestorenostore">CacheStoreNoStore</a></code>
290	n'ait �t� utilis�e.</li>
291
292        <li>Une r�ponse ne sera pas mise en cache si elle comporte un en-t�te
293	"Vary:" contenant le caract�re "*" qui correspond � toute
294	cha�ne de caract�res.</li>
295      </ol>
296    
297
298    <h3>Qu'est ce qui ne doit pas �tre mis en cache ?</h3>
299      
300
301      <p>En bref, tout contenu qui varie beaucoup avec le temps, ou en fonction
302      de particularit�s de la requ�te qui ne sont pas couvertes par la
303      n�gociation HTTP, ne doit pas �tre mis en cache.</p>
304
305      <p>Un contenu dynamique qui varie en fonction de l'adresse IP du
306      demandeur, ou qui est modifi� toutes les 5 minutes, ne devra en g�n�ral
307      pas �tre mis en cache.</p>
308
309      <p>Si par contre le contenu servi diff�re en fonction de la valeur de
310      divers en-t�tes HTTP, il se peut que l'on puisse le mettre en cache
311      intelligemment en utilisant un en-t�te "Vary".</p>
312    
313
314    <h3>Contenu variable et/ou n�goci�</h3>
315      
316
317      <p>Si <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> re�oit une r�ponse contenant un en-t�te
318      "Vary", lorsqu'un contenu a �t� demand� par un processus d'arri�re-plan,
319      il va s'efforcer de la traiter intelligemment. Si possible,
320      <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> va d�tecter les en-t�tes attribu�s dans la
321      r�ponse "Vary" � l'occasion des futures demandes, et servir une r�ponse
322      correcte � partir du cache.</p>
323
324      <p>Si par exemple, une r�ponse est re�ue avec l'en-t�te Vary suivant,</p>
325
326      <div class="example"><p><code>
327Vary: negotiate,accept-language,accept-charset
328      </code></p></div>
329
330      <p><code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> ne servira aux demandeurs que le contenu
331      mis en cache qui correspond au contenu des en-t�tes accept-language et
332      accept-charset de la requ�te originale.</p>
333    
334
335  </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
336<div class="section">
337<h2><a name="security" id="security">Consid�rations sur la s�curit�</a></h2>
338    
339
340    <h3>Autorisation et contr�le d'acc�s</h3>
341      
342
343      <p>Utiliser <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> revient sensiblement � la m�me
344      chose qu'avoir un mandataire inverse int�gr� (reverse-proxy). Les requ�tes
345      seront servies par le module de mise en cache sauf si ce dernier
346      d�termine qu'un processus d'arri�re-plan doit �tre appel�. La mise en
347      cache de ressources locales modifie consid�rablement le mod�le de
348      s�curit� d'Apache.</p>
349
350      <p>Comme le parcours de la hi�rarchie d'un syst�me de fichiers pour
351      examiner le contenu d'�ventuels fichiers
352      <code>.htaccess</code> serait une op�ration tr�s co�teuse en ressources,
353      annulant partiellement de ce fait l'int�r�t de la mise en cache
354      (acc�l�rer le traitement des requ�tes),
355      <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> ne se pr�occupe pas de savoir s'il a
356      l'autorisation de servir une entit� mise en cache. En d'autres termes,
357      si <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> a mis en cache un certain contenu, ce
358      dernier sera servi � partir du cache tant qu'il ne sera pas arriv� �
359      expiration.</p>
360
361      <p>Si par exemple, votre configuration autorise l'acc�s � une ressource
362      en fonction de l'adresse IP, vous devez vous assurer que ce contenu n'est
363      pas mis en cache. Ceci est possible en utilisant la directive
364      <code class="directive"><a href="/mod/mod_cache.html#cachedisable">CacheDisable</a></code>, ou le module
365      <code class="module"><a href="/mod/mod_expires.html">mod_expires</a></code>. Livr� � lui-m�me,
366      <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> - pratiquement comme un mandataire inverse -
367      mettrait en cache le contenu lors de son service, et le servirait ensuite
368      � tout client, vers n'importe quelle adresse IP.</p>
369    
370
371    <h3>Piratages locaux</h3>
372      
373
374      <p>Etant donn� que les requ�tes des utilisateurs finaux peuvent �tre
375      servies depuis le cache, ce dernier est une cible potentielle pour ceux
376      qui veulent d�figurer un contenu ou interf�rer avec lui. Il est important
377      de garder � l'esprit que l'utilisateur sous lequel tourne Apache doit
378      toujours avoir l'acc�s en �criture dans le cache. Ceci est en contraste
379      total avec la recommandation usuelle d'interdire � l'utilisateur sous
380      lequel tourne Apache
381      l'acc�s en �criture � tout contenu.</p>
382
383      <p>Si l'utilisateur sous lequel tourne Apache est compromis,
384      par exemple � cause d'une
385      faille de s�curit� dans un processus CGI, il est possible que le cache
386      fasse l'objet d'une attaque. Il est relativement ais� d'ins�rer ou de
387      modifier une entit� dans le cache en utilisant le module
388      <code class="module"><a href="/mod/mod_disk_cache.html">mod_disk_cache</a></code>.</p>
389
390      <p>Cela repr�sente un risque relativement �l�v� par rapport aux autres
391      types d'attaques qu'il est possible de mener sous l'utilisateur apache.
392      Si vous utilisez <code class="module"><a href="/mod/mod_disk_cache.html">mod_disk_cache</a></code>, vous devez garder ceci
393      � l'esprit : effectuez toujours les mises � jour d'Apache quand des
394      correctifs de s�curit� sont annonc�s et ex�cutez les processus CGI sous
395      un utilisateur autre qu'apache en utilisant
396      <a href="suexec.html">suEXEC</a> dans la mesure du possible.</p>
397
398    
399
400    <h3>Empoisonnement du cache (Cache Poisoning)</h3>
401      
402
403      <p>Si vous utilisez Apache comme serveur mandataire avec mise en cache,
404      vous vous exposez aussi � un �ventuel "Empoisonnement du
405      cache" (Cache poisoning). L'empoisonnement du cache est un terme g�n�ral
406      pour d�signer les attaques au cours desquelles l'attaquant fait en sorte
407      que le serveur mandataire renvoie un contenu incorrect (et souvent
408      ind�sirable) en provenance du serveur d'arri�re plan.
409      </p>
410
411      <p>Par exemple, si les serveur DNS qu'utilise votre syst�me o� tourne
412      Apache sont vuln�rables � l'empoisonnement du cache des DNS, un attaquant
413      pourra contr�ler vers o� Apache se connecte lorsqu'il demande un contenu
414      depuis le serveur d'origine.
415      Un autre exemple est constitu� par les attaques ainsi nomm�es
416      "Dissimulation de requ�tes HTTP" (HTTP request-smuggling).</p>
417
418      <p>Ce document n'est pas le bon endroit pour une discussion approfondie
419      � propos de la Dissimulation de requ�tes HTTP (utilisez plut�t votre
420      moteur de recherche favori); il est cependant important de savoir qu'il
421      est possible d'�laborer une s�rie de requ�tes, et d'exploiter une
422      vuln�rabilit� d'un serveur web d'origine de telle fa�on que l'attaquant
423      puisse contr�ler enti�rement le contenu renvoy� par le mandataire.</p>
424    
425  </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
426<div class="section">
427<h2><a name="filehandle" id="filehandle">Mise en cache de la gestion de fichier</a></h2>
428    
429
430    <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_file_cache.html">mod_file_cache</a></code></li><li><code class="module"><a href="/mod/mod_mem_cache.html">mod_mem_cache</a></code></li></ul></td><td><ul><li><code class="directive"><a href="/mod/mod_file_cache.html#cachefile">CacheFile</a></code></li><li><code class="directive"><a href="/mod/mod_cache.html#cacheenable">CacheEnable</a></code></li><li><code class="directive"><a href="/mod/mod_cache.html#cachedisable">CacheDisable</a></code></li></ul></td></tr></table>
431
432    <p>Le fait d'ouvrir un fichier peut en lui-m�me introduire un d�lai,
433    en particulier dans les syst�mes de fichiers r�partis sur le r�seau. Apache
434    peut s'affranchir de ce d�lai en maintenant
435    un cache des descripteurs de fichiers
436    ouverts pour ce qui concerne les fichiers souvent acc�d�s. Apache propose
437    actuellement deux impl�mentations diff�rentes de mise en cache de la
438    gestion de fichier.</p>
439
440    <h3>Directive CacheFile</h3>
441      
442
443      <p>La forme la plus �l�mentaire de mise en cache que propose Apache est
444      fournie par le module <code class="module"><a href="/mod/mod_file_cache.html">mod_file_cache</a></code>.
445      Plut�t que de mettre en cache le contenu des fichiers, ce cache maintient
446      une table des descripteurs de fichiers ouverts. Les fichiers � mettre en
447      cache de cette mani�re sont sp�cifi�s dans le fichier de configuration
448      en utilisant la directive
449      <code class="directive"><a href="/mod/mod_file_cache.html#cachefile">CacheFile</a></code>.</p>
450
451      <p>La directive
452      <code class="directive"><a href="/mod/mod_file_cache.html#cachefile">CacheFile</a></code> demande � Apache
453      d'ouvrir le fichier lors de son d�marrage et de r�utiliser le descripteur
454      de fichier �labor� � cette occasion pour tous les
455      acc�s ult�rieurs � ce fichier.</p>
456
457      <div class="example"><pre>CacheFile /usr/local/apache2/htdocs/index.html</pre></div>
458
459      <p>Si vous avez l'intention de mettre en cache un grand nombre de
460      fichiers de cette mani�re, vous devez vous assurer que le nombre maximum
461      de fichiers ouverts par votre syst�me d'exploitation est correctement
462      d�fini.</p>
463
464      <p>Bien que l'utilisation de la directive
465      <code class="directive"><a href="/mod/mod_file_cache.html#cachefile">CacheFile</a></code>
466      n'entra�ne pas la mise en cache du contenu du fichier, cela ne signifie
467      pas qu'en cas de modification du fichier pendant l'ex�cution d'Apache,
468      ces changements seront pris en compte. Le fichier sera toujours servi
469      dans l'�tat o� il �tait quand Apache a d�marr�.</p>
470
471      <p>Si le fichier est supprim� pendant l'ex�cution d'Apache, ce dernier
472      continuera � maintenir un descripteur de fichier ouvert et � servir le
473      fichier dans l'�tat o� il �tait quand Apache a d�marr�. Cela signifie
474      aussi habituellement que malgr� le fait que le fichier ait �t� supprim�,
475      et ne soit
476      plus accessible par le syst�me de fichiers, l'espace lib�r� ne sera
477      restitu� qu'� l'arr�t d'Apache quand le
478      descripteur de fichier sera ferm�.</p>
479    
480
481    <h3>Directive CacheEnable</h3>
482      
483
484      <p>Le module <code class="module"><a href="/mod/mod_mem_cache.html">mod_mem_cache</a></code> propose aussi son propre
485      sch�ma de mise en cache de la gestion de fichier, qui peut �tre activ�
486      � l'aide de la directive
487      <code class="directive"><a href="/mod/mod_cache.html#cacheenable">CacheEnable</a></code>.</p>
488
489      <div class="example"><pre>CacheEnable fd /</pre></div>
490
491      <p>A l'instar de tout ce qui concerne le module
492      <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code>, ce mode de mise en cache de la gestion de
493      fichier est intelligent, et les descripteurs ne seront plus maintenus
494      lorsque le contenu mis en cache sera arriv� � expiration.</p>
495    
496  </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
497<div class="section">
498<h2><a name="inmemory" id="inmemory">Mise en cache en m�moire</a></h2>
499    
500
501     <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_mem_cache.html">mod_mem_cache</a></code></li><li><code class="module"><a href="/mod/mod_file_cache.html">mod_file_cache</a></code></li></ul></td><td><ul><li><code class="directive"><a href="/mod/mod_cache.html#cacheenable">CacheEnable</a></code></li><li><code class="directive"><a href="/mod/mod_cache.html#cachedisable">CacheDisable</a></code></li><li><code class="directive"><a href="/mod/mod_file_cache.html#mmapfile">MMapFile</a></code></li></ul></td></tr></table>
502
503    <p>Servir un contenu directement depuis la m�moire syst�me est
504    universellement reconnu comme la m�thode la plus rapide. Lire des fichiers
505    depuis un contr�leur de disque ou pire, depuis un r�seau distant est plus
506    lent de plusieurs ordres de grandeur. Les contr�leurs de disque r�alisent
507    en g�n�ral des op�rations m�caniques, et l'acc�s au r�seau est limit� par la
508    bande passante dont vous disposez. Par contre, les temps d'acc�s � la
509    m�moire sont de l'ordre de la nano-seconde.</p>
510
511    <p>Cependant la m�moire syst�me n'est pas bon march�; � capacit� �gale,
512    c'est de loin le type de stockage le plus co�teux et il est important de
513    s'assurer qu'elle est utilis�e efficacement. Le fait de mettre en cache
514    des fichiers en m�moire diminue d'autant la quantit� de m�moire syst�me
515    disponible. Comme nous le verrons plus loin, ce n'est pas un probl�me en
516    soi dans le cas de la mise en cache par l'interm�diaire du syst�me
517    d'exploitation, mais si l'on utilise la mise en cache en m�moire propre �
518    Apache, il faut prendre garde � ne pas allouer trop de m�moire au cache.
519    Sinon le syst�me sera contraint d'utiliser le swap, ce qui d�gradera
520    sensiblement les performances.</p>
521
522    <h3>Mise en cache par l'interm�diaire du syst�me d'exploitation</h3>
523      
524
525      <p>Dans la plupart des syst�mes d'exploitation modernes, c'est le noyau
526      qui g�re directement la mise en cache en m�moire des donn�es relatives
527      aux fichiers. C'est une fonctionnalit� puissante, et les syst�mes
528      d'exploitation s'en acquittent fort bien pour la plus grande partie.
529      Consid�rons par exemple, dans le cas de Linux, la diff�rence entre le
530      temps n�cessaire � la premi�re lecture d'un fichier et le temps
531      n�cessaire � sa deuxi�me lecture;</p>
532
533      <div class="example"><pre>
534colm@coroebus:~$ time cat testfile &gt; /dev/null
535real    0m0.065s
536user    0m0.000s
537sys     0m0.001s
538colm@coroebus:~$ time cat testfile &gt; /dev/null
539real    0m0.003s
540user    0m0.003s
541sys     0m0.000s</pre></div>
542
543      <p>M�me pour ce petit fichier, il y a une grande diff�rence entre les
544      temps n�cessaires pour lire le fichier. Ceci est du au fait que le
545      noyau a mis en cache le contenu du fichier en m�moire.</p>
546
547      <p>Du fait de toujours pouvoir disposer de m�moire syst�me, vous pouvez
548      �tre assur� qu'il y aura de plus en plus de contenus de fichiers stock�s
549      dans ce cache. Ceci peut s'av�rer une m�thode de mise en cache en m�moire
550      tr�s efficace, et ne n�cessite aucune configuration suppl�mentaire
551      d'Apache.</p>
552
553      <p>De plus, comme le syst�me d'exploitation sait si des fichiers
554      ont �t�
555      supprim�s ou modifi�s, il peut effacer automatiquement des contenus de
556      fichiers du cache lorsque cela s'av�re n�cessaire. Ceci constitue un gros
557      avantage par rapport � la mise en cache en m�moire d'Apache qui n'a
558      aucune possibilit� de savoir si un fichier a �t� modifi�.</p>
559    
560
561    <p>En d�pit des performances et des avantages de la mise en cache
562    automatique par le syst�me d'exploitation, la mise en cache en m�moire
563    peut �tre effectu�e plus efficacement par Apache dans certaines
564    circonstances.</p>
565
566    <p>En premier lieu, un syst�me d'exploitation ne peut mettre en cache que
567    les fichiers dont il a connaissance. Si vous ex�cutez Apache en tant que
568    serveur mandataire, les fichiers que vous mettez en cache ne sont pas
569    stock�s en local mais sur un serveur distant. Si vous voulez tout de m�me
570    b�n�ficier de la vitesse incomparable procur�e par la mise en cache en
571    m�moire, la mise en cache propre � Apache sera n�cessaire.</p>
572
573    <h3>Mise en cache � l'aide de la directive MMapFile</h3>
574      
575
576      <p>La directive <code class="directive"><a href="/mod/mod_file_cache.html#mmapfile">MMapFile</a></code>
577      fournie par le module <code class="module"><a href="/mod/mod_file_cache.html">mod_file_cache</a></code> vous permet de
578      demander � Apache de charger un contenu de fichier statique en m�moire
579      lors de son d�marrage (� l'aide de l'appel syst�me mmap). Apache
580      utilisera le contenu charg� en m�moire pour satisfaire ult�rieurement
581      toutes les demandes d'acc�s � ce fichier.</p>
582
583      <div class="example"><pre>MMapFile /usr/local/apache2/htdocs/index.html</pre></div>
584
585      <p>Comme dans le cas de la directive
586      <code class="directive"><a href="/mod/mod_file_cache.html#cachefile">CacheFile</a></code>, toute
587      modification du fichier ne sera plus prise en compte par Apache une fois
588      ce dernier d�marr�.</p>
589
590      <p> La directive
591      <code class="directive"><a href="/mod/mod_file_cache.html#mmapfile">MMapFile</a></code> ne gardant
592      pas la trace de la quantit� de m�moire qu'elle alloue, vous devez prendre
593      garde de ne pas en abuser. Chaque processus enfant d'Apache utilisant
594      sa propre r�plique de la m�moire allou�e, il est donc d'une importance
595      critique de s'assurer que les fichiers charg�s ne sont pas d'une taille
596      trop importante afin d'�pargner au syst�me l'utilisation du swap.</p>
597    
598
599    <h3>Mise en cache � l'aide du module mod_mem_cache</h3>
600      
601
602      <p>Le module <code class="module"><a href="/mod/mod_mem_cache.html">mod_mem_cache</a></code> propose une mise en cache en
603      m�moire intelligente du point de vue du protocole HTTP. Il utilise aussi
604      directement le "tas" de la m�moire, ce qui signifie que m�me si
605      <var>MMap</var> n'est pas support� par votre syst�me,
606      <code class="module"><a href="/mod/mod_mem_cache.html">mod_mem_cache</a></code> pourra quand-m�me effectuer
607      la mise en cache.</p>
608
609      <p>La mise en cache selon cette m�thode est activ�e comme suit :</p>
610
611      <div class="example"><pre>
612# Activation de la mise en cache en m�moire
613CacheEnable mem /
614
615# Limite la taille du cache � 1 M�gaoctet
616MCacheSize 1024</pre></div>
617    
618  </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
619<div class="section">
620<h2><a name="disk" id="disk">Mise en cache sur disque</a></h2>
621    
622
623     <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_disk_cache.html">mod_disk_cache</a></code></li></ul></td><td><ul><li><code class="directive"><a href="/mod/mod_cache.html#cacheenable">CacheEnable</a></code></li><li><code class="directive"><a href="/mod/mod_cache.html#cachedisable">CacheDisable</a></code></li></ul></td></tr></table>
624
625    <p>Le module <code class="module"><a href="/mod/mod_disk_cache.html">mod_disk_cache</a></code> fournit un m�canisme de mise
626    en cache sur disque au module <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code>. Comme dans le cas
627    du module <code class="module"><a href="/mod/mod_mem_cache.html">mod_mem_cache</a></code>, cette mise en cache est
628    intelligente et le contenu ne sera servi qu'� partir du cache tant qu'il
629    sera consid�r� comme valide.</p>
630
631    <p>Typiquement, le module sera configur� comme suit :</p>
632
633    <div class="example"><pre>
634CacheRoot   /var/cache/apache/
635CacheEnable disk /
636CacheDirLevels 2
637CacheDirLength 1</pre></div>
638
639    <p>Il est important de savoir que, les fichiers mis en cache �tant stock�s
640    localement, la mise en cache par l'interm�diaire du syst�me d'exploitation
641    sera en g�n�ral aussi appliqu�e � leurs acc�s. Si bien que m�me si les
642    fichiers sont stock�s sur disque, s'il font l'objet d'acc�s fr�quents,
643    il est probable que le syst�me d'exploitation s'appliquera � ce qu'ils
644    soient servis � partir de la m�moire.</p>
645
646    <h3>Comprendre le stockage dans le cache</h3>
647      
648
649      <p>Pour stocker des entit�s dans le cache,
650      le module <code class="module"><a href="/mod/mod_disk_cache.html">mod_disk_cache</a></code> cr�e une empreinte (hash) de 22
651      caract�res de l'URL qui a fait l'objet d'une requ�te. Cette empreinte
652      comprend le nom d'h�te, le protocole, le port, le chemin et tout argument
653      de type CGI associ� � l'URL, afin d'�tre sur que plusieurs URLs
654      n'interf�rent pas entre elles.</p>
655
656      <p>Chaque position de l'empreinte peut contenir un caract�re
657      choisi parmi 64 caract�res diff�rents, il y a donc
658      64^22 possibilit�s pour une empreinte. Par exemple, une URL peut poss�der
659      l'empreinte <code>xyTGxSMO2b68mBCykqkp1w</code>. Cette empreinte est
660      utilis�e pour pr�fixer les noms de fichiers sp�cifiques � cette URL �
661      l'int�rieur du cache; cependant, elle est tout d'abord plac�e dans les
662      r�pertoires du cache selon les directives
663      <code class="directive"><a href="/mod/mod_disk_cache.html#cachedirlevels">CacheDirLevels</a></code> et
664      <code class="directive"><a href="/mod/mod_disk_cache.html#cachedirlength">CacheDirLength</a></code>.</p>
665
666      <p>La directive
667      <code class="directive"><a href="/mod/mod_disk_cache.html#cachedirlevels">CacheDirLevels</a></code>
668      d�finit le nombre de niveaux de sous-r�pertoires, et
669      <code class="directive"><a href="/mod/mod_disk_cache.html#cachedirlength">CacheDirLength</a></code>
670      le nombre de caract�res composant le nom des sous-r�pertoires. Dans
671      l'exemple donn� plus haut, l'empreinte se trouvera � :
672      <code>/var/cache/apache/x/y/TGxSMO2b68mBCykqkp1w</code>.</p>
673
674      <p>Cette technique a pour but principal de r�duire le nombre de
675      sous-r�pertoires ou de fichiers contenus dans un r�pertoire particulier,
676      car le fonctionnement de la plupart des syst�mes de fichiers est ralenti
677      quand ce nombre augmente. Avec la valeur "1" pour la directive
678      <code class="directive"><a href="/mod/mod_disk_cache.html#cachedirlength">CacheDirLength</a></code>,
679      il peut y avoir au plus 64 sous-r�pertoires � un niveau quelconque.
680      Avec la valeur "2", il peut y en avoir 64 * 64, etc...
681      A moins d'avoir une bonne raison pour ne pas le faire, l'utilisation de
682      la valeur "1" pour la directive
683      <code class="directive"><a href="/mod/mod_disk_cache.html#cachedirlength">CacheDirLength</a></code>
684      est recommand�e.</p>
685
686      <p>Le param�trage de la directive
687      <code class="directive"><a href="/mod/mod_disk_cache.html#cachedirlevels">CacheDirLevels</a></code>
688      d�pend du nombre de fichiers que vous pensez stocker dans le cache.
689      Avec une valeur de "2" comme dans l'exemple donn� plus haut,
690      4096 sous-r�pertoires peuvent �tre cr��s au total. Avec 1 million de
691      fichiers dans le cache, cela �quivaut � environ 245 URLs mises en cache
692      dans chaque r�pertoire.</p>
693
694      <p>Chaque URL n�cessite au moins deux fichiers dans le cache. Ce sont en
695      g�n�ral un fichier ".header", qui contient des meta-informations � propos
696      de l'URL, comme la date de son arriv�e � expiration,
697      et un fichier ".data" qui est la copie exacte du contenu � servir.</p>
698
699      <p>Dans le cas d'un contenu n�goci� via l'en-t�te "Vary", un r�pertoire
700      ".vary" sera cr�� pour l'URL en question. Ce r�pertoire contiendra de
701      multiples fichiers ".data" correspondant aux diff�rents contenus
702      n�goci�s.</p>
703    
704
705    <h3>Maintenance du cache sur disque</h3>
706      
707
708      <p>Bien que le module <code class="module"><a href="/mod/mod_disk_cache.html">mod_disk_cache</a></code> supprime un contenu
709      du cache lorsqu'il est arriv� � expiration, il ne maintient aucune
710      information � propos de la taille totale du cache ou de l'espace restant
711      disponible.</p>
712
713      <p>Par contre l'utilitaire
714      <a href="programs/htcacheclean.html">htcacheclean</a> fourni avec Apache
715      vous permet, comme son nom l'indique, de nettoyer le cache p�riodiquement.
716      D�terminer la fr�quence � laquelle lancer <a href="programs/htcacheclean.html">htcacheclean</a> et la taille souhait�e
717      pour le cache est une t�che relativement complexe et il vous faudra de
718      nombreux essais et erreurs pour arriver � s�lectionner des valeurs
719      optimales.</p>
720
721      <p><a href="programs/htcacheclean.html">htcacheclean</a> op�re selon deux
722      modes. Il peut s'ex�cuter comme d�mon r�sident, ou �tre lanc�
723      p�riodiquement par cron. <a href="programs/htcacheclean.html">htcacheclean</a> peut mettre une heure
724      ou plus pour traiter de tr�s grands caches (plusieurs dizaines de
725      Gigaoctets) et si vous l'ex�cutez � partir de cron, il vous est
726      conseill� de d�terminer la dur�e typique d'un traitement, afin d'�viter
727      d'ex�cuter plusieurs instances � la fois.</p>
728
729      <p class="figure">
730      <img src="images/caching_fig1.gif" alt="" width="600" height="406" /><br />
731      <a id="figure1" name="figure1"><dfn>Figure 1</dfn></a>: Croissance
732      typique du cache / s�quence de nettoyage.</p>
733
734      <p>Comme <code class="module"><a href="/mod/mod_disk_cache.html">mod_disk_cache</a></code> ne tient pas compte de l'espace
735      utilis� dans le cache, vous devez vous assurer que
736      <a href="programs/htcacheclean.html">htcacheclean</a> est configur� de
737      fa�on � laisser suffisamment d'"espace de croissance"
738      � la suite d'un nettoyage.</p>
739    
740
741  </div></div>
742<div class="bottomlang">
743<p><span>Langues Disponibles: </span><a href="/en/caching.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
744<a href="/fr/caching.html" title="Fran�ais">&nbsp;fr&nbsp;</a> |
745<a href="/tr/caching.html" hreflang="tr" rel="alternate" title="T�rk�e">&nbsp;tr&nbsp;</a></p>
746</div><div class="top"><a href="#page-header"><img src="/images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
747<script type="text/javascript"><!--//--><![CDATA[//><!--
748var comments_shortname = 'httpd';
749var comments_identifier = 'http://httpd.apache.org/docs/2.2/caching.html';
750(function(w, d) {
751    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
752        d.write('<div id="comments_thread"><\/div>');
753        var s = d.createElement('script');
754        s.type = 'text/javascript';
755        s.async = true;
756        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
757        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
758    }
759    else { 
760        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
761    }
762})(window, document);
763//--><!]]></script></div><div id="footer">
764<p class="apache">Copyright 2013 The Apache Software Foundation.<br />Autoris� sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
765<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="/glossary.html">Glossaire</a> | <a href="/sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
766if (typeof(prettyPrint) !== 'undefined') {
767    prettyPrint();
768}
769//--><!]]></script>
770</body></html>