mod_cache.xml revision 186e9d990f453d16826ab87a87df7b87e6e05921
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<!DOCTYPE modulesynopsis SYSTEM "/style/modulesynopsis.dtd">
e942c741056732f50da2074b36fe59805d370650slive<?xml-stylesheet type="text/xsl" href="/style/manual.en.xsl"?>
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd<!-- $LastChangedRevision$ -->
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd Licensed to the Apache Software Foundation (ASF) under one or more
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd contributor license agreements. See the NOTICE file distributed with
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd this work for additional information regarding copyright ownership.
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd The ASF licenses this file to You under the Apache License, Version 2.0
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd (the "License"); you may not use this file except in compliance with
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd the License. You may obtain a copy of the License at
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd Unless required by applicable law or agreed to in writing, software
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd distributed under the License is distributed on an "AS IS" BASIS,
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd See the License for the specific language governing permissions and
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd limitations under the License.
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<description>Content cache keyed to URIs.</description>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <note type="warning">This module should be used with care and
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive can be used to circumvent <directive
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive module="mod_authz_host">Allow</directive> and <directive
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive module="mod_authz_host">Deny</directive> directives. You
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive should not enable caching for any content to which you wish
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive to limit access by client host name, address or environment
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive variable.</note>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</a> compliant HTTP
53bae66d3dc14a667e14a451f7bc65a893dd450fnd content cache that can be used to cache either local or proxied content.
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <module>mod_cache</module> requires the services of one or more storage
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive management modules. One storage management module is included in
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive the base Apache distribution:</p>
97a9a944b5887e91042b019776c41d5dd74557aferikabele <p>Content is stored in and retrieved from the cache using URI based keys. Content with
a5da9d9dfc593837aca771df70ad124a37e22abapatrikj access protection is not cached.</p>
97a9a944b5887e91042b019776c41d5dd74557aferikabele <p>Further details, discussion, and examples, are provided in the
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<seealso><a href="/caching.html">Caching Guide</a></seealso>
a5da9d9dfc593837aca771df70ad124a37e22abapatrikj<section id="related"><title>Related Modules and Directives</title>
a5da9d9dfc593837aca771df70ad124a37e22abapatrikj <modulelist>
a5da9d9dfc593837aca771df70ad124a37e22abapatrikj </modulelist>
a5da9d9dfc593837aca771df70ad124a37e22abapatrikj <directivelist>
a5da9d9dfc593837aca771df70ad124a37e22abapatrikj <directive module="mod_disk_cache">CacheRoot</directive>
a5da9d9dfc593837aca771df70ad124a37e22abapatrikj <directive module="mod_disk_cache">CacheDirLevels</directive>
a5da9d9dfc593837aca771df70ad124a37e22abapatrikj <directive module="mod_disk_cache">CacheDirLength</directive>
a5da9d9dfc593837aca771df70ad124a37e22abapatrikj <directive module="mod_disk_cache">CacheMinFileSize</directive>
a5da9d9dfc593837aca771df70ad124a37e22abapatrikj <directive module="mod_disk_cache">CacheMaxFileSize</directive>
a5da9d9dfc593837aca771df70ad124a37e22abapatrikj </directivelist>
a5da9d9dfc593837aca771df70ad124a37e22abapatrikj<section id="sampleconf"><title>Sample Configuration</title>
a5da9d9dfc593837aca771df70ad124a37e22abapatrikj # Sample Cache Configuration<br />
a5da9d9dfc593837aca771df70ad124a37e22abapatrikj LoadModule disk_cache_module modules/mod_disk_cache.so<br />
a5da9d9dfc593837aca771df70ad124a37e22abapatrikj CacheRoot c:/cacheroot<br />
a5da9d9dfc593837aca771df70ad124a37e22abapatrikj CacheEnable disk /<br />
a5da9d9dfc593837aca771df70ad124a37e22abapatrikj CacheDirLevels 5<br />
a5da9d9dfc593837aca771df70ad124a37e22abapatrikj CacheDirLength 3<br />
97a9a944b5887e91042b019776c41d5dd74557aferikabele </IfModule> <br />
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive # When acting as a proxy, don't cache the list of security updates<br />
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive CacheDisable http://security.update.server/update-list/<br />
53bae66d3dc14a667e14a451f7bc65a893dd450fnd </IfModule>
199a8ee5984e3708982fab1ba6ebb0a5feaea90cnd<directivesynopsis>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<description>Enable caching of specified URLs using a specified storage
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slivemanager</description>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<syntax>CacheEnable <var>cache_type</var> <var>url-string</var></syntax>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<contextlist><context>server config</context><context>virtual host</context>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive</contextlist>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <p>The <directive>CacheEnable</directive> directive instructs
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <var>url-string</var>. The cache storage manager is specified with the
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <module>mod_cache</module> to use the disk based storage manager
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <p>In the event that the URL space overlaps between different
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <directive>CacheEnable</directive> directives (as in the example below),
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive each possible storage manager will be run until the first one that
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive actually processes the request. The order in which the storage managers are
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive run is determined by the order of the <directive>CacheEnable</directive>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive directives in the configuration file.</p>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <p>When acting as a forward proxy server, <var>url-string</var> can
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive also be used to specify remote sites and proxy protocols which
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive caching should be enabled for.</p>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive # Cache proxied url's<br />
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive # Cache FTP-proxied url's<br />
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <p> The <code>no-cache</code> environment variable can be set to
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive disable caching on a finer grained set of resources.</p>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<seealso><a href="/env.html">Environment Variables in Apache</a></seealso>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive</directivesynopsis>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<directivesynopsis>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<description>Disable caching of specified URLs</description>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<contextlist><context>server config</context><context>virtual host</context>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive</contextlist>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <p>The <directive>CacheDisable</directive> directive instructs
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <module>mod_cache</module> to <em>not</em> cache urls at or below
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive CacheDisable /local_files
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <p> The <code>no-cache</code> environment variable can be set to
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive disable caching on a finer grained set of resources.</p>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<seealso><a href="/env.html">Environment Variables in Apache</a></seealso>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive</directivesynopsis>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<directivesynopsis>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<description>The maximum time in seconds to cache a document</description>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<contextlist><context>server config</context><context>virtual host</context>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive</contextlist>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <p>The <directive>CacheMaxExpire</directive> directive specifies the maximum number of
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive seconds for which cachable HTTP documents will be retained without checking the origin
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive server. Thus, documents will be out of date at most this number of seconds. This maximum
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive value is enforced even if an expiry date was supplied with the document.</p>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive CacheMaxExpire 604800
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive</directivesynopsis>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<directivesynopsis>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<description>The minimum time in seconds to cache a document</description>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<contextlist><context>server config</context><context>virtual host</context>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive</contextlist>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <p>The <directive>CacheMinExpire</directive> directive specifies the minimum number of
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive seconds for which cachable HTTP documents will be retained without checking the origin
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive server. This is only used if no valid expire time was supplied with the document.</p>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive CacheMinExpire 3600
2da44b982e748bd80d4017f1b53bda806ce9b4e1jim</directivesynopsis>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<directivesynopsis>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<description>The default duration to cache a document when no expiry date is specified.</description>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<contextlist><context>server config</context><context>virtual host</context>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive</contextlist>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <p>The <directive>CacheDefaultExpire</directive> directive specifies a default time,
2da44b982e748bd80d4017f1b53bda806ce9b4e1jim in seconds, to cache a document if neither an expiry date nor last-modified date are provided
2da44b982e748bd80d4017f1b53bda806ce9b4e1jim with the document. The value specified with the <directive>CacheMaxExpire</directive>
2da44b982e748bd80d4017f1b53bda806ce9b4e1jim CacheDefaultExpire 86400
2da44b982e748bd80d4017f1b53bda806ce9b4e1jim </example>
2da44b982e748bd80d4017f1b53bda806ce9b4e1jim</directivesynopsis>
2da44b982e748bd80d4017f1b53bda806ce9b4e1jim<directivesynopsis>
2da44b982e748bd80d4017f1b53bda806ce9b4e1jim<description>Ignore the fact that a response has no Last Modified
2da44b982e748bd80d4017f1b53bda806ce9b4e1jimheader.</description>
2da44b982e748bd80d4017f1b53bda806ce9b4e1jim<contextlist><context>server config</context><context>virtual host</context>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive</contextlist>
2da44b982e748bd80d4017f1b53bda806ce9b4e1jim <p>Ordinarily, documents without a last-modified date are not cached.
2da44b982e748bd80d4017f1b53bda806ce9b4e1jim Under some circumstances the last-modified date is removed (during
2da44b982e748bd80d4017f1b53bda806ce9b4e1jim <module>mod_include</module> processing for example) or not provided
2da44b982e748bd80d4017f1b53bda806ce9b4e1jim at all. The <directive>CacheIgnoreNoLastMod</directive> directive
2da44b982e748bd80d4017f1b53bda806ce9b4e1jim provides a way to specify that documents without last-modified dates
2da44b982e748bd80d4017f1b53bda806ce9b4e1jim should be considered for caching, even without a last-modified date.
2da44b982e748bd80d4017f1b53bda806ce9b4e1jim If neither a last-modified date nor an expiry date are provided with
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive the document then the value specified by the
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <directive>CacheDefaultExpire</directive> directive will be used to
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive generate an expiration date.</p>
2da44b982e748bd80d4017f1b53bda806ce9b4e1jim CacheIgnoreNoLastMod On
2da44b982e748bd80d4017f1b53bda806ce9b4e1jim </example>
2da44b982e748bd80d4017f1b53bda806ce9b4e1jim</directivesynopsis>
2da44b982e748bd80d4017f1b53bda806ce9b4e1jim<directivesynopsis>
2da44b982e748bd80d4017f1b53bda806ce9b4e1jim<description>Ignore request to not serve cached content to client</description>
2da44b982e748bd80d4017f1b53bda806ce9b4e1jim<contextlist><context>server config</context><context>virtual host</context>
2da44b982e748bd80d4017f1b53bda806ce9b4e1jim</contextlist>
2da44b982e748bd80d4017f1b53bda806ce9b4e1jim <p>Ordinarily, requests containing a Cache-Control: no-cache or
2da44b982e748bd80d4017f1b53bda806ce9b4e1jim Pragma: no-cache header value will not be served from the cache. The
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <directive>CacheIgnoreCacheControl</directive> directive allows this
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive behavior to be overridden. <directive>CacheIgnoreCacheControl</directive>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive On tells the server to attempt to serve the resource from the cache even
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive if the request contains no-cache header values. Resources requiring
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive CacheIgnoreCacheControl On
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive This directive will allow serving from the cache even if the client has
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive requested that the document not be served from the cache. This might
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive result in stale content being served.
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<seealso><directive module="mod_cache">CacheStorePrivate</directive></seealso>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<seealso><directive module="mod_cache">CacheStoreNoStore</directive></seealso>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive</directivesynopsis>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<directivesynopsis>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<description>Ignore query string when caching</description>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<contextlist><context>server config</context><context>virtual host</context>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive</contextlist>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <p>Ordinarily, requests with query string parameters are cached separately
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive for each unique query string. This is according to RFC 2616/13.9 done only
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive if an expiration time is specified. The
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <directive>CacheIgnoreQueryString</directive> directive tells the cache to
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive cache requests even if no expiration time is specified, and to reply with
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive a cached reply even if the query string differs. From a caching point of
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive view the request is treated as if having no query string when this
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive directive is enabled.</p>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive CacheIgnoreQueryString On
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive</directivesynopsis>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<directivesynopsis>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<description>The factor used to compute an expiry date based on the
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37sliveLastModified date.</description>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<syntax>CacheLastModifiedFactor <var>float</var></syntax>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<contextlist><context>server config</context><context>virtual host</context>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive</contextlist>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <p>In the event that a document does not provide an expiry date but does
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive provide a last-modified date, an expiry date can be calculated based on
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive the time since the document was last modified. The
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <directive>CacheLastModifiedFactor</directive> directive specifies a
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <var>factor</var> to be used in the generation of this expiry date
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive according to the following formula:
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <code>expiry-period = time-since-last-modified-date * <var>factor</var>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive expiry-date = current-date + expiry-period</code>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive For example, if the document was last modified 10 hours ago, and
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <var>factor</var> is 0.1 then the expiry-period will be set to
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive 10*0.1 = 1 hour. If the current time was 3:00pm then the computed
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive expiry-date would be 3:00pm + 1hour = 4:00pm.
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive If the expiry-period would be longer than that set by
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <directive>CacheMaxExpire</directive>, then the latter takes
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive precedence.</p>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive CacheLastModifiedFactor 0.5
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive</directivesynopsis>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<directivesynopsis>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<description>Do not store the given HTTP header(s) in the cache.
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive</description>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<syntax>CacheIgnoreHeaders <var>header-string</var> [<var>header-string</var>] ...</syntax>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<contextlist><context>server config</context><context>virtual host</context>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive</contextlist>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <p>According to RFC 2616, hop-by-hop HTTP headers are not stored in
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive the cache. The following HTTP headers are hop-by-hop headers and thus
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive do not get stored in the cache in <em>any</em> case regardless of the
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive setting of <directive>CacheIgnoreHeaders</directive>:</p>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <p><directive>CacheIgnoreHeaders</directive> specifies additional HTTP
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive headers that should not to be stored in the cache. For example, it makes
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive sense in some cases to prevent cookies from being stored in the cache.</p>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <p><directive>CacheIgnoreHeaders</directive> takes a space separated list
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive of HTTP headers that should not be stored in the cache. If only hop-by-hop
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive headers not should be stored in the cache (the RFC 2616 compliant
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive behaviour), <directive>CacheIgnoreHeaders</directive> can be set to
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive CacheIgnoreHeaders Set-Cookie
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive CacheIgnoreHeaders None
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive If headers like <code>Expires</code> which are needed for proper cache
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive management are not stored due to a
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <directive>CacheIgnoreHeaders</directive> setting, the behaviour of
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive mod_cache is undefined.
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive</directivesynopsis>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<directivesynopsis>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<description>Ignore defined session identifiers encoded in the URL when caching
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive</description>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<syntax>CacheIgnoreURLSessionIdentifiers <var>identifier</var> [<var>identifier</var>] ...</syntax>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<default>CacheIgnoreURLSessionIdentifiers None</default>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<contextlist><context>server config</context><context>virtual host</context>
8b3e138dcdba26dc2174a16d9443585bc7123ed8rbowen</contextlist>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <p>Sometimes applications encode the session identifier into the URL like in the following
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <li><code>/someapplication/image.gif;jsessionid=123456789</code></li>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <li><code>/someapplication/image.gif?PHPSESSIONID=12345678</code></li>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <p>This causes cachable resources to be stored separately for each session, which
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive is often not desired. <directive>CacheIgnoreURLSessionIdentifiers</directive> lets
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive define a list of identifiers that are removed from the key that is used to identify
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive an entity in the cache, such that cachable resources are not stored separately for
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive each session.
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive CacheIgnoreURLSessionIdentifiers jsessionid
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive CacheIgnoreURLSessionIdentifiers None
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive</directivesynopsis>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<directivesynopsis>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<description>Attempt to cache responses that the server has marked as private</description>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<contextlist><context>server config</context><context>virtual host</context>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive</contextlist>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <p>Ordinarily, responses with Cache-Control: private header values will not
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive be stored in the cache. The <directive>CacheStorePrivate</directive>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive directive allows this behavior to be overridden.
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive tells the server to attempt to cache the resource even if it contains
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive private header values. Resources requiring authorization will
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive CacheStorePrivate On
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive This directive will allow caching even if the upstream server has
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive requested that the resource not be cached. This directive is only
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive ideal for a 'private' cache.
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<seealso><directive module="mod_cache">CacheIgnoreCacheControl</directive></seealso>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<seealso><directive module="mod_cache">CacheStoreNoStore</directive></seealso>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive</directivesynopsis>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<directivesynopsis>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<description>Attempt to cache requests or responses that have been marked as no-store.</description>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<contextlist><context>server config</context><context>virtual host</context>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive</contextlist>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <p>Ordinarily, requests or responses with Cache-Control: no-store header
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive values will not be stored in the cache. The
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive <directive>CacheStoreNoCache</directive> directive allows this
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive behavior to be overridden. <directive>CacheStoreNoCache</directive> On
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive tells the server to attempt to cache the resource even if it contains
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive no-store header values. Resources requiring authorization will
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive CacheStoreNoStore On
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive As described in RFC 2616, the no-store directive is intended to
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive "prevent the inadvertent release or retention of sensitive information
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive (for example, on backup tapes)." Enabling this option could store
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive sensitive information in the cache. You are hereby warned.
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<seealso><directive module="mod_cache">CacheIgnoreCacheControl</directive></seealso>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive<seealso><directive module="mod_cache">CacheStorePrivate</directive></seealso>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive</directivesynopsis>
e6469ad7a7dacf318f7ecf393b448b83ad1fdb37slive</modulesynopsis>