<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="44" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[44]</anchor-end> <dfn><code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Expires:</anchor></code></dfn> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応答</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">腐敗</anchor>する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日時</anchor>を指定します。</p><section><h1>仕様書</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[28]</anchor-end> <strong><cite xml:lang="en">RFC 7234 - Hypertext Transfer Protocol (HTTP/1.1): Caching</cite> (<time>2014-09-11 10:19:59 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc7234#section-5.3">https://tools.ietf.org/html/rfc7234#section-5.3</anchor-external></strong></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[26]</anchor-end> <cite xml:lang="en">RFC 7234 - Hypertext Transfer Protocol (HTTP/1.1): Caching</cite> (<time>2014-09-11 10:19:59 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc7234#section-4.2">https://tools.ietf.org/html/rfc7234#section-4.2</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> <cite xml:lang="en">RFC 2227 - Simple Hit-Metering and Usage-Limiting for HTTP</cite> (<time>2014-08-24 16:54:52 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc2227#section-3.3">http://tools.ietf.org/html/rfc2227#section-3.3</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> <cite xml:lang="en">RFC 2227 - Simple Hit-Metering and Usage-Limiting for HTTP</cite> (<time>2014-08-24 16:54:52 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc2227#section-6.2">http://tools.ietf.org/html/rfc2227#section-6.2</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="46" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[46]</anchor-end> <cite xml:lang="en">RFC 2295 - Transparent Content Negotiation in HTTP</cite> (<time>2014-08-31 19:36:42 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc2295#section-10.2">http://tools.ietf.org/html/rfc2295#section-10.2</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="48" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[48]</anchor-end> <cite xml:lang="en">RFC 2295 - Transparent Content Negotiation in HTTP</cite> (<time>2014-08-31 19:36:42 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc2295#section-10.7">http://tools.ietf.org/html/rfc2295#section-10.7</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="50" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[50]</anchor-end> <cite xml:lang="en">RFC 2774 - An HTTP Extension Framework</cite> (<time>2014-09-08 03:36:50 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc2774#section-5.1">http://tools.ietf.org/html/rfc2774#section-5.1</anchor-external></li></ul></refs></section><section><h1>意味</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="29" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[29]</anchor-end> <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Expires:</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>は、
それ以後<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応答</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">腐敗</anchor>と考えるべき<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日時</anchor>を指定するものです <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;28</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[30]</anchor-end> なお、 <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Expires:</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>があるからといって、
その<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">時刻</anchor>の前後に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">対象資源</anchor>が変化したり、消滅したりするとは限りません <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;28</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="43" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[43]</anchor-end> また、この<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>を指定したとしても、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キャッシュ</anchor>がその<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">時刻</anchor>まで<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応答</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">蓄積</anchor>し続けることは保証されません。<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キャッシュ</anchor>はいつでも<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">蓄積された応答</anchor>を破棄できます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="45" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[45]</anchor-end> 逆に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キャッシュ</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">蓄積された応答</anchor>を破棄することも保証されません。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キャッシュ</anchor>は指定された<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日時</anchor>に至った後も、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">検証</anchor>することで<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">腐敗応答</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">再利用</anchor>できます。</p></section><section><h1>構文</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[32]</anchor-end> <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Expires:</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>の値は、 <code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP-date</anchor></code>
です <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;28</anchor-internal></src>。</p><figure class="railroad"><ol><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPの日時形式</anchor></li></ol></figure></section><section><h1>文脈</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">304</anchor></code> の項も参照。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="40" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[40]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">時計</anchor>を持たない<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">起源鯖</anchor>は、過去の固定の日時を指定する場合か、
信頼できる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">時計</anchor>を持ったシステムや<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>が設定した日時である場合を除き、
<code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Expires:</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">生成</anchor>しては<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></anchor> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;28</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="57" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[57]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RTSP</anchor> でも使われます。</p></section><section><h1><code class="HTTP" xml:lang="en">Expires:</code> と <code class="HTTP" xml:lang="en">Cache-Control: max-age</code> との併用</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="49" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[49]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.0</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">串</anchor>に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キャッシュ</anchor>させず、比較的新しい<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">串</anchor>にのみ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キャッシュ</anchor>を許すため、
<code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Expires:</anchor></code> に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キャッシュ</anchor>されないような日付を指定し、
<code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Cache-Control:</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">max-age</anchor></code> に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キャッシュ</anchor>されるような値を指定する技法が使われることがありました <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;17</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;19</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="48" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;48</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="50" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;50</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="47" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[47]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">選択応答</anchor>では <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.0</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キャッシュ</anchor>に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キャッシュ</anchor>させないために
<code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Expires:</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>を含めることが認められています <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="46" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;46</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="48" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;48</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="51" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[51]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">起源鯖</anchor>は <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Ext:</anchor></code> を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">生成</anchor>する場合、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコルの版</anchor>や <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Via:</anchor></code> から <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.0</anchor>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">中間器</anchor>により<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">転送</anchor>されたことが分かれば、
<code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Date:</anchor></code> と同じかそれよりも前の <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Expires:</anchor></code>
を指定しなければ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></anchor> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="50" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;50</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="53" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[53]</anchor-end> なお <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 3329</anchor> はこの方法がすべての <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.0</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">串</anchor>に有効か疑問であるとして、
かわりに新しい<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">状態符号</anchor>を導入する方法を採っています <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="52" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;52</anchor-internal></src>。</p><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="52" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[52]</anchor-end> <cite xml:lang="en">RFC 3229 - Delta encoding in HTTP</cite> (<time>2014-10-26 21:15:25 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc3229#section-5.4">http://tools.ietf.org/html/rfc3229#section-5.4</anchor-external></li></ul></refs></section><section><h1>処理モデル</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[25]</anchor-end> <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Expires:</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>の有無は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応答</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キャッシュ</anchor>に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">蓄積</anchor>できるかに影響します。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">詳しくは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キャッシュ可能性</anchor>を参照。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="27" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[27]</anchor-end> <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Expires:</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>の値は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">新鮮寿命</anchor>の計算に影響します。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">詳しくは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">新鮮寿命</anchor>を参照。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="31" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[31]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キャッシュ</anchor>である<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">受信者</anchor>は、 <code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP-date</anchor></code>
より扱える<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">時刻</anchor>の精度が低い場合、指定された<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">時刻</anchor>と同じかそれより前の直近の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">時刻</anchor>を内部的に用いるべきです
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;26</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="34" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[34]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キャッシュ</anchor>である<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">受信者</anchor>は、「<code class="HTTP">0</code>」を含む構文的に正しくない値を過去の日付が指定されたものと解釈しなければ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></anchor>
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;28</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="33" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[33]</anchor-end> 複数<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>がある場合については、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">新鮮寿命</anchor>を参照。</p></section><section><h1>歴史</h1><section><h1>ネットニュース</h1><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="35" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[35]</anchor-end> RFC 1036 2.2.4.  Expires</figcaption><blockquote><p>This line, if present, is in a legal USENET date format.  It
specifies a suggested expiration date for the message.  If not
present, the local default expiration date is used.  This field is
intended to be used to clean up messages with a limited usefulness,
or to keep important messages around for longer than usual.  For
example, a message announcing an upcoming seminar could have an
expiration date the day after the seminar, since the message is not
useful after the seminar is over.  Since local hosts have local
policies for expiration of news (depending on available disk space,
for instance), users are discouraged from providing expiration dates
for messages unless there is a natural expiration date associated
with the topic.  System software should almost never provide a
default &quot;Expires&quot; line.  Leave it out and allow local policies to be
used unless there is a good reason not to.</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> この行は、これを使う場合、妥当な <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">USENET</anchor> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日付形式</anchor>で書きます。
そのメッセージの期限切れ日として希望する日を指定します。
この行が無い場合は、 local の既定の期限切れ日が使われます。
この欄は限定的に有用なメッセージを消去したり、重要なメッセージを普通より長めに残しておくのに使われます。
例えば、近日行われる講習会のお知らせメッセージは講習会が過ぎれば有用ではないので、講習会の次の日を期限とすることが出来ます。
Local ホストはニュースの期限に関して local の方針
(例えば利用可能な disk の空きに基づく。) 
があるので、利用者は話題に関する自然な期限切れ日があるのではない限り、期限切れ日を指定するのは避けるのがよいです。
処理系ソフトウェアは既定の <code class="ABNF">&quot;Expires&quot;</code> (期限切れ)
行をほとんど絶対に用意しておかないのが良いです。
この行を適切な理由が無い限り使わずに、 local の方針が使われるようにして下さい。</p></figure></section><section><h1>HTTP</h1><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[36]</anchor-end> RFC 1945 (HTTP/1.0) 10.7; RFC 2068 (HTTP/1.1) 14.21 Expires</figcaption><insert xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml">編注 : <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1945</anchor> の段落は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.1</anchor> RFC にあわせて適当にぶったぎってます。</p></insert><blockquote><p>The Expires entity-header field gives the date/time after which 
the <del><ins>{1945}</ins> entity</del> <ins><ins>{2068}</ins> response</ins> <del><ins>{2068}</ins> should be</del> <ins><ins>{2616}</ins> is</ins> considered stale. <del><ins>{1945}</ins> This allows information providers to suggest the volatility of the resource, or a date after which the information may no longer be valid. Applications must not cache this entity beyond the date given.</del> <ins><ins>{2068}</ins> A stale cache entry may not normally be returned by a cache (either a proxy cache or a<del>n <ins>{2616}</ins></del> user agent cache) unless it is first validated with the origin server (or with an intermediate cache that has a fresh copy of the entity). See section 13.2 for further discussion of the expiration model.</ins></p></blockquote><p><code class="HTTP">Expires</code> 実体頭欄は、
その後はその応答が腐っているとみなす日付・時刻を与えます。 <del>これによって情報提供者が資源の揮発性やそれを過ぎるとその情報がもはや妥当ではなくなるかもしれない日付を提案できます。応用はこの実体を与えられた日付を超えてキャッシュしてはなりません。</del> <ins>腐ったキャッシュ項目は通常は (まず起源サーバー (またはその実体の新鮮な複製を持っている中間キャッシュ) により検証しない限り) キャッシュ (串キャッシュも利用者エージェントキャッシュも。) は返してはいけません。期限切れ模型についての詳しい話題は 13.2 節を参照。</ins></p><blockquote><p>The presence of an Expires field does not imply that the original
resource will change or cease to exist at, before, or after that time. <del><ins>{1945}</ins> However, information providers that know or even suspect that a resource will change by a certain date should include an Expires header with that date.</del></p></blockquote><p><code class="HTTP">Expires</code> 欄が示されていることは元の資源がその時刻の時点又は前後に変更されたり消滅したりすることを暗示するものではありません。 <del>しかし、ある日付に資源が変更されることを知っているか、その可能性があると思われる場合でも、情報提供者はその日付を <code class="HTTP">Expires</code> 頭に含めるべきです。</del></p><blockquote><p>The format is an absolute date and time as defined by HTTP-date in Section 3.3<ins>.1 <ins>{2616}</ins></ins><del>. <ins>{1945}</ins></del><ins>; it MUST be in <del>RFC1123-date <ins>{2068}</ins></del> <ins>RFC 1123 date <ins>{2616}</ins></ins> format: <ins>{2068}</ins></ins></p><ul><li>Expires = &quot;Expires&quot; &quot;:&quot; HTTP-date</li></ul></blockquote><blockquote><p>An example of its use is</p></blockquote><blockquote><ul><li>Expires: Thu, 01 Dec 1994 16:00:00 GMT</li></ul></blockquote><insert xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><blockquote xmlns="http://www.w3.org/1999/xhtml"><p><ins>{2068}</ins> Note: if a response includes a Cache-Control field with the max-age
directive <ins>(see section 14.9.3)</ins>, that directive overrides the Expires field.</p></blockquote><p xmlns="http://www.w3.org/1999/xhtml">注意 : 応答が <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">max-age</anchor></code> 指令つきの <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Cache-Control</anchor></code> 欄を含んでいる時は、その指令が <code class="HTTP">Expires</code> 欄を上書きします。</p></insert><delete xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><blockquote xmlns="http://www.w3.org/1999/xhtml"><p><ins>{1945}</ins> If the date given is equal to or earlier than the value of the Date
header, the recipient must not cache the enclosed entity. If a
resource is dynamic by nature, as is the case with many data-producing processes, entities from that resource should be given an
appropriate Expires value which reflects that dynamism.
The Expires field cannot be used to force a user agent to refresh its
display or reload a resource; its semantics apply only to caching
mechanisms, and such mechanisms need only check a resource's
expiration status when a new request for that resource is initiated.</p></blockquote><p xmlns="http://www.w3.org/1999/xhtml">与えられた日付が <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Date</anchor></code> 頭の値と等しいか、又はそれ以前であるときは、
受信者は囲まれた実体をキャッシュしてはなりません。
多くのデータ生産過程の場合のように資源が本質的に動的なものであるなら、
その資源からの実体はその動的性を反映した適切な <code class="HTTP">Expires</code>
値を与えるべきです。 <code class="HTTP">Expires</code> 欄は利用者エージェントがその表示を再描画したり資源を再読み込みしたりするのを強制するためには使えません。
<code class="HTTP">Expires</code> 欄の意味はキャッシュ機構にのみ適用され、
その機構はその資源に対する新しい要求が初期化されるときに資源の期限切れ状態を検査する必要があるだけです。</p><blockquote xmlns="http://www.w3.org/1999/xhtml"><p>User agents often have history mechanisms, such as &quot;Back&quot; buttons and
history lists, which can be used to redisplay an entity retrieved
earlier in a session. By default, the Expires field does not apply to
history mechanisms. If the entity is still in storage, a history
mechanism should display it even if the entity has expired, unless
the user has specifically configured the agent to refresh expired
history documents.</p></blockquote><p xmlns="http://www.w3.org/1999/xhtml">利用者エージェントはよく「戻る」ボタンや履歴一覧のような履歴機構を持っていて、
セッション中で前に取り出した実体を再表示するのに使うことができます。
既定では、 <code class="HTTP">Expires</code> 欄は履歴機構には適用されません。
実体が依然蓄積装置中にあれば、利用者が期限切れ履歴文書を再描画するようにエージェントをわざわざ設定していない限り、
履歴機構はその実体が期限切れになっていてもそれを表示するべきです。</p><blockquote xmlns="http://www.w3.org/1999/xhtml"><p>Note: Applications are encouraged to be tolerant of bad or
misinformed implementations of the Expires header. A value of zero
(0) or an invalid date format should be considered equivalent to
an &quot;expires immediately.&quot; Although these values are not legitimate
for HTTP/1.0, a robust implementation is always desirable.</p></blockquote><p xmlns="http://www.w3.org/1999/xhtml">注意 : 応用は <code class="HTTP">Expires</code> 
頭の悪い間違った実装に慣用であることを推奨します。値零 (<code class="HTTP">0</code>)
や不当な日付書式は「即座に期限切れ」と同等と考えるべきです。
これらの値は HTTP/1.0 的には正しくありませんが、頑強な実装が常に望ましいです。</p></delete><insert xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><blockquote xmlns="http://www.w3.org/1999/xhtml"><p><ins>{2068}</ins> HTTP/1.1 clients and caches MUST treat other invalid date formats,
especially including the value &quot;0&quot;, as in the past (i.e., &quot;already expired&quot;).</p></blockquote><p xmlns="http://www.w3.org/1999/xhtml">HTTP/1.1 クライアントや HTTP/1.1 キャッシュは、
他の不正な日付書式、特に値 <code class="HTTP">0</code> を、
過去である (つまり「既に期限切れである」) として扱わなければ<strong>なりません</strong>。</p><blockquote xmlns="http://www.w3.org/1999/xhtml"><p>To mark a response as &quot;already expired,&quot; an origin server <del><ins>{2068}</ins> should use</del> <ins><ins>{2616}</ins>] sends</ins>
an Expires date that is equal to the Date header value. (See the
rules for expiration calculations in section 13.2.4.)</p></blockquote><p xmlns="http://www.w3.org/1999/xhtml">応答を「既に期限切れである」としてマークするには、
起源サーバーは <code class="HTTP">Date</code> 頭値と等しい <code class="HTTP">Expires</code>
日付を送ります。 (期限切れ計算規則については 13.2.4 節を参照。)</p><blockquote xmlns="http://www.w3.org/1999/xhtml"><p>To mark a response as &quot;never expires,&quot; an origin server <del><ins>{2068}</ins> should use</del> <ins><ins>{2616}</ins> sends</ins> an
Expires date approximately one year from the time the response is
sent.  HTTP/1.1 servers <del><ins>{2068}</ins> should not</del> <ins><ins>{2616}</ins> SHOULD NOT</ins> send Expires dates more than one
year in the future.</p></blockquote><p xmlns="http://www.w3.org/1999/xhtml">応答を「絶対に期限切れしない」とマークするには、
起源サーバーは応答が送信された時刻からほぼ1年後の <code class="HTTP">Expires</code>
日付を送ります。 HTTP/1.1 サーバーは1年よりも将来の <code class="HTTP">Expires</code>
日付を送る<strong>べきではありません</strong>。</p><blockquote xmlns="http://www.w3.org/1999/xhtml"><p>The presence of an Expires header field with a date value of some
time in the future on a<del>n <ins>{2616}</ins></del> response that otherwise would by default be
non-cacheable <ins>({2068,2616} ママ)</ins> indicates that the response is cach<ins>e</ins>able, unless
indicated otherwise by a Cache-Control header field (section 14.9).</p></blockquote><p xmlns="http://www.w3.org/1999/xhtml">幾らか将来の日付値の <code class="HTTP">Expires</code> 頭欄がそうでなければ既定ではキャッシュ可能ではない応答にあることは、
その応答が <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Cache-Control</anchor></code> 頭欄で別途示されていない限り、
その応答がキャッシュ可能であることを示します。</p></insert></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[37]</anchor-end> RFC 2326 (RTSP/1.0) 12.19 Expires</figcaption><blockquote><p>The Expires entity-header field gives a date and time after which the
description or media-stream should be considered stale. The
interpretation depends on the method:</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> Expires 実体頭欄は、記述又は媒体 stream
が腐ったと見なすのが良い日付と時刻を指定します。
解釈は方式に依存します。</p><blockquote><p>DESCRIBE response:</p><p>The Expires header indicates a date and time after which the
description should be considered stale.</p></blockquote><dl><dt>DESCRIBE 応答</dt><dd>Expires 頭欄は、これを過ぎたら記述が腐ったと見なすのがよい日付と時刻を示します。</dd></dl><blockquote><p>A stale cache entry may not normally be returned by a cache (either a
proxy cache or an user agent cache) unless it is first validated with
the origin server (or with an intermediate cache that has a fresh
copy of the entity). See section 13 for further discussion of the
expiration model.</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> 腐ったキャッシュ項目は通常キャッシュ 
(串キャッシュであれ利用者エージェント・キャッシュであれ)
から返してはいけません。但し初めに元サーバー
(又は実体の新鮮な複製を持つ中間キャッシュ)
に確認した場合を除きます。期限切れモデルの詳しい話は13章を参照して下さい。</p><blockquote><p>The presence of an Expires field does not imply that the original
resource will change or cease to exist at, before, or after that
time.</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> Expires 欄が存在することは、その時刻の前後において元資源が変更されたり存在しなくなったりすることを強制するものではありません。</p><blockquote><p>The format is an absolute date and time as defined by HTTP-date in
[H3.3]; it MUST be in RFC1123-date format:</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> 書式は [H3.3] で <code class="ABNF">HTTP-date</code> 
として定義されている絶対日時で、 <code class="ABNF">RFC1123-date</code>
形式で<strong>なければなりません</strong>。</p><blockquote><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end>   Expires = &quot;Expires&quot; &quot;:&quot; HTTP-date</li></ul></blockquote><blockquote><p>An example of its use is<ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end>     Expires: Thu, 01 Dec 1994 16:00:00 GMT</li></ul></p></blockquote><blockquote><p>RTSP/1.0 clients and caches MUST treat other invalid date formats,
especially including the value &quot;0&quot;, as having occurred in the past
(i.e., &quot;already expired&quot;).</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> RTSP/1.0 クライアント及びキャッシュは他の不正な日付形式,
特に値 <code class="ABNF">&quot;0&quot;</code> で過去に起こった (つまり「既に期限切れ」)
を示すものを取り扱え<strong>なければなりません</strong>。</p><blockquote><p>To mark a response as &quot;already expired,&quot; an origin server should use
an Expires date that is equal to the Date header value. To mark a
response as &quot;never expires,&quot; an origin server should use an Expires
date approximately one year from the time the response is sent.
RTSP/1.0 servers should not send Expires dates more than one year in
the future.</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> 「既に期限切れ」と応答に記すのに、元サーバーは Date
頭の値と等しい Expires 日付を使うのが良いです。
応答を「絶対期限切れしない」と記すのに、元サーバーは Expires
日付を応答が送られた時刻から大体1年後にするのが良いです。
RTSP/1.0 サーバーは1年以上将来の Expires
日付を送らないのが良いです。</p><blockquote><p>The presence of an Expires header field with a date value of some
time in the future on a media stream that otherwise would by default
be non-cacheable indicates that the media stream is cacheable, unless
indicated otherwise by a Cache-Control header field (Section 12.8).</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> 将来のいつかの時刻値が入った Expires 
頭欄が、これが存在しなければ既定ではキャッシュ不能である媒体 stream
に存在すれば、この媒体 stream は Cache-Control
頭欄で別段の指定がない限りはキャッシュ可能であることを示します。</p></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[38]</anchor-end> RFC 2295 (HTTP 透過内容折衝) 10.7 Adding an Expires header for HTTP/1.0 compatibility</figcaption><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end></p><blockquote><p>To ensure compatibility with HTTP/1.0 caching proxies which do not
recognize the Vary header, an Expires header with a date in the past
can be added to the response, for example</p></blockquote><p><code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Vary</anchor></code> 頭を認識しない HTTP/1.0 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キャッシュ串</anchor>との互換性を確保するため、
応答に過去の日付の <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Expires</anchor></code> 頭、例えば</p><blockquote><ul><li>Expires: Thu, 01 Jan 1980 00:00:00 GMT</li></ul></blockquote><p>を加えることが出来ます。</p><blockquote><p>If this is done by an origin server, the server SHOULD usually also
include a Cache-Control header for the benefit of HTTP/1.1 caches, for example</p></blockquote><p><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">起点鯖</anchor>がこれを行う場合は、鯖は通常 HTTP/1.1 
キャッシュの便宜から、例えば</p><blockquote><ul><li>Cache-Control: max-age=604800</li></ul></blockquote><blockquote><p>which overrides the freshness lifetime of zero seconds specified by
the included Expires header.</p></blockquote><p>のような <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Cache-Control</anchor></code> 頭をも含めて、
<code class="HTTP">Expires</code> 頭を含めたことによって指定された零秒の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">新鮮寿命</anchor>を上書きする<strong>べきです</strong>。</p><blockquote><p>Note: This specification only claims downwards compatibility with
the HTTP/1.0 proxy caches which implement the HTTP/1.0
specification [2].  Some legacy proxy caches which return the
HTTP/1.0 protocol version number do not honor the HTTP/1.0 Expires
header as specified in [2].  Methods for achieving compatibility
with such proxy caches are beyond the scope of this specification.</p></blockquote><p>注意 : この仕様書は HTTP/1.0 仕様書を実装する HTTP/1.0
串キャッシュとの後方互換性を主張するだけです。
HTTP/1.0 プロトコル版番号を返す遺産的串キャッシュの中には 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1945</anchor> で規定されている HTTP/1.0 <code class="HTTP">Expires</code> 
頭を尊重しないものもあります。
そのような串キャッシュとの後方互換性の達成の方法はこの仕様書の適用範囲外です。</p></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="41" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[41]</anchor-end> かつては <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Expires:</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>の値は1年以内であることが求められていましたが、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 7234</anchor>
では撤廃されています <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;28</anchor-internal></src>。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="42" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[42]</anchor-end> 実際には以前から1年より先の日付、例えば2033年などが指定されることはよくありました。</comment-p></section><section><h1>HTML</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="56" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[56]</anchor-end> 
<cite xml:lang="EN-US">Web Workshop - Frequently Asked Questions About HTML Coding for Internet Explorer</cite>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Microsoft Corporation</anchor>, <time>2024-09-26T15:27:44.000Z</time>, <time>2000-12-03T23:40:52.019Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://web.archive.org/web/20001203232800/http://msdn.microsoft.com/workshop/Author/ie3html/HTMLFAQ1.asp">https://web.archive.org/web/20001203232800/http://msdn.microsoft.com/workshop/Author/ie3html/HTMLFAQ1.asp</anchor-external></p></section></section><section><h1>関連</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="39" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[39]</anchor-end> <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Cache-Control:</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>の
<code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">max-age</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キャッシュ指令</anchor>や
<code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">s-maxage</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キャッシュ指令</anchor>がある場合、
そちらが優先します <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;28</anchor-internal></src>。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">満期時刻</anchor>を参照。</comment-p></section><section><h1>メモ</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;7</anchor-internal> なら仕様に (<code class="ABNF">obs-Expires</code> とでもして)
入れとけ、と思うな。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> <code class="HTML">&lt;<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">meta</anchor></code> <code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">http-equiv</anchor></code>=&quot;Expires&quot; <code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">content</anchor></code>=&quot;-1&quot;&gt;</code>
みたいなふざけたのを平気で人にすすめる様な輩もいる。天罰でも食らえ。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;10</anchor-internal> たぶん <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;7</anchor-internal> で言いたいことのポイントって、
「不正な形式は期限切れとみなせ」だと思う。 
<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;14</anchor-internal> みたいな阿呆も救済したれと。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;14</anchor-internal>-15 実はなんと <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">M$</anchor> が <code class="HTTP">-1</code> を推奨してます! 
それも、 <code class="HTTP">Cache-Control: no-cache</code> よりも 
<code class="HTTP">Expires: -1</code> の方が望ましいのとか(w :
<em>Q234067 - HOWTO: Prevent Caching in Internet Explorer</em> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://web.archive.org/web/20010810040821/support.microsoft.com/support/kb/articles/Q234/0/67.ASP">http://web.archive.org/web/20010810040821/support.microsoft.com/support/kb/articles/Q234/0/67.ASP</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> 
<q><code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Date</anchor></code> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1123の日付形式</anchor>だけど <code class="HTTP">Expires</code> には <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 850の日付形式</anchor>を使います</q>
なんて無根拠の嘘八百を平気で教えている糞解説サイトがあります。
騙されないように!</p><p><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> は常に RFC 1123 を基にした形式を推奨しています。
詳しくは <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPの日付形式</anchor>を参照してください。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end>
<cite>iGoogle</cite> (<code>2007-07-28 14:53:07 +09:00</code> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.google.co.jp/ig?hl=ja">http://www.google.co.jp/ig?hl=ja</anchor-external></p><blockquote><pre class="HTTP example bad code">Expires: -1</pre></blockquote><p>(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2007-07-28 05:57:16 +00:00</weak>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end>
<cite xml:lang="ja">DUOGATE デュオゲート - 地図・乗換</cite> (<code>2007-08-02 21:41:54 +09:00</code> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://eznavi.duogate.jp/map/?ctl=8121&amp;box=off">http://eznavi.duogate.jp/map/?ctl=8121&amp;box=off</anchor-external></p><blockquote><pre class="HTML example code">&lt;META HTTP-EQUIV=&quot;Expires&quot; content=&quot;Sun,6 Jun 2006 00:00:00 GMT&quot;&gt;</pre></blockquote><p><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">読点</anchor>のあとに<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空白</anchor>がない例は珍しいかなと思いまして。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> <cite>Apache HTTP Server Project</cite>
( (<time>2011-05-28 00:58:55 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://httpd.apache.org/docs/1.3/misc/known_client_problems.html#msie-cookie-y2k">http://httpd.apache.org/docs/1.3/misc/known_client_problems.html#msie-cookie-y2k</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> <cite xml:lang="ja">cookieのexpireがブラウザにより異なる - 昼間のメモ</cite>
( (<time>2012-06-20 01:48:16 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://blog.goo.ne.jp/hiuchida/e/1da4b676a699206c7e26e7b5edee1443">http://blog.goo.ne.jp/hiuchida/e/1da4b676a699206c7e26e7b5edee1443</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> <cite xml:lang="Ja">cookieの書式 / <strong></strong>[<strong></strong>network<strong></strong>]<strong></strong><strong>[</strong>HTTP<strong>]</strong> | 戯術者の日記</cite>
( (<time>2012-06-20 01:50:39 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.jp-z.jp/changelog/2004-11-12-2.html">http://www.jp-z.jp/changelog/2004-11-12-2.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> <cite xml:lang="en">Leverage Browser Caching - PageSpeed Insights — Google Developers</cite>
( (<time>2013-07-22 23:43:00 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://developers.google.com/speed/docs/insights/LeverageBrowserCaching">https://developers.google.com/speed/docs/insights/LeverageBrowserCaching</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end> <cite xml:lang="en">RFC 3507 - Internet Content Adaptation Protocol (ICAP)</cite>
( (<time>2014-06-08 07:17:07 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc3507#section-4.3.1">http://tools.ietf.org/html/rfc3507#section-4.3.1</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="305" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[305]</anchor-end> <cite xml:lang="ja-JP"><strong></strong>[<strong></strong>HOWTO<strong></strong>]<strong></strong> Internet Explorer でキャッシュを無効にする</cite>
( (<time>2014-09-23 13:01:31 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://support.microsoft.com/kb/234067">http://support.microsoft.com/kb/234067</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[55]</anchor-end> <cite xml:lang="EN-US">Tips and Tricks</cite>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">InetSDK</anchor>, <time>2024-08-17T06:04:49.000Z</time>, <time>2000-10-19T16:44:06.817Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://web.archive.org/web/20001019164042/http://msdn.microsoft.com/workshop/author/dhtml/reference/tips/tips.asp#Preventing_a_Documen">https://web.archive.org/web/20001019164042/http://msdn.microsoft.com/workshop/author/dhtml/reference/tips/tips.asp#Preventing_a_Documen</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="306" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[306]</anchor-end> <cite xml:lang="en">RFC 5536 - Netnews Article Format</cite>
( (<time>2014-09-21 18:14:06 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc5536#section-3.2.5">http://tools.ietf.org/html/rfc5536#section-3.2.5</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="54" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[54]</anchor-end> <cite xml:lang="ja">ブラウザのキャッシュを活用する  |  PageSpeed Insights  |  Google Developers</cite>
(<time>2014-04-12 05:27:25 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://developers.google.com/speed/docs/insights/LeverageBrowserCaching">https://developers.google.com/speed/docs/insights/LeverageBrowserCaching</anchor-external></figcaption><blockquote><p>Expires を 1 週間以上、できれば最大で 1 年間先に設定します(より広くサポートされているため、Cache-Control: max-age よりも Expires をおすすめします)。RFC のガイドラインに違反するので、1 年以上先には設定しないでください。</p></blockquote></figure></section></body></html>