~ubuntu-branches/ubuntu/feisty/apache2/feisty

« back to all changes in this revision

Viewing changes to docs/manual/mod/mod_cache.html.en

  • Committer: Bazaar Package Importer
  • Author(s): Andreas Barth
  • Date: 2006-12-09 21:05:45 UTC
  • mfrom: (0.6.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20061209210545-h70s0xaqc2v8vqr2
Tags: 2.2.3-3.2
* Non-maintainer upload.
* 043_ajp_connection_reuse: Patch from upstream Bugzilla, fixing a critical
  issue with regard to connection reuse in mod_proxy_ajp.
  Closes: #396265

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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="en" xml:lang="en"><head><!--
 
4
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
5
              This file is generated from xml source: DO NOT EDIT
 
6
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
7
      -->
 
8
<title>mod_cache - Apache HTTP Server</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" />
 
12
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
 
13
<body>
 
14
<div id="page-header">
 
15
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
 
16
<p class="apache">Apache HTTP Server Version 2.2</p>
 
17
<img alt="" src="../images/feather.gif" /></div>
 
18
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
 
19
<div id="path">
 
20
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Modules</a></div>
 
21
<div id="page-content">
 
22
<div id="preamble"><h1>Apache Module mod_cache</h1>
 
23
<div class="toplang">
 
24
<p><span>Available Languages: </span><a href="../en/mod/mod_cache.html" title="English">&nbsp;en&nbsp;</a> |
 
25
<a href="../ja/mod/mod_cache.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
 
26
<a href="../ko/mod/mod_cache.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
 
27
</div>
 
28
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Content cache keyed to URIs.</td></tr>
 
29
<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr>
 
30
<tr><th><a href="module-dict.html#ModuleIdentifier">Module�Identifier:</a></th><td>cache_module</td></tr>
 
31
<tr><th><a href="module-dict.html#SourceFile">Source�File:</a></th><td>mod_cache.c</td></tr></table>
 
32
<h3>Summary</h3>
 
33
 
 
34
    <div class="warning">This module should be used with care and
 
35
    can be used to circumvent <code class="directive"><a href="../mod/mod_authz_host.html#allow">Allow</a></code> and <code class="directive"><a href="../mod/mod_authz_host.html#deny">Deny</a></code> directives. You 
 
36
    should not enable caching for any content to which you wish
 
37
    to limit access by client host name, address or environment
 
38
    variable.</div>  
 
39
 
 
40
    <p><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> implements an <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</a> compliant HTTP
 
41
    content cache that can be used to cache either local or proxied content.
 
42
    <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> requires the services of one or more storage
 
43
    management modules. Two storage management modules are included in
 
44
    the base Apache distribution:</p>
 
45
    <dl>
 
46
    <dt><code class="module"><a href="../mod/mod_disk_cache.html">mod_disk_cache</a></code></dt>
 
47
    <dd>implements a disk based storage manager.</dd>
 
48
 
 
49
    <dt><code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code></dt>
 
50
    <dd>implements a memory based storage manager. 
 
51
    <code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code> can be configured to operate in two
 
52
    modes: caching open file descriptors or caching objects in heap storage.
 
53
    <code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code> can be used to cache locally generated content
 
54
    or to cache backend server content for <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> when
 
55
    configured using <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code>
 
56
    (aka <dfn>reverse proxy</dfn>)</dd>
 
57
    </dl>
 
58
 
 
59
    <p>Content is stored in and retrieved from the cache using URI based keys. Content with
 
60
    access protection is not cached.</p>
 
61
    <p>Further details, discussion, and examples, are provided in the
 
62
    <a href="../caching.html">Caching Guide</a>.</p>
 
63
</div>
 
64
<div id="quickview"><h3 class="directives">Directives</h3>
 
65
<ul id="toc">
 
66
<li><img alt="" src="../images/down.gif" /> <a href="#cachedefaultexpire">CacheDefaultExpire</a></li>
 
67
<li><img alt="" src="../images/down.gif" /> <a href="#cachedisable">CacheDisable</a></li>
 
68
<li><img alt="" src="../images/down.gif" /> <a href="#cacheenable">CacheEnable</a></li>
 
69
<li><img alt="" src="../images/down.gif" /> <a href="#cacheignorecachecontrol">CacheIgnoreCacheControl</a></li>
 
70
<li><img alt="" src="../images/down.gif" /> <a href="#cacheignoreheaders">CacheIgnoreHeaders</a></li>
 
71
<li><img alt="" src="../images/down.gif" /> <a href="#cacheignorenolastmod">CacheIgnoreNoLastMod</a></li>
 
72
<li><img alt="" src="../images/down.gif" /> <a href="#cachelastmodifiedfactor">CacheLastModifiedFactor</a></li>
 
73
<li><img alt="" src="../images/down.gif" /> <a href="#cachemaxexpire">CacheMaxExpire</a></li>
 
74
<li><img alt="" src="../images/down.gif" /> <a href="#cachestorenostore">CacheStoreNoStore</a></li>
 
75
<li><img alt="" src="../images/down.gif" /> <a href="#cachestoreprivate">CacheStorePrivate</a></li>
 
76
</ul>
 
77
<h3>Topics</h3>
 
78
<ul id="topics">
 
79
<li><img alt="" src="../images/down.gif" /> <a href="#related">Related Modules and Directives</a></li>
 
80
<li><img alt="" src="../images/down.gif" /> <a href="#sampleconf">Sample Configuration</a></li>
 
81
</ul><h3>See also</h3>
 
82
<ul class="seealso">
 
83
<li><a href="../caching.html">Caching Guide</a></li>
 
84
</ul></div>
 
85
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 
86
<div class="section">
 
87
<h2><a name="related" id="related">Related Modules and Directives</a></h2>
 
88
    <table class="related"><tr><th>Related Modules</th><th>Related Directives</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_disk_cache.html">mod_disk_cache</a></code></li><li><code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/mod_disk_cache.html#cacheroot">CacheRoot</a></code></li><li><code class="directive"><a href="../mod/mod_disk_cache.html#cachedirlevels">CacheDirLevels</a></code></li><li><code class="directive"><a href="../mod/mod_disk_cache.html#cachedirlength">CacheDirLength</a></code></li><li><code class="directive"><a href="../mod/mod_disk_cache.html#cacheminfilesize">CacheMinFileSize</a></code></li><li><code class="directive"><a href="../mod/mod_disk_cache.html#cachemaxfilesize">CacheMaxFileSize</a></code></li><li><code class="directive"><a href="../mod/mod_mem_cache.html#mcachesize">MCacheSize</a></code></li><li><code class="directive"><a href="../mod/mod_mem_cache.html#mcachemaxobjectcount">MCacheMaxObjectCount</a></code></li><li><code class="directive"><a href="../mod/mod_mem_cache.html#mcacheminobjectsize">MCacheMinObjectSize</a></code></li><li><code class="directive"><a href="../mod/mod_mem_cache.html#mcachemaxobjectsize">MCacheMaxObjectSize</a></code></li><li><code class="directive"><a href="../mod/mod_mem_cache.html#mcacheremovalalgorithm">MCacheRemovalAlgorithm</a></code></li><li><code class="directive"><a href="../mod/mod_mem_cache.html#mcachemaxstreamingbuffer">MCacheMaxStreamingBuffer</a></code></li></ul></td></tr></table>
 
89
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 
90
<div class="section">
 
91
<h2><a name="sampleconf" id="sampleconf">Sample Configuration</a></h2>
 
92
    <div class="example"><h3>Sample httpd.conf</h3><p><code>
 
93
      #<br />
 
94
      # Sample Cache Configuration<br />
 
95
      #<br />
 
96
      LoadModule cache_module modules/mod_cache.so<br />
 
97
      <br />
 
98
      &lt;IfModule mod_cache.c&gt;<br />
 
99
      <span class="indent">
 
100
        #LoadModule disk_cache_module modules/mod_disk_cache.so<br />
 
101
        # If you want to use mod_disk_cache instead of mod_mem_cache,<br />
 
102
        # uncomment the line above and comment out the LoadModule line below.<br />
 
103
        &lt;IfModule mod_disk_cache.c&gt;<br />
 
104
        <span class="indent">
 
105
          CacheRoot c:/cacheroot<br />
 
106
          CacheEnable disk  /<br />
 
107
          CacheDirLevels 5<br />
 
108
          CacheDirLength 3<br />
 
109
        </span>
 
110
        &lt;/IfModule&gt; <br />
 
111
        <br />
 
112
        LoadModule mem_cache_module modules/mod_mem_cache.so<br />
 
113
        &lt;IfModule mod_mem_cache.c&gt;<br />
 
114
        <span class="indent">
 
115
          CacheEnable mem  /<br />
 
116
          MCacheSize 4096<br />
 
117
          MCacheMaxObjectCount 100<br />
 
118
          MCacheMinObjectSize 1<br />
 
119
          MCacheMaxObjectSize 2048<br />
 
120
        </span>
 
121
        &lt;/IfModule&gt;<br />
 
122
        <br />
 
123
        # When acting as a proxy, don't cache the list of security updates<br />
 
124
        CacheDisable http://security.update.server/update-list/<br />
 
125
      </span>
 
126
      &lt;/IfModule&gt;
 
127
    </code></p></div>
 
128
</div>
 
129
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 
130
<div class="directive-section"><h2><a name="CacheDefaultExpire" id="CacheDefaultExpire">CacheDefaultExpire</a> <a name="cachedefaultexpire" id="cachedefaultexpire">Directive</a></h2>
 
131
<table class="directive">
 
132
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The default duration to cache a document when no expiry date is specified.</td></tr>
 
133
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheDefaultExpire <var>seconds</var></code></td></tr>
 
134
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheDefaultExpire 3600 (one hour)</code></td></tr>
 
135
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
 
136
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
 
137
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
 
138
</table>
 
139
    <p>The <code class="directive">CacheDefaultExpire</code> directive specifies a default time,
 
140
    in seconds, to cache a document if neither an expiry date nor last-modified date are provided
 
141
    with the document. The value specified with the <code class="directive">CacheMaxExpire</code>
 
142
    directive does <em>not</em> override this setting.</p>
 
143
 
 
144
    <div class="example"><p><code>
 
145
      CacheDefaultExpire 86400
 
146
    </code></p></div>
 
147
 
 
148
</div>
 
149
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 
150
<div class="directive-section"><h2><a name="CacheDisable" id="CacheDisable">CacheDisable</a> <a name="cachedisable" id="cachedisable">Directive</a></h2>
 
151
<table class="directive">
 
152
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Disable caching of specified URLs</td></tr>
 
153
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheDisable <var> url-string</var></code></td></tr>
 
154
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
 
155
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
 
156
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
 
157
</table>
 
158
    <p>The <code class="directive">CacheDisable</code> directive instructs
 
159
    <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> to <em>not</em> cache urls at or below
 
160
    <var>url-string</var>.</p>
 
161
 
 
162
    <div class="example"><h3>Example</h3><p><code>
 
163
      CacheDisable /local_files
 
164
    </code></p></div>
 
165
 
 
166
</div>
 
167
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 
168
<div class="directive-section"><h2><a name="CacheEnable" id="CacheEnable">CacheEnable</a> <a name="cacheenable" id="cacheenable">Directive</a></h2>
 
169
<table class="directive">
 
170
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enable caching of specified URLs using a specified storage
 
171
manager</td></tr>
 
172
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheEnable <var>cache_type</var> <var>url-string</var></code></td></tr>
 
173
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
 
174
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
 
175
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
 
176
</table>
 
177
    <p>The <code class="directive">CacheEnable</code> directive instructs
 
178
    <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> to cache urls at or below
 
179
    <var>url-string</var>. The cache storage manager is specified with the
 
180
    <var>cache_type</var> argument. <var>cache_type</var> <code> mem</code>
 
181
    instructs <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> to use the memory based storage
 
182
    manager implemented by <code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code>. 
 
183
    <var>cache_type</var> <code>disk</code> instructs
 
184
    <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> to use the disk based storage manager
 
185
    implemented by <code class="module"><a href="../mod/mod_disk_cache.html">mod_disk_cache</a></code>.
 
186
    <var>cache_type</var> <code>fd</code> instructs
 
187
    <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> to use the file descriptor cache implemented
 
188
    by <code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code>.</p>
 
189
    <p>In the event that the URL space overlaps between different
 
190
    <code class="directive">CacheEnable</code> directives (as in the example below),
 
191
    each possible storage manager will be run until the first one that
 
192
    actually processes the request. The order in which the storage managers are
 
193
    run is determined by the order of the <code class="directive">CacheEnable</code>
 
194
    directives in the configuration file.</p>
 
195
 
 
196
    <div class="example"><p><code>
 
197
      CacheEnable  mem   /manual<br />
 
198
      CacheEnable  fd    /images<br />
 
199
      CacheEnable  disk  /<br />
 
200
    </code></p></div>
 
201
 
 
202
    <p>When acting as a forward proxy server, <var>url-string</var> can
 
203
    also be used to specify remote sites and proxy protocols which 
 
204
    caching should be enabled for.</p>
 
205
 
 
206
    <div class="example"><p><code>
 
207
      # Cache proxied url's<br />
 
208
      CacheEnable  disk  /<br /><br />
 
209
      # Cache FTP-proxied url's<br />
 
210
      CacheEnable  disk  ftp://<br /><br />
 
211
      # Cache content from www.apache.org<br />
 
212
      CacheEnable  disk  http://www.apache.org/<br />
 
213
    </code></p></div>
 
214
 
 
215
 
 
216
</div>
 
217
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 
218
<div class="directive-section"><h2><a name="CacheIgnoreCacheControl" id="CacheIgnoreCacheControl">CacheIgnoreCacheControl</a> <a name="cacheignorecachecontrol" id="cacheignorecachecontrol">Directive</a></h2>
 
219
<table class="directive">
 
220
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ignore request to not serve cached content to client</td></tr>
 
221
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheIgnoreCacheControl On|Off</code></td></tr>
 
222
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheIgnoreCacheControl Off</code></td></tr>
 
223
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
 
224
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
 
225
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
 
226
</table>
 
227
    <p>Ordinarily, requests containing a Cache-Control: no-cache or
 
228
    Pragma: no-cache header value will not be served from the cache.  The
 
229
    <code class="directive">CacheIgnoreCacheControl</code> directive allows this
 
230
    behavior to be overridden.  <code class="directive">CacheIgnoreCacheControl</code>
 
231
    On tells the server to attempt to serve the resource from the cache even
 
232
    if the request contains no-cache header values.  Resources requiring
 
233
    authorization will <em>never</em> be cached.</p>
 
234
 
 
235
    <div class="example"><p><code>
 
236
      CacheIgnoreCacheControl On
 
237
    </code></p></div>
 
238
 
 
239
    <div class="warning"><h3>Warning:</h3>
 
240
       This directive will allow serving from the cache even if the client has
 
241
       requested that the document not be served from the cache.  This might
 
242
       result in stale content being served.
 
243
    </div>
 
244
 
 
245
<h3>See also</h3>
 
246
<ul>
 
247
<li><code class="directive"><a href="#cachestoreprivate">CacheStorePrivate</a></code></li>
 
248
<li><code class="directive"><a href="#cachestorenostore">CacheStoreNoStore</a></code></li>
 
249
</ul>
 
250
</div>
 
251
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 
252
<div class="directive-section"><h2><a name="CacheIgnoreHeaders" id="CacheIgnoreHeaders">CacheIgnoreHeaders</a> <a name="cacheignoreheaders" id="cacheignoreheaders">Directive</a></h2>
 
253
<table class="directive">
 
254
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Do not store the given HTTP header(s) in the cache.
 
255
</td></tr>
 
256
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheIgnoreHeaders <var>header-string</var> [<var>header-string</var>] ...</code></td></tr>
 
257
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheIgnoreHeaders None</code></td></tr>
 
258
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
 
259
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
 
260
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
 
261
</table>
 
262
    <p>According to RFC 2616, hop-by-hop HTTP headers are not stored in
 
263
    the cache.  The following HTTP headers are hop-by-hop headers and thus
 
264
    do not get stored in the cache in <em>any</em> case regardless of the
 
265
    setting of <code class="directive">CacheIgnoreHeaders</code>:</p>
 
266
 
 
267
    <ul>
 
268
      <li><code>Connection</code></li>
 
269
      <li><code>Keep-Alive</code></li>
 
270
      <li><code>Proxy-Authenticate</code></li>
 
271
      <li><code>Proxy-Authorization</code></li>
 
272
      <li><code>TE</code></li>
 
273
      <li><code>Trailers</code></li>
 
274
      <li><code>Transfer-Encoding</code></li>
 
275
      <li><code>Upgrade</code></li>
 
276
    </ul>
 
277
 
 
278
    <p><code class="directive">CacheIgnoreHeaders</code> specifies additional HTTP
 
279
    headers that should not to be stored in the cache.  For example, it makes
 
280
    sense in some cases to prevent cookies from being stored in the cache.</p>
 
281
 
 
282
    <p><code class="directive">CacheIgnoreHeaders</code> takes a space separated list
 
283
    of HTTP headers that should not be stored in the cache. If only hop-by-hop
 
284
    headers not should be stored in the cache (the RFC 2616 compliant
 
285
    behaviour), <code class="directive">CacheIgnoreHeaders</code> can be set to
 
286
    <code>None</code>.</p>
 
287
 
 
288
    <div class="example"><h3>Example 1</h3><p><code>
 
289
      CacheIgnoreHeaders Set-Cookie
 
290
    </code></p></div>
 
291
 
 
292
    <div class="example"><h3>Example 2</h3><p><code>
 
293
      CacheIgnoreHeaders None
 
294
    </code></p></div>
 
295
 
 
296
    <div class="warning"><h3>Warning:</h3>
 
297
      If headers like <code>Expires</code> which are needed for proper cache
 
298
      management are not stored due to a
 
299
      <code class="directive">CacheIgnoreHeaders</code> setting, the behaviour of
 
300
      mod_cache is undefined.
 
301
    </div>
 
302
 
 
303
</div>
 
304
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 
305
<div class="directive-section"><h2><a name="CacheIgnoreNoLastMod" id="CacheIgnoreNoLastMod">CacheIgnoreNoLastMod</a> <a name="cacheignorenolastmod" id="cacheignorenolastmod">Directive</a></h2>
 
306
<table class="directive">
 
307
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ignore the fact that a response has no Last Modified
 
308
header.</td></tr>
 
309
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheIgnoreNoLastMod On|Off</code></td></tr>
 
310
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheIgnoreNoLastMod Off</code></td></tr>
 
311
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
 
312
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
 
313
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
 
314
</table>
 
315
    <p>Ordinarily, documents without a last-modified date are not cached.
 
316
    Under some circumstances the last-modified date is removed (during
 
317
    <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> processing for example) or not provided
 
318
    at all. The <code class="directive">CacheIgnoreNoLastMod</code> directive
 
319
    provides a way to specify that documents without last-modified dates
 
320
    should be considered for caching, even without a last-modified date.
 
321
    If neither a last-modified date nor an expiry date are provided with
 
322
    the document then the value specified by the
 
323
    <code class="directive">CacheDefaultExpire</code> directive will be used to
 
324
    generate an expiration date.</p>
 
325
 
 
326
    <div class="example"><p><code>
 
327
      CacheIgnoreNoLastMod On
 
328
    </code></p></div>
 
329
 
 
330
</div>
 
331
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 
332
<div class="directive-section"><h2><a name="CacheLastModifiedFactor" id="CacheLastModifiedFactor">CacheLastModifiedFactor</a> <a name="cachelastmodifiedfactor" id="cachelastmodifiedfactor">Directive</a></h2>
 
333
<table class="directive">
 
334
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The factor used to compute an expiry date based on the
 
335
LastModified date.</td></tr>
 
336
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheLastModifiedFactor <var>float</var></code></td></tr>
 
337
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheLastModifiedFactor 0.1</code></td></tr>
 
338
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
 
339
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
 
340
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
 
341
</table>
 
342
    <p>In the event that a document does not provide an expiry date but does
 
343
    provide a last-modified date, an expiry date can be calculated based on
 
344
    the time since the document was last modified. The
 
345
    <code class="directive">CacheLastModifiedFactor</code> directive specifies a
 
346
    <var>factor</var> to be used in the generation of this expiry date
 
347
    according to the following formula:
 
348
 
 
349
    <code>expiry-period = time-since-last-modified-date * <var>factor</var>
 
350
    expiry-date = current-date + expiry-period</code>
 
351
 
 
352
    For example, if the document was last modified 10 hours ago, and
 
353
    <var>factor</var> is 0.1 then the expiry-period will be set to
 
354
    10*0.1 = 1 hour. If the current time was 3:00pm then the computed
 
355
    expiry-date would be 3:00pm + 1hour = 4:00pm.
 
356
 
 
357
    If the expiry-period would be longer than that set by
 
358
    <code class="directive">CacheMaxExpire</code>, then the latter takes
 
359
    precedence.</p>
 
360
 
 
361
    <div class="example"><p><code>
 
362
      CacheLastModifiedFactor 0.5
 
363
    </code></p></div>
 
364
 
 
365
</div>
 
366
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 
367
<div class="directive-section"><h2><a name="CacheMaxExpire" id="CacheMaxExpire">CacheMaxExpire</a> <a name="cachemaxexpire" id="cachemaxexpire">Directive</a></h2>
 
368
<table class="directive">
 
369
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The maximum time in seconds to cache a document</td></tr>
 
370
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheMaxExpire <var>seconds</var></code></td></tr>
 
371
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheMaxExpire 86400 (one day)</code></td></tr>
 
372
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
 
373
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
 
374
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
 
375
</table>
 
376
    <p>The <code class="directive">CacheMaxExpire</code> directive specifies the maximum number of
 
377
    seconds for which cachable HTTP documents will be retained without checking the origin
 
378
    server. Thus, documents will be out of date at most this number of seconds. This maximum
 
379
    value is enforced even if an expiry date was supplied with the document.</p>
 
380
 
 
381
    <div class="example"><p><code>
 
382
      CacheMaxExpire 604800
 
383
    </code></p></div>
 
384
 
 
385
</div>
 
386
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 
387
<div class="directive-section"><h2><a name="CacheStoreNoStore" id="CacheStoreNoStore">CacheStoreNoStore</a> <a name="cachestorenostore" id="cachestorenostore">Directive</a></h2>
 
388
<table class="directive">
 
389
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Attempt to cache requests or responses that have been marked as no-store.</td></tr>
 
390
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheStoreNoStore On|Off</code></td></tr>
 
391
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheStoreNoStore Off</code></td></tr>
 
392
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
 
393
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
 
394
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
 
395
</table>
 
396
    <p>Ordinarily, requests or responses with Cache-Control: no-store header
 
397
       values will not be stored in the cache.  The
 
398
       <code class="directive">CacheStoreNoCache</code> directive allows this
 
399
       behavior to be overridden.  <code class="directive">CacheStoreNoCache</code> On
 
400
       tells the server to attempt to cache the resource even if it contains
 
401
       no-store header values.  Resources requiring authorization will
 
402
       <em>never</em> be cached.</p>
 
403
 
 
404
    <div class="example"><p><code>
 
405
      CacheStoreNoStore On
 
406
    </code></p></div>
 
407
 
 
408
    <div class="warning"><h3>Warning:</h3>
 
409
       As described in RFC 2616, the no-store directive is intended to
 
410
       "prevent the inadvertent release or retention of sensitive information
 
411
       (for example, on backup tapes)."  Enabling this option could store
 
412
       sensitive information in the cache.  You are hereby warned.
 
413
    </div>
 
414
 
 
415
<h3>See also</h3>
 
416
<ul>
 
417
<li><code class="directive"><a href="#cacheignorecachecontrol">CacheIgnoreCacheControl</a></code></li>
 
418
<li><code class="directive"><a href="#cachestoreprivate">CacheStorePrivate</a></code></li>
 
419
</ul>
 
420
</div>
 
421
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 
422
<div class="directive-section"><h2><a name="CacheStorePrivate" id="CacheStorePrivate">CacheStorePrivate</a> <a name="cachestoreprivate" id="cachestoreprivate">Directive</a></h2>
 
423
<table class="directive">
 
424
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Attempt to cache responses that the server has marked as private</td></tr>
 
425
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheStorePrivate On|Off</code></td></tr>
 
426
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheStorePrivate Off</code></td></tr>
 
427
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
 
428
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
 
429
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
 
430
</table>
 
431
    <p>Ordinarily, responses with Cache-Control: private header values will not
 
432
       be stored in the cache.  The <code class="directive">CacheStorePrivate</code>
 
433
       directive allows this behavior to be overridden.
 
434
       <code class="directive">CacheStorePrivate</code> On
 
435
       tells the server to attempt to cache the resource even if it contains
 
436
       private header values.  Resources requiring authorization will
 
437
       <em>never</em> be cached.</p>
 
438
 
 
439
    <div class="example"><p><code>
 
440
      CacheStorePrivate On
 
441
    </code></p></div>
 
442
 
 
443
    <div class="warning"><h3>Warning:</h3>
 
444
       This directive will allow caching even if the upstream server has
 
445
       requested that the resource not be cached.  This directive is only
 
446
       ideal for a 'private' cache.
 
447
    </div>
 
448
 
 
449
<h3>See also</h3>
 
450
<ul>
 
451
<li><code class="directive"><a href="#cacheignorecachecontrol">CacheIgnoreCacheControl</a></code></li>
 
452
<li><code class="directive"><a href="#cachestorenostore">CacheStoreNoStore</a></code></li>
 
453
</ul>
 
454
</div>
 
455
</div>
 
456
<div class="bottomlang">
 
457
<p><span>Available Languages: </span><a href="../en/mod/mod_cache.html" title="English">&nbsp;en&nbsp;</a> |
 
458
<a href="../ja/mod/mod_cache.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
 
459
<a href="../ko/mod/mod_cache.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
 
460
</div><div id="footer">
 
461
<p class="apache">Copyright 2006 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
 
462
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
 
463
</body></html>
 
 
b'\\ No newline at end of file'