mod_cache.xml revision 7db9f691a00ead175b03335457ca296a33ddf31b
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<?xml version="1.0"?>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<!DOCTYPE modulesynopsis SYSTEM "/style/modulesynopsis.dtd">
e942c741056732f50da2074b36fe59805d370650slive<?xml-stylesheet type="text/xsl" href="/style/manual.en.xsl"?>
7db9f691a00ead175b03335457ca296a33ddf31bnd<modulesynopsis metafile="mod_cache.xml.meta">
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<name>mod_cache</name>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard<description>Content cache keyed to URIs.</description>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<status>Experimental</status>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<sourcefile>mod_cache.c</sourcefile>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<identifier>cache_module</identifier>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<summary>
88c775368960b64afcdfd93a812f466a109746baerikabele <note type="warning">
15f37a157fbbf107658ed82ec30c348a9b6e518end This module is experimental. Documentation is still under development...
88c775368960b64afcdfd93a812f466a109746baerikabele </note>
15f37a157fbbf107658ed82ec30c348a9b6e518end
15f37a157fbbf107658ed82ec30c348a9b6e518end <p><module>mod_cache</module> implements an <a
15f37a157fbbf107658ed82ec30c348a9b6e518end href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</a> compliant HTTP
15f37a157fbbf107658ed82ec30c348a9b6e518end content cache that can be used to cache either local or proxied content.
15f37a157fbbf107658ed82ec30c348a9b6e518end <module>mod_cache</module> requires the services of one or more storage
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard management modules. Two storage management modules are included in
3e5f26422e7931e8838f3c844adc4282ef269cdfstoddard the base Apache distribution:</p>
3ec4de296cf8eb31d8a59811b58720efafccf109patrikj <dl>
97a9a944b5887e91042b019776c41d5dd74557aferikabele <dt><module>mod_disk_cache</module></dt>
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj <dd>implements a disk based storage manager.</dd>
15f37a157fbbf107658ed82ec30c348a9b6e518end
97a9a944b5887e91042b019776c41d5dd74557aferikabele <dt><module>mod_mem_cache</module></dt>
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj <dd>implements a memory based storage manager.
15f37a157fbbf107658ed82ec30c348a9b6e518end <module>mod_mem_cache</module> can be configured to operate in two
15f37a157fbbf107658ed82ec30c348a9b6e518end modes: caching open file descriptors or caching objects in heap storage.
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj <module>mod_mem_cache</module> can be used to cache locally generated content
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj or to cache backend server content for <module>mod_proxy</module> when
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj configured using <directive module="mod_proxy">ProxyPass</directive>
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj (aka <dfn>reverse proxy</dfn>)</dd>
3ec4de296cf8eb31d8a59811b58720efafccf109patrikj </dl>
15f37a157fbbf107658ed82ec30c348a9b6e518end
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj <p>Content is stored in and retrieved from the cache using URI based keys. Content with
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj access protection is not cached.</p>
88c775368960b64afcdfd93a812f466a109746baerikabele</summary>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard
88c775368960b64afcdfd93a812f466a109746baerikabele<section id="related"><title>Related Modules and Directives</title>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <related>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <modulelist>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <module>mod_disk_cache</module>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <module>mod_mem_cache</module>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard </modulelist>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directivelist>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_disk_cache">CacheRoot</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_disk_cache">CacheSize</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_disk_cache">CacheGcInterval</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_disk_cache">CacheDirLevels</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_disk_cache">CacheDirLength</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_disk_cache">CacheExpiryCheck</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_disk_cache">CacheMinFileSize</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_disk_cache">CacheMaxFileSize</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_disk_cache">CacheTimeMargin</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_disk_cache">CacheGcDaily</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_disk_cache">CacheGcUnused</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_disk_cache">CacheGcClean</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_disk_cache">CacheGcMemUsage</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_mem_cache">MCacheSize</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_mem_cache">MCacheMaxObjectCount</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_mem_cache">MCacheMinObjectSize</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_mem_cache">MCacheMaxObjectSize</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_mem_cache">MCacheRemovalAlgorithm</directive>
d860c376b575fdd8b315452b603b972657776365stoddard <directive module="mod_mem_cache">MCacheMaxStreamingBuffer</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard </directivelist>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard </related>
88c775368960b64afcdfd93a812f466a109746baerikabele</section>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard
15f37a157fbbf107658ed82ec30c348a9b6e518end<section id="sampleconf"><title>Sample Configuration</title>
15f37a157fbbf107658ed82ec30c348a9b6e518end <example><title>Sample httpd.conf</title>
15f37a157fbbf107658ed82ec30c348a9b6e518end #<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end # Sample Cache Configuration<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end #<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end LoadModule cache_module modules/mod_cache.so<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end <br />
15f37a157fbbf107658ed82ec30c348a9b6e518end &lt;IfModule mod_cache.c&gt;<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end <indent>
15f37a157fbbf107658ed82ec30c348a9b6e518end #LoadModule disk_cache_module modules/mod_disk_cache.so<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end &lt;IfModule mod_disk_cache.c&gt;<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end <indent>
15f37a157fbbf107658ed82ec30c348a9b6e518end CacheRoot c:/cacheroot<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end CacheSize 256<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end CacheEnable disk /<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end CacheDirLevels 5<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end CacheDirLength 3<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end </indent>
15f37a157fbbf107658ed82ec30c348a9b6e518end &lt;/IfModule&gt; <br />
15f37a157fbbf107658ed82ec30c348a9b6e518end <br />
15f37a157fbbf107658ed82ec30c348a9b6e518end LoadModule mem_cache_module modules/mod_mem_cache.so<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end &lt;IfModule mod_mem_cache.c&gt;<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end <indent>
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj CacheEnable mem /<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end MCacheSize 4096<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end MCacheMaxObjectCount 100<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end MCacheMinObjectSize 1<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end MCacheMaxObjectSize 2048<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end </indent>
15f37a157fbbf107658ed82ec30c348a9b6e518end &lt;/IfModule&gt;<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end </indent>
15f37a157fbbf107658ed82ec30c348a9b6e518end &lt;/IfModule&gt;
15f37a157fbbf107658ed82ec30c348a9b6e518end </example>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard</section>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<directivesynopsis>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<name>CacheEnable</name>
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj<description>Enable caching of specified URLs using a specified storage
15f37a157fbbf107658ed82ec30c348a9b6e518endmanager</description>
15f37a157fbbf107658ed82ec30c348a9b6e518end<syntax>CacheEnable <var>cache_type</var> <var>url-string</var></syntax>
15f37a157fbbf107658ed82ec30c348a9b6e518end<contextlist><context>server config</context><context>virtual host</context>
15f37a157fbbf107658ed82ec30c348a9b6e518end</contextlist>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<usage>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard <p>The <directive>CacheEnable</directive> directive instructs
15f37a157fbbf107658ed82ec30c348a9b6e518end <module>mod_cache</module> to cache urls at or below
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj <var>url-string</var>. The cache storage manager is specified with the
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj <var>cache_type</var> argument. <var>cache_type</var> <code> mem</code>
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj instructs <module>mod_cache</module> to use the memory based storage
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj manager implemented by <module>mod_mem_cache</module>.
15f37a157fbbf107658ed82ec30c348a9b6e518end <var>cache_type</var> <code>disk</code> instructs
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj <module>mod_cache</module> to use the disk based storage manager
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj implemented by <module>mod_disk_cache</module>.
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj <var>cache_type</var> <code>fd</code> instructs
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj <module>mod_cache</module> to use the file descriptor cache implemented
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj by <module>mod_mem_cache</module>.</p>
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj <p>In the event that the URL space overlaps between different
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj <directive>CacheEnable</directive> directives (as in the example below),
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj each possible storage manager will be run until the first one that
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj actually processes the request. The order in which the storage managers are
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj run is determined by the order of the <directive>CacheEnable</directive>
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj directives in the configuration file.</p>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard
15f37a157fbbf107658ed82ec30c348a9b6e518end <example>
15f37a157fbbf107658ed82ec30c348a9b6e518end CacheEnable mem /manual<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end CacheEnable fd /images<br />
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj CacheEnable disk /<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end </example>
15f37a157fbbf107658ed82ec30c348a9b6e518end</usage>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard</directivesynopsis>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<directivesynopsis>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<name>CacheDisable</name>
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj<description>Disable caching of specified URLs</description>
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj<syntax>CacheDisable <var> url-string</var></syntax>
15f37a157fbbf107658ed82ec30c348a9b6e518end<contextlist><context>server config</context><context>virtual host</context>
15f37a157fbbf107658ed82ec30c348a9b6e518end</contextlist>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<usage>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard <p>The <directive>CacheDisable</directive> directive instructs
15f37a157fbbf107658ed82ec30c348a9b6e518end <module>mod_cache</module> to <em>not</em> cache urls at or below
15f37a157fbbf107658ed82ec30c348a9b6e518end <var>url-string</var>.</p>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard
15f37a157fbbf107658ed82ec30c348a9b6e518end <example><title>Example</title>
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj CacheDisable /local_files
15f37a157fbbf107658ed82ec30c348a9b6e518end </example>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard</usage>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard</directivesynopsis>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<directivesynopsis>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<name>CacheMaxExpire</name>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<description>The maximum time in seconds to cache a document</description>
15f37a157fbbf107658ed82ec30c348a9b6e518end<syntax>CacheMaxExpire <var>seconds</var></syntax>
88c775368960b64afcdfd93a812f466a109746baerikabele<default>CacheMaxExpire 86400 (one day)</default>
15f37a157fbbf107658ed82ec30c348a9b6e518end<contextlist><context>server config</context><context>virtual host</context>
15f37a157fbbf107658ed82ec30c348a9b6e518end</contextlist>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<usage>
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj <p>The <directive>CacheMaxExpire</directive> directive specifies the maximum number of
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj seconds for which cachable HTTP documents will be retained without checking the origin
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj server. Thus, documents will be out of date at most this number of seconds. This maximum
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj value is enforced even if an expiry date was supplied with the document.</p>
15f37a157fbbf107658ed82ec30c348a9b6e518end
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard <example>
15f37a157fbbf107658ed82ec30c348a9b6e518end CacheMaxExpire 604800
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard </example>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard</usage>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard</directivesynopsis>
15f37a157fbbf107658ed82ec30c348a9b6e518end
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<directivesynopsis>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<name>CacheDefaultExpire</name>
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj<description>The default duration to cache a document when no expiry date is specified.</description>
15f37a157fbbf107658ed82ec30c348a9b6e518end<syntax>CacheDefaultExpire <var>seconds</var></syntax>
88c775368960b64afcdfd93a812f466a109746baerikabele<default>CacheDefaultExpire 3600 (one hour)</default>
15f37a157fbbf107658ed82ec30c348a9b6e518end<contextlist><context>server config</context><context>virtual host</context>
15f37a157fbbf107658ed82ec30c348a9b6e518end</contextlist>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<usage>
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj <p>The <directive>CacheDefaultExpire</directive> directive specifies a default time,
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj in seconds, to cache a document if neither an expiry date nor last-modified date are provided
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj with the document. The value specified with the <directive>CacheMaxExpire</directive>
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj directive does <em>not</em> override this setting.</p>
15f37a157fbbf107658ed82ec30c348a9b6e518end
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard <example>
15f37a157fbbf107658ed82ec30c348a9b6e518end CacheDefaultExpire 86400
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard </example>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard</usage>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard</directivesynopsis>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<directivesynopsis>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<name>CacheIgnoreNoLastMod</name>
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj<description>Ignore the fact that a response has no Last Modified
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpjheader.</description>
15f37a157fbbf107658ed82ec30c348a9b6e518end<syntax>CacheIgnoreNoLastMod On|Off</syntax>
15f37a157fbbf107658ed82ec30c348a9b6e518end<default>CacheIgnoreNoLastMod Off</default>
15f37a157fbbf107658ed82ec30c348a9b6e518end<contextlist><context>server config</context><context>virtual host</context>
15f37a157fbbf107658ed82ec30c348a9b6e518end</contextlist>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<usage>
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj <p>Ordinarily, documents without a last-modified date are not cached.
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj Under some circumstances the last-modified date is removed (during
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj <module>mod_include</module> processing for example) or not provided
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj at all. The <directive>CacheIgnoreNoLastMod</directive> directive
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj provides a way to specify that documents without last-modified dates
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj should be considered for caching, even without a last-modified date.
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj If neither a last-modified date nor an expiry date are provided with
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj the document then the value specified by the
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj <directive>CacheDefaultExpire</directive> directive will be used to
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj generate an expiration date.</p>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard <example>
15f37a157fbbf107658ed82ec30c348a9b6e518end CacheIgnoreNoLastMod On
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard </example>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard</usage>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard</directivesynopsis>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<directivesynopsis>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<name>CacheIgnoreCacheControl</name>
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj<description>Ignore the fact that the client requested the content not be
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpjcached.</description>
15f37a157fbbf107658ed82ec30c348a9b6e518end<syntax>CacheIgnoreCacheControl On|Off</syntax>
15f37a157fbbf107658ed82ec30c348a9b6e518end<default>CacheIgnoreCacheControl Off</default>
15f37a157fbbf107658ed82ec30c348a9b6e518end<contextlist><context>server config</context><context>virtual host</context>
15f37a157fbbf107658ed82ec30c348a9b6e518end</contextlist>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<usage>
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj <p>Ordinarily, documents with no-cache or no-store header values will not be stored in the cache.
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj The <directive>CacheIgnoreCacheControl</directive> directive allows this behavior to be overridden.
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj <directive>CacheIgnoreCacheControl</directive> On tells the server to attempt to cache the document
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj even if it contains no-cache or no-store header values. Documents requiring authorization will
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj <em>never</em> be cached.</p>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard <example>
15f37a157fbbf107658ed82ec30c348a9b6e518end CacheIgnoreCacheControl On
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard </example>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard</usage>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard</directivesynopsis>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<directivesynopsis>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<name>CacheLastModifiedFactor</name>
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj<description>The factor used to compute an expiry date based on the
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpjLastModified date.</description>
15f37a157fbbf107658ed82ec30c348a9b6e518end<syntax>CacheLastModifiedFactor <var>float</var></syntax>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard<default>CacheLastModifiedFactor 0.1</default>
15f37a157fbbf107658ed82ec30c348a9b6e518end<contextlist><context>server config</context><context>virtual host</context>
15f37a157fbbf107658ed82ec30c348a9b6e518end</contextlist>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<usage>
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj <p>In the event that a document does not provide an expiry date but does
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj provide a last-modified date, an expiry date can be calculated based on
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj the time since the document was last modified. The
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj <directive>CacheLastModifiedFactor</directive> directive specifies a
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj <var>factor</var> to be used in the generation of this expiry date
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj according to the following formula:
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj <code>expiry-period = time-since-last-modified-date * <var>factor</var>
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj expiry-date = current-date + expiry-period</code>
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj For example, if the document was last modified 10 hours ago, and
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj <var>factor</var> is 0.1 then the expiry-period will be set to
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj 10*0.1 = 1 hour. If the current time was 3:00pm then the computed
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj expiry-date would be 3:00pm + 1hour = 4:00pm.
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj If the expiry-period would be longer than that set by
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj <directive>CacheMaxExpire</directive>, then the latter takes
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj precedence.</p>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard <example>
15f37a157fbbf107658ed82ec30c348a9b6e518end CacheLastModifiedFactor 0.5
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard </example>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard</usage>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard</directivesynopsis>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard<directivesynopsis>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard<name>CacheForceCompletion</name>
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj<description>Percentage of document served, after which the server
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpjwill complete caching the file even if the request is cancelled.</description>
15f37a157fbbf107658ed82ec30c348a9b6e518end<syntax>CacheForceCompletion <var>Percentage</var></syntax>
97a9a944b5887e91042b019776c41d5dd74557aferikabele<default>CacheForceCompletion 60</default>
15f37a157fbbf107658ed82ec30c348a9b6e518end<contextlist><context>server config</context><context>virtual host</context>
15f37a157fbbf107658ed82ec30c348a9b6e518end</contextlist>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard<usage>
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj <p>Ordinarily, if a request is cancelled while the response is being
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj cached and delivered to the client the processing of the response will
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj stop and the cache entry will be removed. The
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj <directive>CacheForceCompletion</directive> directive specifies a
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj threshold beyond which the document will continue to be cached to
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj completion, even if the request is cancelled.</p>
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj <p>The threshold is a percentage specified as a value between
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj <code>1</code> and <code>100</code>. A value of <code>0</code>
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj specifies that the default be used. A value of <code>100</code>
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj will only cache documents that are served in their entirety. A value
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj between 60 and 90 is recommended.</p>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <example>
15f37a157fbbf107658ed82ec30c348a9b6e518end CacheForceCompletion 80
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard </example>
15f37a157fbbf107658ed82ec30c348a9b6e518end
62e52789bfc10a5fd0a433af77e77c8ebbbed6c2rederpj <note type="warning"><title>Note:</title>
15f37a157fbbf107658ed82ec30c348a9b6e518end This feature is currently <em>not</em> implemented.
15f37a157fbbf107658ed82ec30c348a9b6e518end </note>
5d1b3dcc11d17d2a508d9836e4b1787c65a8d789erikabele</usage>
5d1b3dcc11d17d2a508d9836e4b1787c65a8d789erikabele</directivesynopsis>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard</modulesynopsis>