1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
4 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5 This file is generated from xml source: DO NOT EDIT
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
8 <title>mod_file_cache - Serveur Apache HTTP</title>
9 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
12 <script src="../style/scripts/prettify.min.js" type="text/javascript">
15 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
17 <div id="page-header">
18 <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>
19 <p class="apache">Serveur Apache HTTP Version 2.5</p>
20 <img alt="" src="../images/feather.gif" /></div>
21 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
23 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div>
24 <div id="page-content">
25 <div id="preamble"><h1>Module Apache mod_file_cache</h1>
27 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_file_cache.html" hreflang="en" rel="alternate" title="English"> en </a> |
28 <a href="../fr/mod/mod_file_cache.html" title="Français"> fr </a> |
29 <a href="../ko/mod/mod_file_cache.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
31 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Mise en cache mémoire d'une liste statique de
33 <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
34 <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>file_cache_module</td></tr>
35 <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_file_cache.c</td></tr></table>
40 Ce module doit être utilisé avec précautions. Il est recommandé de
41 lire attentivement ce document, car une mauvaise utilisation de
42 <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> peut facilement conduire à la
43 création d'un site inopérant.
46 <p>La mise en cache de fichiers souvent demandés mais rarement
47 modifiés est une technique qui peut réduire la charge du
48 serveur. <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> met en oeuvre deux
49 techniques de mise en cache de fichiers <em>statiques</em>
50 fréquemment demandés. Des directives de configuration vous
51 permettent d'indiquer à <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> soit
52 d'ouvrir et de charger une image en mémoire d'un fichier avec
53 <code>mmap()</code>, soit de pré-ouvrir un fichier et de maintenir en
54 service le <em>gestionnaire</em> du fichier. Chacune de ces techniques
55 amène à réduire la charge du serveur lors du traitement des
56 requêtes concernant ces fichiers, en accomplissant une partie du
57 travail nécessaire à la mise à disposition de ces fichiers (en
58 particulier les opérations d'entrées/sorties sur les fichiers) au
59 démarrage du serveur, plutôt qu'au cours de chaque requête.</p>
61 <p>Note : ces techniques sont inutilisables pour accélérer des
62 programmes CGI ou d'autres fichiers servis par des gestionnaires de
63 contenu spéciaux. Elles ne peuvent être utilisées que pour des
64 fichiers standards en général servis par le gestionnaire de contenu
67 <p>Ce module est une extension et s'inspire fortement du module
68 d'Apache 1.3 <code>mod_mmap_static</code>.</p>
70 <div id="quickview"><h3 class="directives">Directives</h3>
72 <li><img alt="" src="../images/down.gif" /> <a href="#cachefile">CacheFile</a></li>
73 <li><img alt="" src="../images/down.gif" /> <a href="#mmapfile">MMapFile</a></li>
77 <li><img alt="" src="../images/down.gif" /> <a href="#using">Utilisation de mod_file_cache</a></li>
78 </ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
79 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
81 <h2><a name="using" id="using">Utilisation de mod_file_cache</a></h2>
83 <p><code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> gère la mise en cache d'une liste
84 de fichiers définie de manière statique via une des directives
85 <code class="directive"><a href="#mmapfile">MMapFile</a></code> ou
86 <code class="directive"><a href="#cachefile">CacheFile</a></code> au niveau
87 de la configuration du serveur principal.</p>
89 <p>Les deux directives ne sont pas supportées par toutes les
90 plates-formes. Par exemple, Apache pour Windows ne supporte pas
91 actuellement la directive <code class="directive"><a href="#mmapfile">MMapFile</a></code>, alors que d'autres
92 plates-formes, comme AIX, supportent les deux. Vous recevrez un
93 message d'erreur dans le journal des erreurs du serveur si vous
94 essayez d'utiliser une directive non supportée. Si vous utilisez une
95 directive non supportée, le serveur démarrera, mais les fichiers ne
96 seront pas mis en cache. Sur les plates-formes qui supportent les
97 deux directives, vous devez faire des essais afin de déterminer
98 quelle directive vous convient le mieux.</p>
100 <h3>Directive MMapFile</h3>
102 <p>La directive <code class="directive"><a href="#mmapfile">MMapFile</a></code> du module
103 <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> permet de transférer en mémoire
104 une liste statique de fichiers à l'aide de l'appel système
105 <code>mmap()</code>. Cet appel système est disponible sur la
106 plupart des plates-formes de style Unix, mais pas sur toutes. Il
107 existe parfois des limites spécifiques au système quant à la
108 taille et au nombre de fichiers qui peuvent être
109 <code>mmap()</code>és, et l'expérimentation est probablement la
110 méthode la plus simple pour déterminer ces limites.</p>
112 <p>Ce <code>mmap()</code>age n'est effectué qu'une seul fois au
113 démarrage ou redémarrage du serveur. Ainsi, chaque fois qu'un des
114 fichiers chargés en mémoire est modifié au niveau du système de
115 fichiers, vous <em>devez</em> redémarrer le serveur (voir la
116 documentation sur l'<a href="../stopping.html">Arrêt et redémarrage</a>). Pour bien
117 insister sur ce point, si des fichiers sont modifiés <em>sur
118 disque</em>, et si vous ne redémarrez pas le serveur, vous allez
119 finir par servir des contenus complètement obsolètes. Vous devez
120 mettre à jour les fichiers en renommant l'ancienne version et en
121 enregistrant la nouvelle sur disque. Pour y parvenir, on peut
122 utiliser des outils comme <code>rdist</code> et <code>mv</code>.
123 La raison pour laquelle ce module ne prend pas en compte les
124 modifications de fichiers réside dans le fait que cette
125 vérification nécessiterait un appel à <code>stat()</code> à chaque
126 accès, et en fin de compte, l'augmentation de la consommation de
127 ressources finirait par aller contre le but initial de
128 réduire les entrées/sorties.</p>
131 <h3>Directive CacheFile</h3>
133 <p>La directive <code class="directive"><a href="#cachefile">CacheFile</a></code> du module
134 <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> permet d'associer un
135 <em>gestionnaire</em> ou <em>descripteur de fichier</em> à chaque
136 fichier énuméré dans la directive de configuration et place ces
137 gestionnaires de fichiers ouverts dans le cache. Lorsqu'un des
138 fichier est demandé, le serveur sélectionne son gestionnaire dans
139 le cache et le transmet à l'API <code>sendfile()</code> (ou
140 <code>TransmitFile()</code> sous Windows).</p>
144 <p>Cette mise en cache des gestionnaire n'est effectuée qu'une
145 seule fois au démarrage ou redémarrage du système. Ainsi, chaque
146 fois qu'un des fichiers chargés en mémoire est modifié au niveau
147 du système de fichiers, vous <em>devez</em> redémarrer le serveur
148 (voir la documentation sur l'<a href="../stopping.html">Arrêt et redémarrage</a>).
150 insister sur ce point, si des fichiers sont modifiés <em>sur
151 disque</em>, et si vous ne redémarrez pas le serveur, vous allez
152 finir par servir des contenus complètement obsolètes. Vous devez
153 mettre à jour les fichiers en renommant l'ancienne version et en
154 enregistrant la nouvelle sur disque. Pour y parvenir, on peut
155 utiliser des outils comme <code>rdist</code> et
159 <div class="note"><h3>Note</h3>
160 <p>Ne cherchez pas de directive qui met tous les
161 fichiers d'un répertoire en cache, de manière récursive. Pour y
162 parvenir, vous pouvez vous reporter à la directive <code class="directive"><a href="../mod/core.html#include">Include</a></code>, et considérer cette
165 <div class="example"><p><code>
166 find /www/htdocs -type f -print \<br />
167 | sed -e 's/.*/mmapfile &/' > /www/conf/mmap.conf
171 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
172 <div class="directive-section"><h2><a name="CacheFile" id="CacheFile">CacheFile</a> <a name="cachefile" id="cachefile">Directive</a></h2>
173 <table class="directive">
174 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Met en cache une liste de gestionnaires de fichiers au
176 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheFile <var>chemin_fichier</var> [<var>chemin fichier</var>] ...</code></td></tr>
177 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
178 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
179 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_file_cache</td></tr>
181 <p>La directive <code class="directive">CacheFile</code> associe
182 des gestionnaires à un ou plusieurs fichiers (séparés par des
183 espaces), et place ceux-ci dans le cache au démarrage du
184 serveur. Les gestionnaires des fichiers mis en cache sont
185 automatiquement fermés à l'arrêt du serveur. Lorsqu'un ou plusieurs
186 fichiers ont été modifiés sur disque, le serveur doit être redémarré
187 afin que les modifications soient prises en compte par le cache.</p>
189 <p>Soyez prudent avec les arguments <var>chemin_fichier</var> : ils
190 doivent correspondre exactement au chemin du système de fichier que
191 créent les gestionnaires de traduction URL-vers-nom-fichier
192 d'Apache. On ne peut pas comparer des inodes ou autres identifiants
193 pour mettre en correspondance des chemins à l'aide de liens
194 symboliques <em>(etc...)</em>, car là encore, ceci nécessiterait un
195 appel à <code>stat()</code> supplémentaire, ce qui est inacceptable.
196 Il n'est pas garanti que ce module fonctionne avec des noms de
197 fichiers réécrits par <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> ou
198 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
200 <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">
201 CacheFile /usr/local/apache/htdocs/index.html
206 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
207 <div class="directive-section"><h2><a name="MMapFile" id="MMapFile">MMapFile</a> <a name="mmapfile" id="mmapfile">Directive</a></h2>
208 <table class="directive">
209 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Charge au démarrage une liste de fichiers en
211 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MMapFile <var>chemin fichier</var> [<var>chemin_fichier</var>] ...</code></td></tr>
212 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
213 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
214 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_file_cache</td></tr>
216 <p>La directive <code class="directive">MMapFile</code> provoque le chargement d'un
217 ou plusieurs fichiers (séparés par des espaces) en mémoire au
218 démarrage du serveur. Ceux-ci sont automatiquement déchargés de la
219 mémoire à l'arrêt du serveur. Lorsqu'un ou plusieurs fichiers ont
220 été modifiés sur disque, on doit au minimum envoyer un signal
221 <code>HUP</code> ou <code>USR1</code> au serveur afin de les
222 re<code>mmap()</code>er.</p>
224 <p>Soyez prudent avec les arguments <var>chemin_fichier</var> : ils
225 doivent correspondre exactement au chemin du système de fichier que
226 créent les gestionnaires de traduction URL-vers-nom-fichier
227 d'Apache. On ne peut pas comparer des inodes ou autres identifiants
228 pour mettre en correspondance des chemins à l'aide de liens
229 symboliques <em>(etc...)</em>, car là encore, ceci nécessiterait un
230 appel à <code>stat()</code> supplémentaire, ce qui est inacceptable.
231 Il n'est pas garanti que ce module fonctionne avec des noms de
232 fichiers réécrits par <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> ou
233 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
235 <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">
236 MMapFile /usr/local/apache/htdocs/index.html
242 <div class="bottomlang">
243 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_file_cache.html" hreflang="en" rel="alternate" title="English"> en </a> |
244 <a href="../fr/mod/mod_file_cache.html" title="Français"> fr </a> |
245 <a href="../ko/mod/mod_file_cache.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
246 </div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
247 <script type="text/javascript"><!--//--><![CDATA[//><!--
248 var comments_shortname = 'httpd';
249 var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_file_cache.html';
251 if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
252 d.write('<div id="comments_thread"><\/div>');
253 var s = d.createElement('script');
254 s.type = 'text/javascript';
256 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
257 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
260 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
262 })(window, document);
263 //--><!]]></script></div><div id="footer">
264 <p class="apache">Copyright 2014 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
265 <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[//><!--
266 if (typeof(prettyPrint) !== 'undefined') {