<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
<meta content="noindex, nofollow" name="robots" />
<!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>mod_expires - Apache HTTP Server</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<link href="../images/favicon.ico" rel="shortcut icon" /><link href="http://httpd.apache.org/docs/current/mod/mod_expires.html" rel="canonical" /></head>
<body>
<div id="page-header">
<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>
<p class="apache">Apache HTTP Server Version 2.0</p>
<img alt="" src="../images/feather.gif" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<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.0</a> &gt; <a href="./">Modules</a></div>
<div id="page-content">
<div class="retired"><h4>Please note</h4>
            <p>This document refers to the <strong>2.0</strong> version of Apache httpd, which <strong>is no longer maintained</strong>. Upgrade, and refer to the current version of httpd instead, documented at:</p>
        <ul><li><a href="http://httpd.apache.org/docs/current/">Current release version of Apache HTTP Server documentation</a></li></ul><p>You may follow <a href="http://httpd.apache.org/docs/current/mod/mod_expires.html">this link</a> to go to the current version of this document.</p></div><div id="preamble"><h1>Apache Module mod_expires</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/mod/mod_expires.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/mod/mod_expires.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_expires.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Generation of <code>Expires</code> and
<code>Cache-Control</code> HTTP headers according to user-specified
criteria</td></tr>
<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Module&#160;Identifier:</a></th><td>expires_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Source&#160;File:</a></th><td>mod_expires.c</td></tr></table>
<h3>Summary</h3>

    <p>This module controls the setting of the <code>Expires</code>
    HTTP header and the <code>max-age</code> directive of the
    <code>Cache-Control</code> HTTP header in server responses. The
    expiration date can set to be relative to either the time the
    source file was last modified, or to the time of the client
    access.</p>

    <p>These HTTP headers are an instruction to the client about the
    document's validity and persistence. If cached, the document may
    be fetched from the cache rather than from the source until this
    time has passed. After that, the cache copy is considered
    "expired" and invalid, and a new copy must be obtained from the
    source.</p> 

    <p>To modify <code>Cache-Control</code> directives other than
    <code>max-age</code> (see <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9">RFC
    2616 section 14.9</a>), you can use the <code class="directive"><a href="../mod/mod_headers.html#header">Header</a></code> directive.</p>

</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#expiresactive">ExpiresActive</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#expiresbytype">ExpiresByType</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#expiresdefault">ExpiresDefault</a></li>
</ul>
<h3>Topics</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#AltSyn">Alternate Interval Syntax</a></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="AltSyn" id="AltSyn">Alternate Interval Syntax</a></h2>
    <p>The <code class="directive"><a href="#expiresdefault">ExpiresDefault</a></code> and
    <code class="directive"><a href="#expiresbytype">ExpiresByType</a></code> directives
    can also be defined in a more readable syntax of the form:</p>

    <div class="example"><p><code>
      ExpiresDefault "&lt;base&gt; [plus] {&lt;num&gt;
      &lt;type&gt;}*"<br />
      ExpiresByType type/encoding "&lt;base&gt; [plus]
      {&lt;num&gt; &lt;type&gt;}*"
    </code></p></div>

    <p>where &lt;base&gt; is one of:</p>

    <ul>
      <li><code>access</code></li>

      <li><code>now</code> (equivalent to
      '<code>access</code>')</li>

      <li><code>modification</code></li>
    </ul>

    <p>The <code>plus</code> keyword is optional. &lt;num&gt;
    should be an integer value [acceptable to <code>atoi()</code>],
    and &lt;type&gt; is one of:</p>

    <ul>
      <li><code>years</code></li>
      <li><code>months</code></li>
      <li><code>weeks</code></li>
      <li><code>days</code></li>
      <li><code>hours</code></li>
      <li><code>minutes</code></li>
      <li><code>seconds</code></li>
    </ul>

    <p>For example, any of the following directives can be used to
    make documents expire 1 month after being accessed, by
    default:</p>

    <div class="example"><p><code>
      ExpiresDefault "access plus 1 month"<br />
      ExpiresDefault "access plus 4 weeks"<br />
      ExpiresDefault "access plus 30 days"
    </code></p></div>

    <p>The expiry time can be fine-tuned by adding several
    '&lt;num&gt; &lt;type&gt;' clauses:</p>

    <div class="example"><p><code>
      ExpiresByType text/html "access plus 1 month 15
      days 2 hours"<br />
      ExpiresByType image/gif "modification plus 5 hours 3
      minutes"
    </code></p></div>

    <p>Note that if you use a modification date based setting, the
    Expires header will <strong>not</strong> be added to content
    that does not come from a file on disk. This is due to the fact
    that there is no modification time for such content.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ExpiresActive" id="ExpiresActive">ExpiresActive</a> <a name="expiresactive" id="expiresactive">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enables generation of <code>Expires</code>
