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="<-" alt="<-" src="/images/left.gif" /></a></div> 21<div id="path"> 22<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <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"> en </a> | 25<a href="/fr/caching.html" title="Fran�ais"> fr </a> | 26<a href="/tr/caching.html" hreflang="tr" rel="alternate" title="T�rk�e"> tr </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<!-- L'inclusion suivante peut �tre mise en cache --> 156<!--#include virtual="/footer.html" --> 157 158<!-- L'inclusion suivante ne peut pas �tre mise en cache --> 159<!--#include file="/path/to/footer.html" --></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 > /dev/null 535real 0m0.065s 536user 0m0.000s 537sys 0m0.001s 538colm@coroebus:~$ time cat testfile > /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"> en </a> | 744<a href="/fr/caching.html" title="Fran�ais"> fr </a> | 745<a href="/tr/caching.html" hreflang="tr" rel="alternate" title="T�rk�e"> tr </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&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>