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 <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7 This file is generated from xml source: DO NOT EDIT
8 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
10 <title>mod_expires - Serveur Apache HTTP Version 2.5</title>
11 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
12 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
13 <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" />
14 <script src="../style/scripts/prettify.min.js" type="text/javascript">
17 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
19 <div id="page-header">
20 <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>
21 <p class="apache">Serveur Apache HTTP Version 2.5</p>
22 <img alt="" src="../images/feather.png" /></div>
23 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
25 <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>
26 <div id="page-content">
27 <div id="preamble"><h1>Module Apache mod_expires</h1>
29 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_expires.html" hreflang="en" rel="alternate" title="English"> en </a> |
30 <a href="../fr/mod/mod_expires.html" title="Français"> fr </a> |
31 <a href="../ja/mod/mod_expires.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
32 <a href="../ko/mod/mod_expires.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
34 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Génération des en-têtes HTTP <code>Expires</code> et
35 <code>Cache-Control</code> en fonction de critères spécifiés par
36 l'utilisateur</td></tr>
37 <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
38 <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>expires_module</td></tr>
39 <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_expires.c</td></tr></table>
42 <p>Ce module permet de contrôler la définition de l'en-tête HTTP
43 <code>Expires</code> et la directive <code>max-age</code> de
44 l'en-tête HTTP <code>Cache-Control</code> dans les réponses du
45 serveur. La date d'expiration peut être définie soit par rapport à
46 la date de dernière modification du fichier source, soit
47 par rapport à l'heure d'accès du client.</p>
49 <p>Ces en-têtes HTTP permettent d'informer le client quant à la
50 validité et à la persistence du document. S'il est présent dans le
51 cache, et tant qu'il n'est pas arrivé à expiration, le document sera
52 servi à partir de ce dernier, plutôt qu'à partir du document source.
53 Après expiration, la copie du document dans le cache sera considérée
54 comme "expirée" et donc invalide, et une nouvelle copie devra être
55 obtenue à partir du document source.</p>
57 <p>Pour modifier les directives de contrôle du cache autres
58 que <code>max-age</code> (voir la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9">RFC
59 2616 section 14.9</a>), vous pouvez utiliser la directive <code class="directive"><a href="../mod/mod_headers.html#header">Header</a></code>.</p>
61 <p>Lorsque l'en-tête <code>Expires</code> est déjà présent dans la
62 réponse générée par le serveur, par exemple s'il a été créé par un
63 script CGI ou un serveur original via un serveur mandataire, ce
64 module n'ajoute aucun en-tête <code>Expires</code> ou
65 <code>Cache-Control</code>.</p>
67 <div id="quickview"><h3>Sujets</h3>
69 <li><img alt="" src="../images/down.gif" /> <a href="#AltSyn">Autre syntaxe de définition de
71 </ul><h3 class="directives">Directives</h3>
73 <li><img alt="" src="../images/down.gif" /> <a href="#expiresactive">ExpiresActive</a></li>
74 <li><img alt="" src="../images/down.gif" /> <a href="#expiresbytype">ExpiresByType</a></li>
75 <li><img alt="" src="../images/down.gif" /> <a href="#expiresdefault">ExpiresDefault</a></li>
77 <h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_expires">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_expires">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
79 <li><a href="#comments_section">Commentaires</a></li></ul></div>
80 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
82 <h2><a name="AltSyn" id="AltSyn">Autre syntaxe de définition de
84 <p>Pour une syntaxe plus lisible, on peut aussi utiliser les
85 directives <code class="directive"><a href="#expiresdefault">ExpiresDefault</a></code> et <code class="directive"><a href="#expiresbytype">ExpiresByType</a></code> comme suit :</p>
87 <pre class="prettyprint lang-config">ExpiresDefault "<var>base</var> [plus <var>num</var> <var>type</var>] [<var>num</var> <var>type</var>] ..."
88 ExpiresByType type/encoding "<var>base</var> [plus <var>num</var> <var>type</var>] [<var>num</var> <var>type</var>] ..."</pre>
91 <p>où <var>base</var> peut être :</p>
94 <li><code>access</code></li>
96 <li><code>now</code> (équivalent à
97 '<code>access</code>')</li>
99 <li><code>modification</code></li>
102 <p>Le mot-clé <code>plus</code> est optionnel. <var>num</var> doit
103 correspondre à une valeur entière [compatible avec
104 <code>atoi()</code>], et <var>type</var> peut être choisi parmi :</p>
107 <li><code>years</code></li>
108 <li><code>months</code></li>
109 <li><code>weeks</code></li>
110 <li><code>days</code></li>
111 <li><code>hours</code></li>
112 <li><code>minutes</code></li>
113 <li><code>seconds</code></li>
116 <p>Par exemple, pour faire expirer par défaut les documents 1 mois
117 après leur accès, on peut utiliser une des directives suivantes :</p>
118 <pre class="prettyprint lang-config">ExpiresDefault "access plus 1 month"
119 ExpiresDefault "access plus 4 weeks"
120 ExpiresDefault "access plus 30 days"</pre>
124 <p>La date d'expiration peut être définie plus précisément en
125 ajoutant plusieurs clauses '<var>num</var> <var>type</var>' :</p>
127 <pre class="prettyprint lang-config">ExpiresByType text/html "access plus 1 month 15 days 2 hours"
128 ExpiresByType image/gif "modification plus 5 hours 3 minutes"</pre>
131 <p>Notez que si vous utilisez une configuration basée sur la date de
132 modification, l'en-tête Expires ne sera pas ajouté à un contenu qui
133 ne provient pas directement d'un fichier sur disque ; et ceci tout
134 simplement parce que ce type de contenu ne possède pas de date de
137 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
138 <div class="directive-section"><h2><a name="expiresactive" id="expiresactive">Directive</a> <a name="ExpiresActive" id="ExpiresActive">ExpiresActive</a></h2>
139 <table class="directive">
140 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la génération d'en-têtes
141 <code>Expires</code></td></tr>
142 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ExpiresActive On|Off</code></td></tr>
143 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ExpiresActive Off</code></td></tr>
144 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
145 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</td></tr>
146 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
147 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_expires</td></tr>
149 <p>Cette directive permet d'activer ou de désactiver la génération
150 des en-têtes <code>Expires</code> et <code>Cache-Control</code> pour
151 les documents concernés ; en d'autres termes, si cette directive se
152 trouve dans un fichier <code>.htaccess</code>, par exemple, elle ne
153 s'applique qu'aux documents générés à partir du répertoire
154 considéré. Si elle est définie à <code>Off</code>, les en-têtes ne
155 seront générés pour aucun document du domaine considéré (sauf
156 surcharge de la configuration à un niveau inférieur, comme un
157 fichier <code>.htaccess</code> qui l'emporterait sur le fichier de
158 configuration du serveur). Si elle est définie à <code>On</code>,
159 les en-têtes seront ajoutés aux documents servis en fonction des
160 critères définis par les directives <code class="directive"><a href="#expiresbytype">ExpiresByType</a></code> et <code class="directive"><a href="#expiresdefault">ExpiresDefault</a></code> (<em>voir plus
163 <p>Notez que cette directive ne permet pas de garantir qu'un en-tête
164 <code>Expires</code> ou <code>Cache-Control</code> sera généré. Si
165 les critères ne sont pas respectés, aucun en-tête ne sera généré, et
166 la directive produira le même effet que si elle n'avait pas été
170 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
171 <div class="directive-section"><h2><a name="expiresbytype" id="expiresbytype">Directive</a> <a name="ExpiresByType" id="ExpiresByType">ExpiresByType</a></h2>
172 <table class="directive">
173 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définition de la valeur de l'en-tête <code>Expires</code>
174 en fonction du type MIME</td></tr>
175 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ExpiresByType <var>type MIME</var>
176 <var><code>secondes</var></code></td></tr>
177 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
178 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</td></tr>
179 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
180 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_expires</td></tr>
182 <p>Cette directive permet de définir la valeur de l'en-tête
183 <code>Expires</code> et de la directive <code>max-age</code> de
184 l'en-tête <code>Cache-Control</code> générés pour les documents du
185 type MIME spécifié (par exemple, <code>text/html</code>). Le second
186 argument définit le nombre de secondes qui seront ajoutées à un
187 temps de base pour calculer la date d'expiration.
188 <code>Cache-Control: max-age</code> se calcule en soustrayant la
189 date de la requête de la date d'expiration et s'exprime en
192 <p>Le champ <code><var><code></var></code> permet de spécifier
193 quel temps doit être utilisé comme temps de base; <code>M</code>
194 signifie que c'est la date
195 de dernière modification du fichier qui doit être utilisée comme
196 temps de base, alors que <code>A</code> signifie que c'est le moment
197 où le client a accédé au document qui doit être utilisé comme temps
200 <p>La différence d'effet est subtile. Si on utilise <code>M</code>,
201 toutes les copies existantes du document dans tous les caches
202 expireront au même moment, ce qui peut convenir par exemple pour une
203 notice hebdomadaire qui correspond toujours à la même URL. Si on
204 utilise <code>A</code>, la date d'expiration sera différente pour
205 chaque client, ce qui peut convenir pour des fichiers d'images qui
206 ne changent pas très souvent, et en particulier pour un ensemble de
207 documents en relation qui se réfèrent tous aux mêmes images (ces
208 images sont alors accédées de manière répétitive dans un intervalle
209 de temps assez court).</p>
211 <div class="example"><h3>Exemple :</h3><pre class="prettyprint lang-config"># active la génération des en-têtes Expires
213 # les images GIF expirent au bout d'un mois dans le cache du
215 ExpiresByType image/gif A2592000
216 # les documents HTML restent valables une semaine après leur date
217 # de dernière modification
218 ExpiresByType text/html M604800</pre>
221 <p>Notez que cette directive ne produit d'effet que si
222 <code>ExpiresActive On</code> a été spécifié. Elle l'emporte, mais
223 <em>seulement</em> pour le type MIME spécifié, sur toute date
224 d'expiration définie par la directive <code class="directive"><a href="#expiresdefault">ExpiresDefault</a></code>.</p>
226 <p>Vous pouvez aussi définir le mode de calcul de la date
227 d'expiration en utilisant une <a href="#AltSyn">syntaxe
228 alternative</a>, comme décrit plus haut dans ce document.</p>
231 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
232 <div class="directive-section"><h2><a name="expiresdefault" id="expiresdefault">Directive</a> <a name="ExpiresDefault" id="ExpiresDefault">ExpiresDefault</a></h2>
233 <table class="directive">
234 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Mode de calcul par défaut de la date
235 d'expiration</td></tr>
236 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ExpiresDefault <var><code>secondes</var></code></td></tr>
237 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
238 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</td></tr>
239 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
240 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_expires</td></tr>
242 <p>Cette directive permet de définir le mode de calcul par défaut de
243 la date d'expiration pour tous les documents du domaine considéré.
244 Elle peut être annulée pour certains types de documents par la
245 directive <code class="directive"><a href="#expiresbytype">ExpiresByType</a></code>. Voir la description
246 de cette dernière directive pour plus de détails à propos de la
247 syntaxe de l'argument, ainsi que la description de la <a href="#AltSyn">syntaxe alternative</a>.</p>
251 <div class="bottomlang">
252 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_expires.html" hreflang="en" rel="alternate" title="English"> en </a> |
253 <a href="../fr/mod/mod_expires.html" title="Français"> fr </a> |
254 <a href="../ja/mod/mod_expires.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
255 <a href="../ko/mod/mod_expires.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
256 </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>
257 <script type="text/javascript"><!--//--><![CDATA[//><!--
258 var comments_shortname = 'httpd';
259 var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_expires.html';
261 if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
262 d.write('<div id="comments_thread"><\/div>');
263 var s = d.createElement('script');
264 s.type = 'text/javascript';
266 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
267 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
270 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
272 })(window, document);
273 //--><!]]></script></div><div id="footer">
274 <p class="apache">Copyright 2016 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
275 <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[//><!--
276 if (typeof(prettyPrint) !== 'undefined') {