headers</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ExpiresActive On|Off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_expires</td></tr>
</table>
    <p>This directive enables or disables the generation of the
    <code>Expires</code> and <code>Cache-Control</code> headers for
    the document realm in question.  (That is, if found in an
    <code>.htaccess</code> file, for instance, it applies only to
    documents generated from that directory.) If set to
    <code>Off</code>, the headers will not be generated for any
    document in the realm (unless overridden at a lower level, such as
    an <code>.htaccess</code> file overriding a server config
    file). If set to <code>On</code>, the headers will be added to
    served documents according to the criteria defined by the
    <code class="directive"><a href="#expiresbytype">ExpiresByType</a></code> and
    <code class="directive"><a href="#expiresdefault">ExpiresDefault</a></code>
    directives (<em>q.v.</em>).</p>

    <p>Note that this directive does not guarantee that an
    <code>Expires</code> or <code>Cache-Control</code> header will be
    generated. If the criteria aren't met, no header will be sent, and
    the effect will be as though this directive wasn't even
    specified.</p>
 
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ExpiresByType" id="ExpiresByType">ExpiresByType</a> <a name="expiresbytype" id="expiresbytype">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Value of the <code>Expires</code> header configured
by MIME type</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ExpiresByType <var>MIME-type</var>
<var>&lt;code&gt;seconds</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_expires</td></tr>
</table>
    <p>This directive defines the value of the <code>Expires</code>
    header and the <code>max-age</code> directive of the
    <code>Cache-Control</code> header generated for documents of the
    specified type (<em>e.g.</em>, <code>text/html</code>). The second
    argument sets the number of seconds that will be added to a base
    time to construct the expiration date.  The <code>Cache-Control:
    max-age</code> is calculated by subtracting the request time from
    the expiration date and expressing the result in seconds.</p>

    <p>The base time is either the last modification time of the
    file, or the time of the client's access to the document. Which
    should be used is specified by the
    <code><var>&lt;code&gt;</var></code> field; <code>M</code>
    means that the file's last modification time should be used as
    the base time, and <code>A</code> means the client's access
    time should be used.</p>

    <p>The difference in effect is subtle. If <code>M</code> is used,
    all current copies of the document in all caches will expire at
    the same time, which can be good for something like a weekly
    notice that's always found at the same URL. If <code>A</code> is
    used, the date of expiration is different for each client; this
    can be good for image files that don't change very often,
    particularly for a set of related documents that all refer to
    the same images (<em>i.e.</em>, the images will be accessed
    repeatedly within a relatively short timespan).</p>

    <div class="example"><h3>Example:</h3><p><code>
      # enable expirations<br />
      ExpiresActive On<br />
      # expire GIF images after a month in the client's cache<br />
      ExpiresByType image/gif A2592000<br />
      # HTML documents are good for a week from the<br />
      # time they were changed<br />
      ExpiresByType text/html M604800
    </code></p></div>

    <p>Note that this directive only has effect if
    <code>ExpiresActive On</code> has been specified. It overrides,
    for the specified MIME type <em>only</em>, any expiration date
    set by the <code class="directive"><a href="#expiresdefault">ExpiresDefault</a></code>
    directive.</p>

    <p>You can also specify the expiration time calculation using
    an <a href="#AltSyn">alternate syntax</a>, described earlier in
    this document.</p>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ExpiresDefault" id="ExpiresDefault">ExpiresDefault</a> <a name="expiresdefault" id="expiresdefault">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Default algorithm for calculating expiration time</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ExpiresDefault <var>&lt;code&gt;seconds</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_expires</td></tr>
</table>
    <p>This directive sets the default algorithm for calculating the
    expiration time for all documents in the affected realm. It can be
    overridden on a type-by-type basis by the <code class="directive"><a href="#expiresbytype">ExpiresByType</a></code> directive. See the
    description of that directive for details about the syntax of the
    argument, and the <a href="#AltSyn">alternate syntax</a>
    description as well.</p>

</div>
</div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_expires.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/mod/mod_expires.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_expires.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2013 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>
<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>
</body></html>