af84459fbf938e508fd10b01cb8d699c79083813takashi<?xml version="1.0" encoding="ISO-8859-1"?>
af84459fbf938e508fd10b01cb8d699c79083813takashi<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
fd9abdda70912b99b24e3bf1a38f26fde908a74cnd<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
fd9abdda70912b99b24e3bf1a38f26fde908a74cnd<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
fd9abdda70912b99b24e3bf1a38f26fde908a74cnd<!--
af84459fbf938e508fd10b01cb8d699c79083813takashi XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
af84459fbf938e508fd10b01cb8d699c79083813takashi This file is generated from xml source: DO NOT EDIT
af84459fbf938e508fd10b01cb8d699c79083813takashi XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
af84459fbf938e508fd10b01cb8d699c79083813takashi -->
96ad5d81ee4a2cc66a4ae19893efc8aa6d06fae7jailletc<title>Guide de la mise en cache - Serveur Apache HTTP Version 2.5</title>
af84459fbf938e508fd10b01cb8d699c79083813takashi<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
af84459fbf938e508fd10b01cb8d699c79083813takashi<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen<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" />
2e545ce2450a9953665f701bb05350f0d3f26275nd<script src="/style/scripts/prettify.min.js" type="text/javascript">
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen</script>
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen
af84459fbf938e508fd10b01cb8d699c79083813takashi<link href="/images/favicon.ico" rel="shortcut icon" /></head>
af84459fbf938e508fd10b01cb8d699c79083813takashi<body id="manual-page"><div id="page-header">
af33a4994ae2ff15bc67d19ff1a7feb906745bf8rbowen<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="/glossary.html">Glossaire</a> | <a href="/sitemap.html">Plan du site</a></p>
3f08db06526d6901aa08c110b5bc7dde6bc39905nd<p class="apache">Serveur Apache HTTP Version 2.5</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi<img alt="" src="/images/feather.gif" /></div>
af84459fbf938e508fd10b01cb8d699c79083813takashi<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="/images/left.gif" /></a></div>
af84459fbf938e508fd10b01cb8d699c79083813takashi<div id="path">
3f08db06526d6901aa08c110b5bc7dde6bc39905nd<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Guide de la mise en cache</h1>
af84459fbf938e508fd10b01cb8d699c79083813takashi<div class="toplang">
af84459fbf938e508fd10b01cb8d699c79083813takashi<p><span>Langues Disponibles: </span><a href="/en/caching.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
af84459fbf938e508fd10b01cb8d699c79083813takashi<a href="/fr/caching.html" title="Fran�ais">&nbsp;fr&nbsp;</a> |
f086b4b402fa9a2fefc7dda85de2a3cc1cd0a654rjung<a href="/tr/caching.html" hreflang="tr" rel="alternate" title="T�rk�e">&nbsp;tr&nbsp;</a></p>
af84459fbf938e508fd10b01cb8d699c79083813takashi</div>
0a05fab9aadd37834734ffe106fc8ad4488fb3e3rbowen<div class="outofdate">Cette traduction peut �tre p�rim�e. V�rifiez la version
0a05fab9aadd37834734ffe106fc8ad4488fb3e3rbowen anglaise pour les changements r�cents.</div>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <p>Ce document compl�te la documentation de r�f�rence des modules
78f97ce162b66a0dbfd7af4dcd9984f162569b04minfrin <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code>, <code class="module"><a href="/mod/mod_cache_disk.html">mod_cache_disk</a></code>,
af84459fbf938e508fd10b01cb8d699c79083813takashi <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>.
3c13a815670b54d1c17bf02954f7d2b066cde95cnd Il d�crit l'utilisation des fonctionnalit�s de mise en
3c13a815670b54d1c17bf02954f7d2b066cde95cnd cache du serveur HTTP Apache
af84459fbf938e508fd10b01cb8d699c79083813takashi pour acc�l�rer les services web et proxy, tout en �vitant les probl�mes
af84459fbf938e508fd10b01cb8d699c79083813takashi courants et les erreurs de configuration.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi </div>
af84459fbf938e508fd10b01cb8d699c79083813takashi<div id="quickview"><ul id="toc"><li><img alt="" src="/images/down.gif" /> <a href="#introduction">Introduction</a></li>
5effc8b39fae5cd169d17f342bfc265705840014rbowen<li><img alt="" src="/images/down.gif" /> <a href="#http-caching">Mise en cache HTTP � trois �tats RFC2616</a></li>
5effc8b39fae5cd169d17f342bfc265705840014rbowen<li><img alt="" src="/images/down.gif" /> <a href="#socache-caching">Mise en cache d'objets partag�s � deux �tats de forme
5effc8b39fae5cd169d17f342bfc265705840014rbowen cl�/valeur</a></li>
5effc8b39fae5cd169d17f342bfc265705840014rbowen<li><img alt="" src="/images/down.gif" /> <a href="#file-caching">Mise en cache � base de fichiers sp�cialis�s</a></li>
af84459fbf938e508fd10b01cb8d699c79083813takashi<li><img alt="" src="/images/down.gif" /> <a href="#security">Consid�rations sur la s�curit�</a></li>
30471a4650391f57975f60bbb6e4a90be7b284bfhumbedooh</ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
af84459fbf938e508fd10b01cb8d699c79083813takashi<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
af84459fbf938e508fd10b01cb8d699c79083813takashi<div class="section">
af84459fbf938e508fd10b01cb8d699c79083813takashi<h2><a name="introduction" id="introduction">Introduction</a></h2>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Le serveur HTTP Apache offre tout un ensemble de fonctionnalit�s
5effc8b39fae5cd169d17f342bfc265705840014rbowen de mise en cache qui ont �t� con�ues pour am�liorer les performances
5effc8b39fae5cd169d17f342bfc265705840014rbowen du serveur de diff�rentes mani�res.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <dl>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <dt>Mise en cache HTTP � trois �tats RFC2616</dt>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <dd><code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> et son module de fournisseur
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code class="module"><a href="/mod/mod_cache_disk.html">mod_cache_disk</a></code> proposent une mise en cache
5effc8b39fae5cd169d17f342bfc265705840014rbowen intelligente de niveau HTTP. Le contenu proprement dit est
5effc8b39fae5cd169d17f342bfc265705840014rbowen stock� dans le cache, et mod_cache vise � respecter tous les
5effc8b39fae5cd169d17f342bfc265705840014rbowen en-t�tes HTTP, ainsi que les options qui contr�lent la mise en
5effc8b39fae5cd169d17f342bfc265705840014rbowen cache du contenu comme d�crit dans la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html">Section
5effc8b39fae5cd169d17f342bfc265705840014rbowen 13 de la RFC2616</a>. <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> peut g�rer des
5effc8b39fae5cd169d17f342bfc265705840014rbowen configurations de mise en cache simples, mais aussi complexes
5effc8b39fae5cd169d17f342bfc265705840014rbowen comme dans les cas o� vous avez � faire � des contenus mandat�s,
5effc8b39fae5cd169d17f342bfc265705840014rbowen � des contenus locaux dynamiques, ou lorsque vous avez besoin
5effc8b39fae5cd169d17f342bfc265705840014rbowen d'acc�l�rer l'acc�s aux fichiers locaux situ�s sur disque
5effc8b39fae5cd169d17f342bfc265705840014rbowen suppos� lent.
5effc8b39fae5cd169d17f342bfc265705840014rbowen </dd>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <dt>Mise en cache d'objets partag�s de forme cl�/valeur � deux
5effc8b39fae5cd169d17f342bfc265705840014rbowen �tats</dt>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <dd>
1c26a593f62800795eddc6cbaf86090e0976e2efrbowen L'<a href="socache.html">API du cache d'objets partag�s</a> (socache)
1c26a593f62800795eddc6cbaf86090e0976e2efrbowen et ses modules de fournisseurs
5effc8b39fae5cd169d17f342bfc265705840014rbowen proposent une mise en cache d'objets partag�s � base de
5effc8b39fae5cd169d17f342bfc265705840014rbowen couples cl�/valeur de niveau serveur. Ces modules sont
5effc8b39fae5cd169d17f342bfc265705840014rbowen con�us pour la mise en cache de donn�es de bas niveau comme
5effc8b39fae5cd169d17f342bfc265705840014rbowen les sessions SSL et les donn�es d'authentification. les
5effc8b39fae5cd169d17f342bfc265705840014rbowen serveurs d'arri�re-plan permettent le stockage des donn�es
5effc8b39fae5cd169d17f342bfc265705840014rbowen au niveau serveur en m�moire partag�e, ou au niveau
5effc8b39fae5cd169d17f342bfc265705840014rbowen datacenter dans un cache comme memcache ou distcache.
5effc8b39fae5cd169d17f342bfc265705840014rbowen </dd>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <dt>Mise en cache de fichiers sp�cialis�e</dt>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <dd>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code class="module"><a href="/mod/mod_file_cache.html">mod_file_cache</a></code> offre la possibilit� de
5effc8b39fae5cd169d17f342bfc265705840014rbowen pr�charger des fichiers en m�moire au d�marrage du serveur,
5effc8b39fae5cd169d17f342bfc265705840014rbowen et peut am�liorer les temps d'acc�s et sauvegarder les
5effc8b39fae5cd169d17f342bfc265705840014rbowen gestionnaires de fichiers pour les fichiers qui font l'objet
5effc8b39fae5cd169d17f342bfc265705840014rbowen d'acc�s fr�quents, �vitant ainsi d'avoir � acc�der au disque
5effc8b39fae5cd169d17f342bfc265705840014rbowen � chaque requ�te.
5effc8b39fae5cd169d17f342bfc265705840014rbowen </dd>
5effc8b39fae5cd169d17f342bfc265705840014rbowen </dl>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <p>Pour tirer parti efficacement de ce document, les bases de HTTP doivent
af84459fbf938e508fd10b01cb8d699c79083813takashi vous �tre famili�res, et vous devez avoir lu les sections
af84459fbf938e508fd10b01cb8d699c79083813takashi <a href="urlmapping.html">Mise en correspondance des
af84459fbf938e508fd10b01cb8d699c79083813takashi URLs avec le syst�me de fichiers</a> et
af84459fbf938e508fd10b01cb8d699c79083813takashi <a href="content-negotiation.html">N�gociation sur le contenu</a>
af84459fbf938e508fd10b01cb8d699c79083813takashi du guide de l'utilisateur.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
af84459fbf938e508fd10b01cb8d699c79083813takashi<div class="section">
5effc8b39fae5cd169d17f342bfc265705840014rbowen<h2><a name="http-caching" id="http-caching">Mise en cache HTTP � trois �tats RFC2616</a></h2>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <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_cache_disk.html">mod_cache_disk</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/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>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Le module <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> permet de tirer avantage du
5effc8b39fae5cd169d17f342bfc265705840014rbowen m�canisme de mise en cache en ligne faisant partie
5effc8b39fae5cd169d17f342bfc265705840014rbowen int�grante du protocole HTTP, et d�crit dans la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html">section
5effc8b39fae5cd169d17f342bfc265705840014rbowen 13 de la RFC2616</a>.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>A la diff�rence d'un cache simple cl�/valeur � deux �tats o� le
5effc8b39fae5cd169d17f342bfc265705840014rbowen contenu est supprim� lorsqu'il est p�rim�, un cache HTTP comporte un
5effc8b39fae5cd169d17f342bfc265705840014rbowen m�canisme permettant de conserver temporairement un contenu p�rim�,
5effc8b39fae5cd169d17f342bfc265705840014rbowen de demander au serveur original si ce contenu p�rim� a �t� modifi�,
5effc8b39fae5cd169d17f342bfc265705840014rbowen et dans le cas contraire de le rendre � nouveau valide.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Une entr�e d'un cache HTTP peut se pr�senter sous un de ces trois
5effc8b39fae5cd169d17f342bfc265705840014rbowen �tats :</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <dl>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <dt>Frais</dt>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <dd>
5effc8b39fae5cd169d17f342bfc265705840014rbowen Si un contenu est suffisamment r�cent (plus jeune que sa
5effc8b39fae5cd169d17f342bfc265705840014rbowen <strong>dur�e de fra�cheur</strong>), il est consid�r� comme
5effc8b39fae5cd169d17f342bfc265705840014rbowen <strong>frais</strong>. Un cache HTTP peut servir un contenu
5effc8b39fae5cd169d17f342bfc265705840014rbowen frais sans avoir � demander quoi que ce soit au serveur
5effc8b39fae5cd169d17f342bfc265705840014rbowen d'origine.
5effc8b39fae5cd169d17f342bfc265705840014rbowen </dd>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <dt>P�rim�</dt>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <dd>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Si le contenu est trop ancien (plus vieux que sa
5effc8b39fae5cd169d17f342bfc265705840014rbowen <strong>dur�e de fra�cheur</strong>), il est consid�r� comme
5effc8b39fae5cd169d17f342bfc265705840014rbowen <strong>p�rim�</strong>. Un cache HTTP doit contacter le serveur
5effc8b39fae5cd169d17f342bfc265705840014rbowen original pour v�rifier si le contenu, m�me s'il est p�rim�, est
5effc8b39fae5cd169d17f342bfc265705840014rbowen encore � jour avant de le servir au client. Soit le serveur
5effc8b39fae5cd169d17f342bfc265705840014rbowen original va r�pondre en envoyant un contenu de remplacement si
5effc8b39fae5cd169d17f342bfc265705840014rbowen le contenu p�rim� n'est plus � jour, soit dans le cas id�al il
5effc8b39fae5cd169d17f342bfc265705840014rbowen renverra un code pour signaler au cache que le contenu est
5effc8b39fae5cd169d17f342bfc265705840014rbowen encore � jour, et qu'il est inutile de le g�n�rer ou de
5effc8b39fae5cd169d17f342bfc265705840014rbowen l'envoyer � nouveau. Le contenu repasse � l'�tat "frais" et le
5effc8b39fae5cd169d17f342bfc265705840014rbowen cycle continue.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Le protocole HTTP permet au cache de servir des donn�es
5effc8b39fae5cd169d17f342bfc265705840014rbowen p�rim�es dans certaines circonstances, comme lorsqu'une
5effc8b39fae5cd169d17f342bfc265705840014rbowen tentative de rafra�chir une entr�e depuis un serveur original
5effc8b39fae5cd169d17f342bfc265705840014rbowen se solde par un �chec avec un code d'erreur 5xx, ou lorsqu'une
5effc8b39fae5cd169d17f342bfc265705840014rbowen autre requ�te est d�j� en train d'essayer de rafra�chir la m�me
5effc8b39fae5cd169d17f342bfc265705840014rbowen entr�e. Dans ces cas, un en-t�te <code>Warning</code> est ajout�
5effc8b39fae5cd169d17f342bfc265705840014rbowen � la r�ponse.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen </dd>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <dt>Non Existent</dt>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <dd>
5effc8b39fae5cd169d17f342bfc265705840014rbowen Si le cache est plein, il se r�serve la possibilit� de supprimer
5effc8b39fae5cd169d17f342bfc265705840014rbowen des entr�es pour faire de la place. Une entr�e peut �tre
5effc8b39fae5cd169d17f342bfc265705840014rbowen supprim�e � tout moment, qu'elle soit fra�che ou p�rim�e.
5effc8b39fae5cd169d17f342bfc265705840014rbowen L'outil <a href="programs/htcacheclean.html">htcacheclean</a>
5effc8b39fae5cd169d17f342bfc265705840014rbowen peut �tre utilis� � la demande, ou lanc� en tant que d�mon afin
5effc8b39fae5cd169d17f342bfc265705840014rbowen de conserver la taille du cache ou le nombre d'inodes en de�� de
5effc8b39fae5cd169d17f342bfc265705840014rbowen valeurs sp�cifi�es. Cet outil essaie cependant de
5effc8b39fae5cd169d17f342bfc265705840014rbowen supprimer les entr�es p�rim�es avant les entr�es fra�ches.
5effc8b39fae5cd169d17f342bfc265705840014rbowen </dd>
5effc8b39fae5cd169d17f342bfc265705840014rbowen </dl>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Le fonctionnement d�taill� d'un cache HTTP est d�crit dans la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html">Section
5effc8b39fae5cd169d17f342bfc265705840014rbowen 13 de la RFC2616</a>.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <h3>Interaction avec le serveur</h3>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Le module <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> interagit avec le serveur
5effc8b39fae5cd169d17f342bfc265705840014rbowen � deux niveaux possibles en fonction de la directive <code class="directive"><a href="/mod/mod_cache.html#cachequickhandler">CacheQuickHandler</a></code> :
5effc8b39fae5cd169d17f342bfc265705840014rbowen </p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <dl>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <dt>Phase du gestionnaire rapide</dt>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <dd>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Cette phase se d�roule tr�s t�t au cours du traitement de
5effc8b39fae5cd169d17f342bfc265705840014rbowen la requ�te, juste apr�s l'interpr�tation de cette derni�re. Si
5effc8b39fae5cd169d17f342bfc265705840014rbowen le contenu se trouve dans le cache, il est servi imm�diatement
5effc8b39fae5cd169d17f342bfc265705840014rbowen et pratiquement tout le reste du traitement de la requ�te est
5effc8b39fae5cd169d17f342bfc265705840014rbowen court-circuit�.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Dans ce sc�nario, le cache se comporte comme s'il avait
5effc8b39fae5cd169d17f342bfc265705840014rbowen �t� "boulonn�" � l'entr�e du serveur.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Ce mode poss�de les meilleures performances car la
5effc8b39fae5cd169d17f342bfc265705840014rbowen majorit� des traitements au niveau du serveur sont
5effc8b39fae5cd169d17f342bfc265705840014rbowen court-circuit�s. Cependant, il court-circuite aussi les
5effc8b39fae5cd169d17f342bfc265705840014rbowen phases d'authentification et d'autorisation du traitement
5effc8b39fae5cd169d17f342bfc265705840014rbowen au niveau du serveur, et il doit donc �tre utilis� avec
5effc8b39fae5cd169d17f342bfc265705840014rbowen prudence lorsque que ces phases sont importantes.</p>
63befe0983261d711e62457b380e24ecc3b7b79etrawick
63befe0983261d711e62457b380e24ecc3b7b79etrawick <p>Les requ�tes contenant un en-t�te "Authorization"
63befe0983261d711e62457b380e24ecc3b7b79etrawick header (par exemple dans le cas de l'authentification HTTP
63befe0983261d711e62457b380e24ecc3b7b79etrawick basique) ne peuvent ni �tre mises en cache, ni servies
63befe0983261d711e62457b380e24ecc3b7b79etrawick depuis le cache lorsque <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code>
63befe0983261d711e62457b380e24ecc3b7b79etrawick s'ex�cute dans cette phase.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen </dd>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <dt>Phase du gestionnaire normal</dt>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <dd>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Cette phase se d�roule tr�s tard au cours du traitement
5effc8b39fae5cd169d17f342bfc265705840014rbowen de la requ�te, en fait apr�s toutes les phases de ce
5effc8b39fae5cd169d17f342bfc265705840014rbowen traitement.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Dans ce sc�nario, le cache se comporte comme s'il avait
5effc8b39fae5cd169d17f342bfc265705840014rbowen �t� "boulonn�" � la sortie du serveur.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Ce mode offre la plus grande souplesse, car il permet
5effc8b39fae5cd169d17f342bfc265705840014rbowen de faire intervenir la mise en cache en un point
5effc8b39fae5cd169d17f342bfc265705840014rbowen pr�cis�ment sp�cifi� de la cha�ne de filtrage, et le
5effc8b39fae5cd169d17f342bfc265705840014rbowen contenu issu du cache peut �tre filtr� ou personnalis�
5effc8b39fae5cd169d17f342bfc265705840014rbowen avant d'�tre servi au client.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen </dd>
5effc8b39fae5cd169d17f342bfc265705840014rbowen </dl>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Si l'URL ne se trouve pas dans le cache,
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> ajoutera un <a href="filter.html">filtre</a> � la cha�ne de filtrage afin
5effc8b39fae5cd169d17f342bfc265705840014rbowen d'enregistrer la r�ponse dans le cache, puis passera la main
5effc8b39fae5cd169d17f342bfc265705840014rbowen pour permettre le d�roulement normal de la suite du traitement
5effc8b39fae5cd169d17f342bfc265705840014rbowen de la requ�te. Si la mise en cache du contenu est autoris�e, il
5effc8b39fae5cd169d17f342bfc265705840014rbowen sera enregistr� dans le cache pour pouvoir �tre servi � nouveau
5effc8b39fae5cd169d17f342bfc265705840014rbowen ; dans le cas contraire, le contenu sera ignor�.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Si le contenu trouv� dans le cache est p�rim�, le module
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> convertit la requ�te en
5effc8b39fae5cd169d17f342bfc265705840014rbowen <strong>requ�te conditionnelle</strong>. Si le serveur original
5effc8b39fae5cd169d17f342bfc265705840014rbowen renvoie une r�ponse normale, elle est enregistr�e dans le cache
5effc8b39fae5cd169d17f342bfc265705840014rbowen en lieu et place du contenu p�rim�. Si le serveur original
5effc8b39fae5cd169d17f342bfc265705840014rbowen renvoie une r�ponse "304 Not Modified", le contenu repasse �
5effc8b39fae5cd169d17f342bfc265705840014rbowen l'�tat "frais" et est servi par le filtre au lieu d'�tre
5effc8b39fae5cd169d17f342bfc265705840014rbowen sauvegard�.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <h3>Am�lioration du taux de pr�sence dans le cache</h3>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Lorsqu'un serveur virtuel est connu sous la forme d'un des
5effc8b39fae5cd169d17f342bfc265705840014rbowen nombreux alias du serveur, la d�finition de la directive
af84459fbf938e508fd10b01cb8d699c79083813takashi <code class="directive"><a href="/mod/core.html#usecanonicalname">UseCanonicalName</a></code> �
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code>On</code> peut augmenter de mani�re significative le nombre
5effc8b39fae5cd169d17f342bfc265705840014rbowen de correspondances positives dans le cache. Ceci est du au fait
5effc8b39fae5cd169d17f342bfc265705840014rbowen que la cl� du cache contient le nom d'h�te du serveur virtuel.
af84459fbf938e508fd10b01cb8d699c79083813takashi Avec <code class="directive"><a href="/mod/core.html#usecanonicalname">UseCanonicalName</a></code> positionn�e
af84459fbf938e508fd10b01cb8d699c79083813takashi � <code>On</code>,
af84459fbf938e508fd10b01cb8d699c79083813takashi les h�tes virtuels poss�dant plusieurs noms de serveur ou alias ne
af84459fbf938e508fd10b01cb8d699c79083813takashi g�n�reront pas d'entit�s de cache diff�rentes, et le contenu sera mis en
af84459fbf938e508fd10b01cb8d699c79083813takashi cache en faisant r�f�rence au nom d'h�te canonique.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <h3>Dur�e de fra�cheur</h3>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Un contenu bien form� destin� � �tre mis en cache doit d�clarer
5effc8b39fae5cd169d17f342bfc265705840014rbowen explicitement une dur�e de fra�cheur via les champs
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code>max-age</code> ou <code>s-maxage</code> de l'en-t�te
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code>Cache-Control</code>, ou en incluant un en-t�te
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code>Expires</code>.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>De plus, un client peut passer outre la dur�e de fra�cheur
5effc8b39fae5cd169d17f342bfc265705840014rbowen d�finie pour le serveur original en ajoutant son propre en-t�te
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code>Cache-Control</code> � la requ�te. Dans ce cas, c'est la
5effc8b39fae5cd169d17f342bfc265705840014rbowen dur�e de fra�cheur la plus basse entre la requ�te et la r�ponse
5effc8b39fae5cd169d17f342bfc265705840014rbowen qui l'emporte.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Lorsque cette dur�e de fra�cheur est absente de la requ�te ou
5effc8b39fae5cd169d17f342bfc265705840014rbowen de la r�ponse, une dur�e de fra�cheur par d�faut s'applique. La
5effc8b39fae5cd169d17f342bfc265705840014rbowen dur�e de fra�cheur par d�faut des entr�es du cache est d'une heure
5effc8b39fae5cd169d17f342bfc265705840014rbowen ; elle peut cependant �tre facilement modifi�e � l'aide de
5effc8b39fae5cd169d17f342bfc265705840014rbowen la directive <code class="directive"><a href="/mod/mod_cache.html#cachedefaultexpire">CacheDefaultExpire</a></code>.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <p>Si une r�ponse ne contient pas d'en-t�te <code>Expires</code> mais
af84459fbf938e508fd10b01cb8d699c79083813takashi inclut un en-t�te <code>Last-Modified</code>, <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code>
5effc8b39fae5cd169d17f342bfc265705840014rbowen peut d�duire une dur�e de fra�cheur en se basant sur une
5effc8b39fae5cd169d17f342bfc265705840014rbowen heuristique, qui peut �tre contr�l�e via la directive <code class="directive"><a href="/mod/mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor</a></code>.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Pour les contenus locaux, ou les contenus distants qui ne
5effc8b39fae5cd169d17f342bfc265705840014rbowen sp�cifient pas leur propre en-t�te <code>Expires</code>,
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code class="module"><a href="/mod/mod_expires.html">mod_expires</a></code> permet de r�gler finement la dur�e de
5effc8b39fae5cd169d17f342bfc265705840014rbowen fra�cheur via les param�tres <code>max-age</code> et
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code>Expires</code>.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>On peut aussi contr�ler la dur�e de fra�cheur maximale en utilisant
af84459fbf938e508fd10b01cb8d699c79083813takashi la directive <code class="directive"><a href="/mod/mod_cache.html#cachemaxexpire">CacheMaxExpire</a></code>.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <h3>Guide succinct des requ�tes conditionnelles</h3>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Lorsqu'un contenu du cache est p�rim�, httpd modifie la requ�te
5effc8b39fae5cd169d17f342bfc265705840014rbowen pour en faire une requ�te conditionnelle</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Lorsque la r�ponse originale du cache contient un en-t�te
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code>ETag</code>, <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> ajoute un en-t�te
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code>If-None-Match</code> � la requ�te envoy�e au serveur
5effc8b39fae5cd169d17f342bfc265705840014rbowen d'origine. Lorsque la r�ponse originale du cache contient un en-t�te
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code>Last-Modified</code>, <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> ajoute un en-t�te
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code>If-Modified-Since</code> � la requ�te envoy�e au serveur
5effc8b39fae5cd169d17f342bfc265705840014rbowen d'origine. Dans ces deux cas, la requ�te devient une requ�te
5effc8b39fae5cd169d17f342bfc265705840014rbowen <strong>conditionnelle</strong>.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Lorsqu'un serveur d'origine re�oit une requ�te conditionnelle,
5effc8b39fae5cd169d17f342bfc265705840014rbowen il v�rifie si le param�tre Etag ou Last-Modified a �t� modifi� en
5effc8b39fae5cd169d17f342bfc265705840014rbowen fonction des param�tres de la requ�te. Si ce n'est pas le cas, il
5effc8b39fae5cd169d17f342bfc265705840014rbowen r�pondra avec le message lapidaire "304 Not Modified". Ceci
5effc8b39fae5cd169d17f342bfc265705840014rbowen informe le cache que le contenu est p�rim� mais encore � jour, et
5effc8b39fae5cd169d17f342bfc265705840014rbowen peut �tre utilis� tel quel pour les prochaines requ�tes jusqu'� ce
5effc8b39fae5cd169d17f342bfc265705840014rbowen qu'il atteigne � nouveau sa date de p�remption.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Si le contenu a �t� modifi�, il est servi comme s'il s'agissait
5effc8b39fae5cd169d17f342bfc265705840014rbowen d'une requ�te normale et non conditionnelle.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Les requ�tes conditionnelles offrent deux avantages. D'une
5effc8b39fae5cd169d17f342bfc265705840014rbowen part, il est facile de d�terminer si le contenu du serveur
5effc8b39fae5cd169d17f342bfc265705840014rbowen d'origine correspond � celui situ�
5effc8b39fae5cd169d17f342bfc265705840014rbowen dans le cache, et ainsi d'�conomiser la consommation de ressources
5effc8b39fae5cd169d17f342bfc265705840014rbowen n�cessaire au transfert du contenu dans son ensemble.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>D'autre part, un serveur d'origine bien con�u sera configur� de
5effc8b39fae5cd169d17f342bfc265705840014rbowen telle mani�re que les requ�tes conditionnelles n�cessitent pour
5effc8b39fae5cd169d17f342bfc265705840014rbowen leur production bien moins de ressources qu'une r�ponse compl�te.
5effc8b39fae5cd169d17f342bfc265705840014rbowen Dans le cas des fichiers statiques, il suffit en g�n�ral d'un
5effc8b39fae5cd169d17f342bfc265705840014rbowen appel syst�me de type <code>stat()</code> ou similaire pour
5effc8b39fae5cd169d17f342bfc265705840014rbowen d�terminer si la taille ou la date de modification du fichier a
5effc8b39fae5cd169d17f342bfc265705840014rbowen �t� modifi�e. Ainsi, m�me un contenu local pourra �tre servi plus
5effc8b39fae5cd169d17f342bfc265705840014rbowen rapidement depuis le cache s'il n'a pas �t� modifi�.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Il serait souhaitable que tous les serveurs d'origine
5effc8b39fae5cd169d17f342bfc265705840014rbowen supportent les requ�tes conditionnelles, car dans le cas
5effc8b39fae5cd169d17f342bfc265705840014rbowen contraire, ils r�pondent comme s'il s'agissait d'une requ�te
5effc8b39fae5cd169d17f342bfc265705840014rbowen normale, et le cache r�pond comme si le contenu avait �t�
5effc8b39fae5cd169d17f342bfc265705840014rbowen modifi� et enregistre ce dernier. Le cache se comporte alors
5effc8b39fae5cd169d17f342bfc265705840014rbowen comme un simple cache � deux �tat, o� le contenu est servi s'il
5effc8b39fae5cd169d17f342bfc265705840014rbowen est � jour, ou supprim� dans le cas contraire.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <h3>Que peut-on mettre en cache ?</h3>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>La liste compl�te des conditions n�cessaires pour qu'une
5effc8b39fae5cd169d17f342bfc265705840014rbowen r�ponse puisse �tre enregistr�e dans un cache HTTP est fournie
5effc8b39fae5cd169d17f342bfc265705840014rbowen dans la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13.4">section
5effc8b39fae5cd169d17f342bfc265705840014rbowen 13.4 Response Cacheability de la RFC2616</a>, et peut se r�sumer
5effc8b39fae5cd169d17f342bfc265705840014rbowen ainsi :</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <ol>
af84459fbf938e508fd10b01cb8d699c79083813takashi <li>La mise en cache doit �tre activ�e pour cette URL. Voir les
af84459fbf938e508fd10b01cb8d699c79083813takashi 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>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <li>La reponse doit avoir un code de statut HTTP de 200, 203, 300, 301
af84459fbf938e508fd10b01cb8d699c79083813takashi ou 410.</li>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <li>La requ�te doit �tre de type HTTP GET.</li>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <li>Si la r�ponse contient un en-t�te "Authorization:", elle doit aussi
af84459fbf938e508fd10b01cb8d699c79083813takashi contenir une option "s-maxage", "must-revalidate" ou "public"
af84459fbf938e508fd10b01cb8d699c79083813takashi dans l'en-t�te "Cache-Control:".</li>
af84459fbf938e508fd10b01cb8d699c79083813takashi
11495c9f0bd33e51a25b4d532beadfbcf9b944a3nilgun <li>Si l'URL contient une cha�ne de requ�te
af84459fbf938e508fd10b01cb8d699c79083813takashi (provenant par exemple d'une m�thode GET de formulaire HTML), elle ne
11495c9f0bd33e51a25b4d532beadfbcf9b944a3nilgun sera pas mise en cache, � moins que la r�ponse ne
11495c9f0bd33e51a25b4d532beadfbcf9b944a3nilgun sp�cifie explicitement un d�lai d'expiration via un
11495c9f0bd33e51a25b4d532beadfbcf9b944a3nilgun en-t�te "Expires:" ou une directive max-age ou s-maxage de
11495c9f0bd33e51a25b4d532beadfbcf9b944a3nilgun l'en-t�te "Cache-Control:" comme indiqu� dans les
11495c9f0bd33e51a25b4d532beadfbcf9b944a3nilgun sections 13.2.1. et 13.9 de la RFC2616.</li>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <li>Si la r�ponse a un statut de 200 (OK), elle doit aussi contenir
af84459fbf938e508fd10b01cb8d699c79083813takashi au moins un des en-t�tes "Etag", "Last-Modified" ou
11495c9f0bd33e51a25b4d532beadfbcf9b944a3nilgun "Expires", ou une directive max-age ou s-maxage de
11495c9f0bd33e51a25b4d532beadfbcf9b944a3nilgun l'en-t�te "Cache-Control:", � moins que la directive
af84459fbf938e508fd10b01cb8d699c79083813takashi <code class="directive"><a href="/mod/mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod</a></code>
af84459fbf938e508fd10b01cb8d699c79083813takashi ne pr�cise d'autres contraintes.</li>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <li>Si la r�ponse contient l'option "private" dans un en-t�te
af84459fbf938e508fd10b01cb8d699c79083813takashi "Cache-Control:", elle ne sera pas mise en cache � moins que la
af84459fbf938e508fd10b01cb8d699c79083813takashi directive
af84459fbf938e508fd10b01cb8d699c79083813takashi <code class="directive"><a href="/mod/mod_cache.html#cachestoreprivate">CacheStorePrivate</a></code>
af84459fbf938e508fd10b01cb8d699c79083813takashi ne pr�cise d'autres contraintes.</li>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <li>De m�me, si la r�ponse contient l'option "no-store" dans un en-t�te
af84459fbf938e508fd10b01cb8d699c79083813takashi "Cache-Control:", elle ne sera pas mise en cache � moins que la
af84459fbf938e508fd10b01cb8d699c79083813takashi directive
af84459fbf938e508fd10b01cb8d699c79083813takashi <code class="directive"><a href="/mod/mod_cache.html#cachestorenostore">CacheStoreNoStore</a></code>
af84459fbf938e508fd10b01cb8d699c79083813takashi n'ait �t� utilis�e.</li>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <li>Une r�ponse ne sera pas mise en cache si elle comporte un en-t�te
af84459fbf938e508fd10b01cb8d699c79083813takashi "Vary:" contenant le caract�re "*" qui correspond � toute
af84459fbf938e508fd10b01cb8d699c79083813takashi cha�ne de caract�res.</li>
af84459fbf938e508fd10b01cb8d699c79083813takashi </ol>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <h3>Qu'est ce qui ne doit pas �tre mis en cache ?</h3>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Le client qui cr�e la requ�te ou le serveur d'origine qui
5effc8b39fae5cd169d17f342bfc265705840014rbowen g�n�re la r�ponse doit �tre � m�me de d�terminer si le contenu
5effc8b39fae5cd169d17f342bfc265705840014rbowen doit pouvoir �tre mis en cache ou non en d�finissant correctement
5effc8b39fae5cd169d17f342bfc265705840014rbowen l'en-t�te <code>Cache-Control</code>, et
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> sera alors en mesure de satisfaire les
5effc8b39fae5cd169d17f342bfc265705840014rbowen souhaits du client ou du serveur de mani�re appropri�e.
5effc8b39fae5cd169d17f342bfc265705840014rbowen </p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Les contenus qui varient au cours du temps, ou en fonction de
5effc8b39fae5cd169d17f342bfc265705840014rbowen particularit�s de la requ�te non prises en compte par la
5effc8b39fae5cd169d17f342bfc265705840014rbowen n�gociation HTTP ne doivent pas �tre mis en cache. Ce type de
5effc8b39fae5cd169d17f342bfc265705840014rbowen contenu doit se d�clarer lui-m�me "� ne pas mettre en cache" via
5effc8b39fae5cd169d17f342bfc265705840014rbowen l'en-t�te <code>Cache-Control</code>.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Si le contenu change souvent, suite par exemple � une dur�e de
5effc8b39fae5cd169d17f342bfc265705840014rbowen fra�cheur de l'ordre de la minute ou de la seconde, il peut tout
5effc8b39fae5cd169d17f342bfc265705840014rbowen de m�me �tre mis en cache, mais il est alors fortement souhaitable
5effc8b39fae5cd169d17f342bfc265705840014rbowen que le serveur d'origine supporte correctement les
5effc8b39fae5cd169d17f342bfc265705840014rbowen <strong>requ�tes conditionnelles</strong> afin que des r�ponses
5effc8b39fae5cd169d17f342bfc265705840014rbowen compl�tes ne soient pas syst�matiquement g�n�r�es.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Un contenu qui varie en fonction d'en-t�tes de requ�te fournis
5effc8b39fae5cd169d17f342bfc265705840014rbowen par le client peut �tre mis en cache, sous r�serve d'une
5effc8b39fae5cd169d17f342bfc265705840014rbowen utilisation appropri�e de l'en-t�te de r�ponse <code>Vary</code>.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <h3>Contenu variable et/ou n�goci�</h3>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Lorsque le serveur d'origine est configur� pour servir des
5effc8b39fae5cd169d17f342bfc265705840014rbowen contenus diff�rents en fonction de la valeur de certains en-t�tes
5effc8b39fae5cd169d17f342bfc265705840014rbowen de la requ�te, par exemple pour servir une ressource en plusieurs
5effc8b39fae5cd169d17f342bfc265705840014rbowen langages � partir d'une seule URL, le m�canisme de mise en cache
5effc8b39fae5cd169d17f342bfc265705840014rbowen d'HTTP permet de mettre en cache plusieurs variantes de la m�me
5effc8b39fae5cd169d17f342bfc265705840014rbowen page � partir d'une seule URL.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Pour y parvenir, le serveur d'origine ajoute un en-t�te
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code>Vary</code> pour indiquer quels en-t�tes doivent �tre pris
5effc8b39fae5cd169d17f342bfc265705840014rbowen en compte par un cache pour d�terminer si deux variantes sont
5effc8b39fae5cd169d17f342bfc265705840014rbowen diff�rentes l'une de l'autre.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <p>Si par exemple, une r�ponse est re�ue avec l'en-t�te Vary suivant,</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <div class="example"><p><code>
af84459fbf938e508fd10b01cb8d699c79083813takashiVary: negotiate,accept-language,accept-charset
af84459fbf938e508fd10b01cb8d699c79083813takashi </code></p></div>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <p><code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> ne servira aux demandeurs que le contenu
af84459fbf938e508fd10b01cb8d699c79083813takashi mis en cache qui correspond au contenu des en-t�tes accept-language et
af84459fbf938e508fd10b01cb8d699c79083813takashi accept-charset de la requ�te originale.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Plusieurs variantes d'un contenu peuvent �tre mises en cache
5effc8b39fae5cd169d17f342bfc265705840014rbowen simultan�ment ; <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> utilise l'en-t�te
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code>Vary</code> et les valeurs correspondantes des en-t�tes de
5effc8b39fae5cd169d17f342bfc265705840014rbowen la requ�te sp�cifi�s dans ce dernier pour
5effc8b39fae5cd169d17f342bfc265705840014rbowen d�terminer quelle variante doit �tre servie au client.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <h3><a name="disk" id="disk">Mise en cache sur disque</a></h3>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Le module <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> s'appuie sur des
5effc8b39fae5cd169d17f342bfc265705840014rbowen impl�mentations de stockage en arri�re-plan sp�cifiques pour g�rer
5effc8b39fae5cd169d17f342bfc265705840014rbowen le cache ; � ce titre, <code class="module"><a href="/mod/mod_cache_disk.html">mod_cache_disk</a></code> fournit le
5effc8b39fae5cd169d17f342bfc265705840014rbowen support de la mise en cache sur disque.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>En g�n�ral, le module se configure comme suit :</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
4aa603e6448b99f9371397d439795c91a93637eand <pre class="prettyprint lang-config">CacheRoot "/var/cache/apache/"
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedoohCacheEnable disk /
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedoohCacheDirLevels 2
4aa603e6448b99f9371397d439795c91a93637eandCacheDirLength 1</pre>
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedooh
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Il est important de savoir que, les fichiers mis en cache �tant stock�s
5effc8b39fae5cd169d17f342bfc265705840014rbowen localement, la mise en cache par l'interm�diaire du syst�me d'exploitation
5effc8b39fae5cd169d17f342bfc265705840014rbowen sera en g�n�ral aussi appliqu�e � leurs acc�s. Si bien que m�me si les
5effc8b39fae5cd169d17f342bfc265705840014rbowen fichiers sont stock�s sur disque, s'il font l'objet d'acc�s fr�quents,
5effc8b39fae5cd169d17f342bfc265705840014rbowen il est probable que le syst�me d'exploitation s'appliquera � ce qu'ils
5effc8b39fae5cd169d17f342bfc265705840014rbowen soient servis � partir de la m�moire.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <h3>Comprendre le stockage dans le cache</h3>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Pour stocker des entit�s dans le cache,
5effc8b39fae5cd169d17f342bfc265705840014rbowen le module <code class="module"><a href="/mod/mod_cache_disk.html">mod_cache_disk</a></code> cr�e une empreinte (hash) de 22
5effc8b39fae5cd169d17f342bfc265705840014rbowen caract�res de l'URL qui a fait l'objet d'une requ�te. Cette empreinte
5effc8b39fae5cd169d17f342bfc265705840014rbowen comprend le nom d'h�te, le protocole, le port, le chemin et tout argument
5effc8b39fae5cd169d17f342bfc265705840014rbowen de type CGI associ� � l'URL, ainsi que les �l�ments
5effc8b39fae5cd169d17f342bfc265705840014rbowen sp�cifi�s dans l'en-t�te Vary afin d'�tre sur que plusieurs URLs
5effc8b39fae5cd169d17f342bfc265705840014rbowen n'interf�rent pas entre elles.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Chaque position de l'empreinte peut contenir un caract�re
5effc8b39fae5cd169d17f342bfc265705840014rbowen choisi parmi 64 caract�res diff�rents, il y a donc
5effc8b39fae5cd169d17f342bfc265705840014rbowen 64^22 possibilit�s pour une empreinte. Par exemple, une URL peut poss�der
5effc8b39fae5cd169d17f342bfc265705840014rbowen l'empreinte <code>xyTGxSMO2b68mBCykqkp1w</code>. Cette empreinte est
5effc8b39fae5cd169d17f342bfc265705840014rbowen utilis�e pour pr�fixer les noms de fichiers sp�cifiques � cette URL �
5effc8b39fae5cd169d17f342bfc265705840014rbowen l'int�rieur du cache; cependant, elle est tout d'abord plac�e dans les
5effc8b39fae5cd169d17f342bfc265705840014rbowen r�pertoires du cache selon les directives
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code class="directive"><a href="/mod/mod_cache_disk.html#cachedirlevels">CacheDirLevels</a></code> et
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code class="directive"><a href="/mod/mod_cache_disk.html#cachedirlength">CacheDirLength</a></code>.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>La directive
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code class="directive"><a href="/mod/mod_cache_disk.html#cachedirlevels">CacheDirLevels</a></code>
5effc8b39fae5cd169d17f342bfc265705840014rbowen d�finit le nombre de niveaux de sous-r�pertoires, et
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code class="directive"><a href="/mod/mod_cache_disk.html#cachedirlength">CacheDirLength</a></code>
5effc8b39fae5cd169d17f342bfc265705840014rbowen le nombre de caract�res composant le nom des sous-r�pertoires. Dans
5effc8b39fae5cd169d17f342bfc265705840014rbowen l'exemple donn� plus haut, l'empreinte se trouvera � :
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code>/var/cache/apache/x/y/TGxSMO2b68mBCykqkp1w</code>.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Cette technique a pour but principal de r�duire le nombre de
5effc8b39fae5cd169d17f342bfc265705840014rbowen sous-r�pertoires ou de fichiers contenus dans un r�pertoire particulier,
5effc8b39fae5cd169d17f342bfc265705840014rbowen car le fonctionnement de la plupart des syst�mes de fichiers est ralenti
5effc8b39fae5cd169d17f342bfc265705840014rbowen quand ce nombre augmente. Avec la valeur "1" pour la directive
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code class="directive"><a href="/mod/mod_cache_disk.html#cachedirlength">CacheDirLength</a></code>,
5effc8b39fae5cd169d17f342bfc265705840014rbowen il peut y avoir au plus 64 sous-r�pertoires � un niveau quelconque.
5effc8b39fae5cd169d17f342bfc265705840014rbowen Avec la valeur "2", il peut y en avoir 64 * 64, etc...
5effc8b39fae5cd169d17f342bfc265705840014rbowen A moins d'avoir une bonne raison pour ne pas le faire, l'utilisation de
5effc8b39fae5cd169d17f342bfc265705840014rbowen la valeur "1" pour la directive
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code class="directive"><a href="/mod/mod_cache_disk.html#cachedirlength">CacheDirLength</a></code>
5effc8b39fae5cd169d17f342bfc265705840014rbowen est recommand�e.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Le param�trage de la directive
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code class="directive"><a href="/mod/mod_cache_disk.html#cachedirlevels">CacheDirLevels</a></code>
5effc8b39fae5cd169d17f342bfc265705840014rbowen d�pend du nombre de fichiers que vous pensez stocker dans le cache.
5effc8b39fae5cd169d17f342bfc265705840014rbowen Avec une valeur de "2" comme dans l'exemple donn� plus haut,
5effc8b39fae5cd169d17f342bfc265705840014rbowen 4096 sous-r�pertoires peuvent �tre cr��s au total. Avec 1 million de
5effc8b39fae5cd169d17f342bfc265705840014rbowen fichiers dans le cache, cela �quivaut � environ 245 URLs mises en cache
5effc8b39fae5cd169d17f342bfc265705840014rbowen dans chaque r�pertoire.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Chaque URL n�cessite au moins deux fichiers dans le cache. Ce sont en
5effc8b39fae5cd169d17f342bfc265705840014rbowen g�n�ral un fichier ".header", qui contient des meta-informations � propos
5effc8b39fae5cd169d17f342bfc265705840014rbowen de l'URL, comme la date de son arriv�e � expiration,
5effc8b39fae5cd169d17f342bfc265705840014rbowen et un fichier ".data" qui est la copie exacte du contenu � servir.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Dans le cas d'un contenu n�goci� via l'en-t�te "Vary", un r�pertoire
5effc8b39fae5cd169d17f342bfc265705840014rbowen ".vary" sera cr�� pour l'URL en question. Ce r�pertoire contiendra de
5effc8b39fae5cd169d17f342bfc265705840014rbowen multiples fichiers ".data" correspondant aux diff�rents contenus
5effc8b39fae5cd169d17f342bfc265705840014rbowen n�goci�s.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <h3>Maintenance du cache sur disque</h3>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Le module <code class="module"><a href="/mod/mod_cache_disk.html">mod_cache_disk</a></code> n'effectue aucune
5effc8b39fae5cd169d17f342bfc265705840014rbowen r�gulation de l'espace disque utilis� par le cache, mais s'il
5effc8b39fae5cd169d17f342bfc265705840014rbowen s'arr�te en douceur en cas d'erreur disque et se comporte alors
5effc8b39fae5cd169d17f342bfc265705840014rbowen comme si le cache n'avait jamais exist�.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Par contre l'utilitaire
5effc8b39fae5cd169d17f342bfc265705840014rbowen <a href="programs/htcacheclean.html">htcacheclean</a> fourni avec
5effc8b39fae5cd169d17f342bfc265705840014rbowen httpd
5effc8b39fae5cd169d17f342bfc265705840014rbowen vous permet de nettoyer le cache p�riodiquement.
5effc8b39fae5cd169d17f342bfc265705840014rbowen D�terminer la fr�quence � laquelle lancer <a href="programs/htcacheclean.html">htcacheclean</a> et la taille souhait�e
5effc8b39fae5cd169d17f342bfc265705840014rbowen pour le cache est une t�che relativement complexe et il vous faudra de
5effc8b39fae5cd169d17f342bfc265705840014rbowen nombreux essais et erreurs pour arriver � s�lectionner des valeurs
5effc8b39fae5cd169d17f342bfc265705840014rbowen optimales.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p><a href="programs/htcacheclean.html">htcacheclean</a> op�re selon deux
5effc8b39fae5cd169d17f342bfc265705840014rbowen modes. Il peut s'ex�cuter comme d�mon r�sident, ou �tre lanc�
5effc8b39fae5cd169d17f342bfc265705840014rbowen p�riodiquement par cron. <a href="programs/htcacheclean.html">htcacheclean</a> peut mettre une heure
5effc8b39fae5cd169d17f342bfc265705840014rbowen ou plus pour traiter de tr�s grands caches (plusieurs dizaines de
5effc8b39fae5cd169d17f342bfc265705840014rbowen Gigaoctets) et si vous l'ex�cutez � partir de cron, il vous est
5effc8b39fae5cd169d17f342bfc265705840014rbowen conseill� de d�terminer la dur�e typique d'un traitement, afin d'�viter
5effc8b39fae5cd169d17f342bfc265705840014rbowen d'ex�cuter plusieurs instances � la fois.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Il est aussi conseill� d'attribuer un niveau de priorit� "nice"
5effc8b39fae5cd169d17f342bfc265705840014rbowen appropri� � htcacheclean de fa�on � ce qu'il n'effectue pas trop
5effc8b39fae5cd169d17f342bfc265705840014rbowen d'acc�s disque pendant le fonctionnement du serveur.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p class="figure">
5effc8b39fae5cd169d17f342bfc265705840014rbowen <img src="images/caching_fig1.gif" alt="" width="600" height="406" /><br />
5effc8b39fae5cd169d17f342bfc265705840014rbowen <a id="figure1" name="figure1"><dfn>Figure 1</dfn></a>: Croissance
5effc8b39fae5cd169d17f342bfc265705840014rbowen typique du cache / s�quence de nettoyage.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Comme <code class="module"><a href="/mod/mod_cache_disk.html">mod_cache_disk</a></code> ne tient pas compte de l'espace
5effc8b39fae5cd169d17f342bfc265705840014rbowen utilis� dans le cache, vous devez vous assurer que
5effc8b39fae5cd169d17f342bfc265705840014rbowen <a href="programs/htcacheclean.html">htcacheclean</a> est configur� de
5effc8b39fae5cd169d17f342bfc265705840014rbowen fa�on � laisser suffisamment d'"espace de croissance"
5effc8b39fae5cd169d17f342bfc265705840014rbowen � la suite d'un nettoyage.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen
af84459fbf938e508fd10b01cb8d699c79083813takashi </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
af84459fbf938e508fd10b01cb8d699c79083813takashi<div class="section">
5effc8b39fae5cd169d17f342bfc265705840014rbowen<h2><a name="socache-caching" id="socache-caching">Mise en cache d'objets partag�s � deux �tats de forme
5effc8b39fae5cd169d17f342bfc265705840014rbowen cl�/valeur</a></h2>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <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_authn_socache.html">mod_authn_socache</a></code></li><li><code class="module"><a href="/mod/mod_socache_dbm.html">mod_socache_dbm</a></code></li><li><code class="module"><a href="/mod/mod_socache_dc.html">mod_socache_dc</a></code></li><li><code class="module"><a href="/mod/mod_socache_memcache.html">mod_socache_memcache</a></code></li><li><code class="module"><a href="/mod/mod_socache_shmcb.html">mod_socache_shmcb</a></code></li><li><code class="module"><a href="/mod/mod_ssl.html">mod_ssl</a></code></li></ul></td><td><ul><li><code class="directive"><a href="/mod/mod_authn_socache.html#authncachesocache">AuthnCacheSOCache</a></code></li><li><code class="directive"><a href="/mod/mod_ssl.html#sslsessioncache">SSLSessionCache</a></code></li><li><code class="directive"><a href="/mod/mod_ssl.html#sslstaplingcache">SSLStaplingCache</a></code></li></ul></td></tr></table>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Le serveur HTTP Apache fournit un cache d'objets partag�s de bas
5effc8b39fae5cd169d17f342bfc265705840014rbowen niveau pour la mise en cache d'informations comme les sessions SSL
5effc8b39fae5cd169d17f342bfc265705840014rbowen ou les donn�es d'authentification dans l'interface <a href="socache.html">socache</a>.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Pour chaque impl�mentation un module suppl�mentaire est fourni
5effc8b39fae5cd169d17f342bfc265705840014rbowen qui offre les services d'arri�re-plan suivants :</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <dl>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <dt><code class="module"><a href="/mod/mod_socache_dbm.html">mod_socache_dbm</a></code></dt>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <dd>Cache d'objets partag�s bas� sur DBM.</dd>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <dt><code class="module"><a href="/mod/mod_socache_dc.html">mod_socache_dc</a></code></dt>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <dd>Cache d'objets partag�s bas� sur Distcache.</dd>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <dt><code class="module"><a href="/mod/mod_socache_memcache.html">mod_socache_memcache</a></code></dt>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <dd>Cache d'objets partag�s bas� sur Memcache.</dd>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <dt><code class="module"><a href="/mod/mod_socache_shmcb.html">mod_socache_shmcb</a></code></dt>
5effc8b39fae5cd169d17f342bfc265705840014rbowen <dd>Cache d'objets partag�s bas� sur la m�moire partag�e.</dd>
5effc8b39fae5cd169d17f342bfc265705840014rbowen </dl>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <h3><a name="mod_authn_socache-caching" id="mod_authn_socache-caching">Mise en cache des donn�es d'authentification</a></h3>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <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_authn_socache.html">mod_authn_socache</a></code></li></ul></td><td><ul><li><code class="directive"><a href="/mod/mod_authn_socache.html#authncachesocache">AuthnCacheSOCache</a></code></li></ul></td></tr></table>
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Le module <code class="module"><a href="/mod/mod_authn_socache.html">mod_authn_socache</a></code> permet la mise en
5effc8b39fae5cd169d17f342bfc265705840014rbowen cache des donn�es issues d'une authentification, diminuant ainsi
5effc8b39fae5cd169d17f342bfc265705840014rbowen la charge des serveurs d'authentification en arri�re-plan.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <h3><a name="mod_ssl-caching" id="mod_ssl-caching">Mise en cache des sessions SSL</a></h3>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <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_ssl.html">mod_ssl</a></code></li></ul></td><td><ul><li><code class="directive"><a href="/mod/mod_ssl.html#sslsessioncache">SSLSessionCache</a></code></li><li><code class="directive"><a href="/mod/mod_ssl.html#sslstaplingcache">SSLStaplingCache</a></code></li></ul></td></tr></table>
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Le module <code class="module"><a href="/mod/mod_ssl.html">mod_ssl</a></code> utilise l'interface
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code>socache</code> pour fournir un cache de session et un cache
5effc8b39fae5cd169d17f342bfc265705840014rbowen de base.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen
9a58dc6a2b26ec128b1270cf48810e705f1a90dbsf
af84459fbf938e508fd10b01cb8d699c79083813takashi </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
af84459fbf938e508fd10b01cb8d699c79083813takashi<div class="section">
5effc8b39fae5cd169d17f342bfc265705840014rbowen<h2><a name="file-caching" id="file-caching">Mise en cache � base de fichiers sp�cialis�s</a></h2>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <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></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_file_cache.html#mmapfile">MMapFile</a></code></li></ul></td></tr></table>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Sur les plateformes o� le syst�me de fichiers peut �tre lent, ou
5effc8b39fae5cd169d17f342bfc265705840014rbowen lorsque les descripteurs de fichiers sont gourmands en ressources,
5effc8b39fae5cd169d17f342bfc265705840014rbowen il est possible de pr�charger des fichiers en m�moire au d�marrage
5effc8b39fae5cd169d17f342bfc265705840014rbowen du serveur.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Sur les syst�mes o� l'ouverture des fichiers est lente, il est
5effc8b39fae5cd169d17f342bfc265705840014rbowen possible d'ouvrir le fichier au d�marrage du serveur et de mettre en
5effc8b39fae5cd169d17f342bfc265705840014rbowen cache le descripteur de fichier. Ces options peuvent vous aider sur
5effc8b39fae5cd169d17f342bfc265705840014rbowen les syst�mes o� l'acc�s aux fichiers statiques est lent.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <h3><a name="filehandle" id="filehandle">Mise en cache des descripteurs de fichier</a></h3>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Le processus d'ouverture d'un fichier peut �tre en soi une
5effc8b39fae5cd169d17f342bfc265705840014rbowen source de ralentissement, en particulier sur les syst�mes de
5effc8b39fae5cd169d17f342bfc265705840014rbowen fichiers sur le r�seau. httpd permet d'�viter ce ralentissement en
5effc8b39fae5cd169d17f342bfc265705840014rbowen maintenant un cache des descripteurs de fichiers ouverts pour les
5effc8b39fae5cd169d17f342bfc265705840014rbowen fichiers souvent servis. Actuellement, httpd fournit une seule
5effc8b39fae5cd169d17f342bfc265705840014rbowen impl�mentation de mise en cache des descripteurs de fichiers.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <h4>CacheFile</h4>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>La forme la plus basique de mise en cache que propose httpd
5effc8b39fae5cd169d17f342bfc265705840014rbowen est la mise en cache des descripteurs de fichiers fournie par le
5effc8b39fae5cd169d17f342bfc265705840014rbowen module <code class="module"><a href="/mod/mod_file_cache.html">mod_file_cache</a></code>. Plut�t que de mettre en
5effc8b39fae5cd169d17f342bfc265705840014rbowen cache le contenu des fichiers, ce cache maintient une table des
5effc8b39fae5cd169d17f342bfc265705840014rbowen descripteurs de fichiers ouverts. Les fichiers devant faire
5effc8b39fae5cd169d17f342bfc265705840014rbowen l'objet d'une mise en cache de ce type sont sp�cifi�s dans le
5effc8b39fae5cd169d17f342bfc265705840014rbowen fichier de configuration via la directive <code class="directive"><a href="/mod/mod_file_cache.html#cachefile">CacheFile</a></code>.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>La directive <code class="directive"><a href="/mod/mod_file_cache.html#cachefile">CacheFile</a></code> informe httpd
5effc8b39fae5cd169d17f342bfc265705840014rbowen qu'il doit ouvrir le fichier lors de son d�marrage et qu'il doit
5effc8b39fae5cd169d17f342bfc265705840014rbowen r�utiliser le descripteur de fichier mis en cache pour tous les
5effc8b39fae5cd169d17f342bfc265705840014rbowen acc�s futurs � ce fichier.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
20f499565e77defe9dab24dd85c02f38a1175855nd <pre class="prettyprint lang-config">CacheFile /usr/local/apache2/htdocs/index.html</pre>
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedooh
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Si vous d�sirez mettre en cache un grand nombre de fichiers
5effc8b39fae5cd169d17f342bfc265705840014rbowen de cette mani�re, vous devez vous assurer que le nombre maximal
5effc8b39fae5cd169d17f342bfc265705840014rbowen de fichiers ouverts pour votre syst�me d'exploitation est d�fini
5effc8b39fae5cd169d17f342bfc265705840014rbowen � une valeur suffisante.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Bien que l'utilisation de la directive <code class="directive"><a href="/mod/mod_file_cache.html#cachefile">CacheFile</a></code> n'entra�ne pas de
5effc8b39fae5cd169d17f342bfc265705840014rbowen mise en cache du contenu du fichier proprement dit, elle
5effc8b39fae5cd169d17f342bfc265705840014rbowen implique que si le fichier est modifi� pendant l'ex�cution du
5effc8b39fae5cd169d17f342bfc265705840014rbowen serveur, ces modifications ne seront pas prises en compte. Le
5effc8b39fae5cd169d17f342bfc265705840014rbowen fichier sera toujours servi dans l'�tat o� il se trouvait au
5effc8b39fae5cd169d17f342bfc265705840014rbowen moment du d�marrage du serveur.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Si le fichier est supprim� pendant l'ex�cution du serveur, ce
5effc8b39fae5cd169d17f342bfc265705840014rbowen dernier conservera le descripteur de fichier ouvert associ� et
5effc8b39fae5cd169d17f342bfc265705840014rbowen servira le fichier dans l'�tat o� il se trouvait au
5effc8b39fae5cd169d17f342bfc265705840014rbowen moment du d�marrage du serveur. Cela signifie aussi que m�me si
5effc8b39fae5cd169d17f342bfc265705840014rbowen le fichier a �t� supprim�, et n'appara�t donc plus dans le
5effc8b39fae5cd169d17f342bfc265705840014rbowen syst�me de fichiers, l'espace disque lib�r� ne sera disponible
5effc8b39fae5cd169d17f342bfc265705840014rbowen qu'une fois le serveur httpd arr�t� et donc le descripteur de
5effc8b39fae5cd169d17f342bfc265705840014rbowen fichier ferm�.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <h3><a name="inmemory" id="inmemory">In-Memory Caching</a></h3>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <p>Servir un contenu directement depuis la m�moire syst�me est
af84459fbf938e508fd10b01cb8d699c79083813takashi universellement reconnu comme la m�thode la plus rapide. Lire des fichiers
af84459fbf938e508fd10b01cb8d699c79083813takashi depuis un contr�leur de disque ou pire, depuis un r�seau distant est plus
af84459fbf938e508fd10b01cb8d699c79083813takashi lent de plusieurs ordres de grandeur. Les contr�leurs de disque r�alisent
af84459fbf938e508fd10b01cb8d699c79083813takashi en g�n�ral des op�rations m�caniques, et l'acc�s au r�seau est limit� par la
af84459fbf938e508fd10b01cb8d699c79083813takashi bande passante dont vous disposez. Par contre, les temps d'acc�s � la
af84459fbf938e508fd10b01cb8d699c79083813takashi m�moire sont de l'ordre de la nano-seconde.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <p>Cependant la m�moire syst�me n'est pas bon march�; � capacit� �gale,
af84459fbf938e508fd10b01cb8d699c79083813takashi c'est de loin le type de stockage le plus co�teux et il est important de
af84459fbf938e508fd10b01cb8d699c79083813takashi s'assurer qu'elle est utilis�e efficacement. Le fait de mettre en cache
af84459fbf938e508fd10b01cb8d699c79083813takashi des fichiers en m�moire diminue d'autant la quantit� de m�moire syst�me
af84459fbf938e508fd10b01cb8d699c79083813takashi disponible. Comme nous le verrons plus loin, ce n'est pas un probl�me en
af84459fbf938e508fd10b01cb8d699c79083813takashi soi dans le cas de la mise en cache par l'interm�diaire du syst�me
af84459fbf938e508fd10b01cb8d699c79083813takashi d'exploitation, mais si l'on utilise la mise en cache en m�moire propre �
3c13a815670b54d1c17bf02954f7d2b066cde95cnd httpd, il faut prendre garde � ne pas allouer trop de m�moire au cache.
af84459fbf938e508fd10b01cb8d699c79083813takashi Sinon le syst�me sera contraint d'utiliser le swap, ce qui d�gradera
af84459fbf938e508fd10b01cb8d699c79083813takashi sensiblement les performances.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <h4>Mise en cache par l'interm�diaire du syst�me d'exploitation</h4>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <p>Dans la plupart des syst�mes d'exploitation modernes, c'est le noyau
af84459fbf938e508fd10b01cb8d699c79083813takashi qui g�re directement la mise en cache en m�moire des donn�es relatives
af84459fbf938e508fd10b01cb8d699c79083813takashi aux fichiers. C'est une fonctionnalit� puissante, et les syst�mes
af84459fbf938e508fd10b01cb8d699c79083813takashi d'exploitation s'en acquittent fort bien pour la plus grande partie.
af84459fbf938e508fd10b01cb8d699c79083813takashi Consid�rons par exemple, dans le cas de Linux, la diff�rence entre le
af84459fbf938e508fd10b01cb8d699c79083813takashi temps n�cessaire � la premi�re lecture d'un fichier et le temps
af84459fbf938e508fd10b01cb8d699c79083813takashi n�cessaire � sa deuxi�me lecture;</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
4aa603e6448b99f9371397d439795c91a93637eand <div class="example"><pre>colm@coroebus:~$ time cat testfile &gt; /dev/null
af84459fbf938e508fd10b01cb8d699c79083813takashireal 0m0.065s
af84459fbf938e508fd10b01cb8d699c79083813takashiuser 0m0.000s
af84459fbf938e508fd10b01cb8d699c79083813takashisys 0m0.001s
af84459fbf938e508fd10b01cb8d699c79083813takashicolm@coroebus:~$ time cat testfile &gt; /dev/null
af84459fbf938e508fd10b01cb8d699c79083813takashireal 0m0.003s
af84459fbf938e508fd10b01cb8d699c79083813takashiuser 0m0.003s
af84459fbf938e508fd10b01cb8d699c79083813takashisys 0m0.000s</pre></div>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <p>M�me pour ce petit fichier, il y a une grande diff�rence entre les
af84459fbf938e508fd10b01cb8d699c79083813takashi temps n�cessaires pour lire le fichier. Ceci est du au fait que le
af84459fbf938e508fd10b01cb8d699c79083813takashi noyau a mis en cache le contenu du fichier en m�moire.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <p>Du fait de toujours pouvoir disposer de m�moire syst�me, vous pouvez
af84459fbf938e508fd10b01cb8d699c79083813takashi �tre assur� qu'il y aura de plus en plus de contenus de fichiers stock�s
af84459fbf938e508fd10b01cb8d699c79083813takashi dans ce cache. Ceci peut s'av�rer une m�thode de mise en cache en m�moire
af84459fbf938e508fd10b01cb8d699c79083813takashi tr�s efficace, et ne n�cessite aucune configuration suppl�mentaire
3c13a815670b54d1c17bf02954f7d2b066cde95cnd de httpd.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <p>De plus, comme le syst�me d'exploitation sait si des fichiers
af84459fbf938e508fd10b01cb8d699c79083813takashi ont �t�
af84459fbf938e508fd10b01cb8d699c79083813takashi supprim�s ou modifi�s, il peut effacer automatiquement des contenus de
af84459fbf938e508fd10b01cb8d699c79083813takashi fichiers du cache lorsque cela s'av�re n�cessaire. Ceci constitue un gros
3c13a815670b54d1c17bf02954f7d2b066cde95cnd avantage par rapport � la mise en cache en m�moire
3c13a815670b54d1c17bf02954f7d2b066cde95cnd de httpd qui n'a
af84459fbf938e508fd10b01cb8d699c79083813takashi aucune possibilit� de savoir si un fichier a �t� modifi�.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <p>En d�pit des performances et des avantages de la mise en cache
af84459fbf938e508fd10b01cb8d699c79083813takashi automatique par le syst�me d'exploitation, la mise en cache en m�moire
3c13a815670b54d1c17bf02954f7d2b066cde95cnd peut �tre effectu�e plus efficacement par httpd dans certaines
af84459fbf938e508fd10b01cb8d699c79083813takashi circonstances.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <h4>Mise en cache � l'aide de la directive MMapFile</h4>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi
0cf3cdbaa1dad11cbf1ce32e48f1b4ec88cf779fnilgun <p>La directive <code class="directive"><a href="/mod/mod_file_cache.html#mmapfile">MMapFile</a></code>
af84459fbf938e508fd10b01cb8d699c79083813takashi fournie par le module <code class="module"><a href="/mod/mod_file_cache.html">mod_file_cache</a></code> vous permet de
3c13a815670b54d1c17bf02954f7d2b066cde95cnd demander � httpd de charger un contenu de fichier statique en m�moire
3c13a815670b54d1c17bf02954f7d2b066cde95cnd lors de son d�marrage (� l'aide de l'appel
3c13a815670b54d1c17bf02954f7d2b066cde95cnd syst�me mmap). httpd
af84459fbf938e508fd10b01cb8d699c79083813takashi utilisera le contenu charg� en m�moire pour satisfaire ult�rieurement
af84459fbf938e508fd10b01cb8d699c79083813takashi toutes les demandes d'acc�s � ce fichier.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
20f499565e77defe9dab24dd85c02f38a1175855nd <pre class="prettyprint lang-config">MMapFile /usr/local/apache2/htdocs/index.html</pre>
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedooh
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <p>Comme dans le cas de la directive
af84459fbf938e508fd10b01cb8d699c79083813takashi <code class="directive"><a href="/mod/mod_file_cache.html#cachefile">CacheFile</a></code>, toute
3c13a815670b54d1c17bf02954f7d2b066cde95cnd modification du fichier ne sera plus prise en compte par httpd une fois
af84459fbf938e508fd10b01cb8d699c79083813takashi ce dernier d�marr�.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <p> La directive
0cf3cdbaa1dad11cbf1ce32e48f1b4ec88cf779fnilgun <code class="directive"><a href="/mod/mod_file_cache.html#mmapfile">MMapFile</a></code> ne gardant
af84459fbf938e508fd10b01cb8d699c79083813takashi pas la trace de la quantit� de m�moire qu'elle alloue, vous devez prendre
3c13a815670b54d1c17bf02954f7d2b066cde95cnd garde de ne pas en abuser. Chaque processus enfant de httpd utilisant
af84459fbf938e508fd10b01cb8d699c79083813takashi sa propre r�plique de la m�moire allou�e, il est donc d'une importance
af84459fbf938e508fd10b01cb8d699c79083813takashi critique de s'assurer que les fichiers charg�s ne sont pas d'une taille
af84459fbf938e508fd10b01cb8d699c79083813takashi trop importante afin d'�pargner au syst�me l'utilisation du swap.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
af84459fbf938e508fd10b01cb8d699c79083813takashi<div class="section">
5effc8b39fae5cd169d17f342bfc265705840014rbowen<h2><a name="security" id="security">Consid�rations sur la s�curit�</a></h2>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <h3>Autorisation et contr�le d'acc�s</h3>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Utiliser <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> revient sensiblement � la m�me
5effc8b39fae5cd169d17f342bfc265705840014rbowen chose qu'avoir un mandataire inverse int�gr� (reverse-proxy). Les requ�tes
5effc8b39fae5cd169d17f342bfc265705840014rbowen seront servies par le module de mise en cache sauf si ce dernier
5effc8b39fae5cd169d17f342bfc265705840014rbowen d�termine qu'un processus d'arri�re-plan doit �tre appel�. La mise en
5effc8b39fae5cd169d17f342bfc265705840014rbowen cache de ressources locales modifie consid�rablement le mod�le de
5effc8b39fae5cd169d17f342bfc265705840014rbowen s�curit� de httpd.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Comme le parcours de la hi�rarchie d'un syst�me de fichiers pour
5effc8b39fae5cd169d17f342bfc265705840014rbowen examiner le contenu d'�ventuels fichiers
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code>.htaccess</code> serait une op�ration tr�s co�teuse en ressources,
5effc8b39fae5cd169d17f342bfc265705840014rbowen annulant partiellement de ce fait l'int�r�t de la mise en cache
5effc8b39fae5cd169d17f342bfc265705840014rbowen (acc�l�rer le traitement des requ�tes),
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> ne se pr�occupe pas de savoir s'il a
5effc8b39fae5cd169d17f342bfc265705840014rbowen l'autorisation de servir une entit� mise en cache. En d'autres termes,
5effc8b39fae5cd169d17f342bfc265705840014rbowen si <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> a mis en cache un certain contenu, ce
5effc8b39fae5cd169d17f342bfc265705840014rbowen dernier sera servi � partir du cache tant qu'il ne sera pas arriv� �
5effc8b39fae5cd169d17f342bfc265705840014rbowen expiration.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Si par exemple, votre configuration autorise l'acc�s � une ressource
5effc8b39fae5cd169d17f342bfc265705840014rbowen en fonction de l'adresse IP, vous devez vous assurer que ce contenu n'est
5effc8b39fae5cd169d17f342bfc265705840014rbowen pas mis en cache. Ceci est possible en utilisant la directive
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code class="directive"><a href="/mod/mod_cache.html#cachedisable">CacheDisable</a></code>, ou le module
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code class="module"><a href="/mod/mod_expires.html">mod_expires</a></code>. Livr� � lui-m�me,
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> - pratiquement comme un mandataire inverse -
5effc8b39fae5cd169d17f342bfc265705840014rbowen mettrait en cache le contenu lors de son service, et le servirait ensuite
5effc8b39fae5cd169d17f342bfc265705840014rbowen � tout client, vers n'importe quelle adresse IP.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Lorsque la directive <code class="directive"><a href="/mod/mod_cache.html#cachequickhandler">CacheQuickHandler</a></code> est d�finie �
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code>Off</code>, toutes les phases du traitement de la requ�te
5effc8b39fae5cd169d17f342bfc265705840014rbowen sont ex�cut�es et le mod�le de s�curit� reste le m�me.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <h3>Piratages locaux</h3>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Etant donn� que les requ�tes des utilisateurs finaux peuvent �tre
5effc8b39fae5cd169d17f342bfc265705840014rbowen servies depuis le cache, ce dernier est une cible potentielle pour ceux
5effc8b39fae5cd169d17f342bfc265705840014rbowen qui veulent d�figurer un contenu ou interf�rer avec lui. Il est important
5effc8b39fae5cd169d17f342bfc265705840014rbowen de garder � l'esprit que l'utilisateur sous lequel tourne
5effc8b39fae5cd169d17f342bfc265705840014rbowen httpd doit
5effc8b39fae5cd169d17f342bfc265705840014rbowen toujours avoir l'acc�s en �criture dans le cache. Ceci est en contraste
5effc8b39fae5cd169d17f342bfc265705840014rbowen total avec la recommandation usuelle d'interdire � l'utilisateur sous
5effc8b39fae5cd169d17f342bfc265705840014rbowen lequel tourne Apache
5effc8b39fae5cd169d17f342bfc265705840014rbowen l'acc�s en �criture � tout contenu.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Si l'utilisateur sous lequel tourne Apache est compromis,
5effc8b39fae5cd169d17f342bfc265705840014rbowen par exemple � cause d'une
5effc8b39fae5cd169d17f342bfc265705840014rbowen faille de s�curit� dans un processus CGI, il est possible que le cache
5effc8b39fae5cd169d17f342bfc265705840014rbowen fasse l'objet d'une attaque. Il est relativement ais� d'ins�rer ou de
5effc8b39fae5cd169d17f342bfc265705840014rbowen modifier une entit� dans le cache en utilisant le module
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code class="module"><a href="/mod/mod_cache_disk.html">mod_cache_disk</a></code>.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Cela repr�sente un risque relativement �l�v� par rapport aux autres
5effc8b39fae5cd169d17f342bfc265705840014rbowen types d'attaques qu'il est possible de mener sous l'utilisateur apache.
5effc8b39fae5cd169d17f342bfc265705840014rbowen Si vous utilisez <code class="module"><a href="/mod/mod_cache_disk.html">mod_cache_disk</a></code>, vous devez garder ceci
5effc8b39fae5cd169d17f342bfc265705840014rbowen � l'esprit : effectuez toujours les mises � jour de
5effc8b39fae5cd169d17f342bfc265705840014rbowen httpdquand des
5effc8b39fae5cd169d17f342bfc265705840014rbowen correctifs de s�curit� sont annonc�s et ex�cutez les processus CGI sous
5effc8b39fae5cd169d17f342bfc265705840014rbowen un utilisateur autre qu'apache en utilisant
5effc8b39fae5cd169d17f342bfc265705840014rbowen <a href="suexec.html">suEXEC</a> dans la mesure du possible.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <h3>Empoisonnement du cache (Cache Poisoning)</h3>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Si vous utilisez httpd comme serveur mandataire avec mise en cache,
5effc8b39fae5cd169d17f342bfc265705840014rbowen vous vous exposez aussi � un �ventuel "Empoisonnement du
5effc8b39fae5cd169d17f342bfc265705840014rbowen cache" (Cache poisoning). L'empoisonnement du cache est un terme g�n�ral
5effc8b39fae5cd169d17f342bfc265705840014rbowen pour d�signer les attaques au cours desquelles l'attaquant fait en sorte
5effc8b39fae5cd169d17f342bfc265705840014rbowen que le serveur mandataire renvoie � un contenu incorrect (et souvent
5effc8b39fae5cd169d17f342bfc265705840014rbowen ind�sirable) suite � en provenance du serveur d'arri�re-plan.
5effc8b39fae5cd169d17f342bfc265705840014rbowen </p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Par exemple, si les serveur DNS qu'utilise votre syst�me o� tourne
5effc8b39fae5cd169d17f342bfc265705840014rbowen httpd sont vuln�rables � l'empoisonnement du cache des DNS, un attaquant
5effc8b39fae5cd169d17f342bfc265705840014rbowen pourra contr�ler vers o� httpd se connecte lorsqu'il demande un contenu
5effc8b39fae5cd169d17f342bfc265705840014rbowen depuis le serveur d'origine.
5effc8b39fae5cd169d17f342bfc265705840014rbowen Un autre exemple est constitu� par les attaques ainsi nomm�es
5effc8b39fae5cd169d17f342bfc265705840014rbowen "Dissimulation de requ�tes HTTP" (HTTP request-smuggling).</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Ce document n'est pas le bon endroit pour une discussion approfondie
5effc8b39fae5cd169d17f342bfc265705840014rbowen � propos de la Dissimulation de requ�tes HTTP (utilisez plut�t votre
5effc8b39fae5cd169d17f342bfc265705840014rbowen moteur de recherche favori); il est cependant important de savoir qu'il
5effc8b39fae5cd169d17f342bfc265705840014rbowen est possible d'�laborer une s�rie de requ�tes, et d'exploiter une
5effc8b39fae5cd169d17f342bfc265705840014rbowen vuln�rabilit� d'un serveur web d'origine de telle fa�on que l'attaquant
5effc8b39fae5cd169d17f342bfc265705840014rbowen puisse contr�ler enti�rement le contenu renvoy� par le mandataire.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <h3>D�ni de Service / Cachebusting</h3>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
af84459fbf938e508fd10b01cb8d699c79083813takashi
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Le m�canisme utilis� via l'en-t�te Vary permet de mettre en
5effc8b39fae5cd169d17f342bfc265705840014rbowen cache simultan�ment plusieurs variantes d'une ressource avec la
5effc8b39fae5cd169d17f342bfc265705840014rbowen m�me URL. Le cache s�lectionne la variante correcte � envoyer au
5effc8b39fae5cd169d17f342bfc265705840014rbowen client en fonction des valeurs d'en-t�te fournies par ce dernier.
5effc8b39fae5cd169d17f342bfc265705840014rbowen Ce m�canisme peut devenir un probl�me lorsqu'on tente d'appliquer
5effc8b39fae5cd169d17f342bfc265705840014rbowen le m�canisme des variantes � un en-t�te connu pour pouvoir
5effc8b39fae5cd169d17f342bfc265705840014rbowen poss�der un grand nombre de valeurs
5effc8b39fae5cd169d17f342bfc265705840014rbowen possibles en utilisation normal, comme par exemple l'en-t�te
5effc8b39fae5cd169d17f342bfc265705840014rbowen <code>User-Agent</code>. En fonction de la popularit� du site web,
5effc8b39fae5cd169d17f342bfc265705840014rbowen des milliers ou m�me des millions d'entr�es de cache dupliqu�es
5effc8b39fae5cd169d17f342bfc265705840014rbowen peuvent �tre cr��es pour la m�me URL, submergeant les autres
5effc8b39fae5cd169d17f342bfc265705840014rbowen entr�es du cache.</p>
5effc8b39fae5cd169d17f342bfc265705840014rbowen
5effc8b39fae5cd169d17f342bfc265705840014rbowen <p>Dans d'autres cas, il peut �tre n�cessaire de modifier l'URL
5effc8b39fae5cd169d17f342bfc265705840014rbowen d'une ressource particuli�re � chaque requ�te, en g�n�ral en lui
5effc8b39fae5cd169d17f342bfc265705840014rbowen ajoutant une cha�ne "cachebuster". Si ce contenu est d�clar� comme
5effc8b39fae5cd169d17f342bfc265705840014rbowen pouvant �tre mis en cache par un serveur avec une dur�e de
5effc8b39fae5cd169d17f342bfc265705840014rbowen fra�cheur significative, ces entr�es peuvent submerger les entr�es
5effc8b39fae5cd169d17f342bfc265705840014rbowen l�gitimes du cache. Alors que <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> fournit
5effc8b39fae5cd169d17f342bfc265705840014rbowen une directive <code class="directive"><a href="/mod/mod_cache.html#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers</a></code>,
5effc8b39fae5cd169d17f342bfc265705840014rbowen cette derni�re doit �tre utilis�e avec prudence pour s'assurer que
5effc8b39fae5cd169d17f342bfc265705840014rbowen les caches du navigateur ou du mandataire le plus proche
5effc8b39fae5cd169d17f342bfc265705840014rbowen (downstream proxy) ne sont pas victimes du m�me probl�me de D�ni de
5effc8b39fae5cd169d17f342bfc265705840014rbowen service.</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi </div></div>
af84459fbf938e508fd10b01cb8d699c79083813takashi<div class="bottomlang">
af84459fbf938e508fd10b01cb8d699c79083813takashi<p><span>Langues Disponibles: </span><a href="/en/caching.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
af84459fbf938e508fd10b01cb8d699c79083813takashi<a href="/fr/caching.html" title="Fran�ais">&nbsp;fr&nbsp;</a> |
f086b4b402fa9a2fefc7dda85de2a3cc1cd0a654rjung<a href="/tr/caching.html" hreflang="tr" rel="alternate" title="T�rk�e">&nbsp;tr&nbsp;</a></p>
727872d18412fc021f03969b8641810d8896820bhumbedooh</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>
0d0ba3a410038e179b695446bb149cce6264e0abnd<script type="text/javascript"><!--//--><![CDATA[//><!--
727872d18412fc021f03969b8641810d8896820bhumbedoohvar comments_shortname = 'httpd';
cc7e1025de9ac63bd4db6fe7f71c158b2cf09fe4humbedoohvar comments_identifier = 'http://httpd.apache.org/docs/trunk/caching.html';
0d0ba3a410038e179b695446bb149cce6264e0abnd(function(w, d) {
cc7e1025de9ac63bd4db6fe7f71c158b2cf09fe4humbedooh if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
727872d18412fc021f03969b8641810d8896820bhumbedooh d.write('<div id="comments_thread"><\/div>');
0d0ba3a410038e179b695446bb149cce6264e0abnd var s = d.createElement('script');
0d0ba3a410038e179b695446bb149cce6264e0abnd s.type = 'text/javascript';
0d0ba3a410038e179b695446bb149cce6264e0abnd s.async = true;
ac082aefa89416cbdc9a1836eaf3bed9698201c8humbedooh s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
0d0ba3a410038e179b695446bb149cce6264e0abnd (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
0d0ba3a410038e179b695446bb149cce6264e0abnd }
0d0ba3a410038e179b695446bb149cce6264e0abnd else {
727872d18412fc021f03969b8641810d8896820bhumbedooh d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
0d0ba3a410038e179b695446bb149cce6264e0abnd }
0d0ba3a410038e179b695446bb149cce6264e0abnd})(window, document);
30471a4650391f57975f60bbb6e4a90be7b284bfhumbedooh//--><!]]></script></div><div id="footer">
205f749042ed530040a4f0080dbcb47ceae8a374rjung<p class="apache">Copyright 2015 The Apache Software Foundation.<br />Autoris� sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
af33a4994ae2ff15bc67d19ff1a7feb906745bf8rbowen<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="/glossary.html">Glossaire</a> | <a href="/sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
0d0ba3a410038e179b695446bb149cce6264e0abndif (typeof(prettyPrint) !== 'undefined') {
7fec19672a491661b2fe4b29f685bc7f4efa64d4nd prettyPrint();
7fec19672a491661b2fe4b29f685bc7f4efa64d4nd}
7fec19672a491661b2fe4b29f685bc7f4efa64d4nd//--><!]]></script>
af84459fbf938e508fd10b01cb8d699c79083813takashi</body></html>