Changeset 2166


Ignore:
Timestamp:
Jan 27, 2013, 2:46:43 AM (7 years ago)
Author:
fielding@…
Message:

Indicate certain status codes as cacheable by default instead of heuristics allowed; Use requirement on heuristics to allow them to be used only when cacheable by default or indicated as cacheable via public directive; Addresses #223

Location:
draft-ietf-httpbis/latest
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • draft-ietf-httpbis/latest/p2-semantics.html

    r2163 r2166  
    449449  }
    450450  @bottom-center {
    451        content: "Expires July 29, 2013";
     451       content: "Expires July 31, 2013";
    452452  }
    453453  @bottom-right {
     
    494494      <meta name="dct.creator" content="Reschke, J. F.">
    495495      <meta name="dct.identifier" content="urn:ietf:id:draft-ietf-httpbis-p2-semantics-latest">
    496       <meta name="dct.issued" scheme="ISO8601" content="2013-01-25">
     496      <meta name="dct.issued" scheme="ISO8601" content="2013-01-27">
    497497      <meta name="dct.replaces" content="urn:ietf:rfc:2616">
    498498      <meta name="dct.abstract" content="The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypertext information systems. This document defines the semantics of HTTP/1.1 messages, as expressed by request methods, request header fields, response status codes, and response header fields, along with the payload of messages (metadata and body content) and mechanisms for content negotiation.">
     
    522522            <tr>
    523523               <td class="left">Intended status: Standards Track</td>
    524                <td class="right">January 25, 2013</td>
     524               <td class="right">January 27, 2013</td>
    525525            </tr>
    526526            <tr>
    527                <td class="left">Expires: July 29, 2013</td>
     527               <td class="left">Expires: July 31, 2013</td>
    528528               <td class="right"></td>
    529529            </tr>
     
    553553         in progress”.
    554554      </p>
    555       <p>This Internet-Draft will expire on July 29, 2013.</p>
     555      <p>This Internet-Draft will expire on July 31, 2013.</p>
    556556      <h1><a id="rfc.copyrightnotice" href="#rfc.copyrightnotice">Copyright Notice</a></h1>
    557557      <p>Copyright © 2013 IETF Trust and the persons identified as the document authors. All rights reserved.</p>
     
    23972397      </div>
    23982398      <p id="rfc.section.6.1.p.2">Note that this list is not exhaustive — it does not include extension status codes defined in other specifications.</p>
     2399      <p id="rfc.section.6.1.p.3">Responses with status codes that are defined as cacheable by default (e.g., 200, 203, 206, 300, 301, and 410 in this specification)
     2400         can be reused by a cache with heuristic expiration unless otherwise indicated by the method definition or explicit cache controls <a href="#Part6" id="rfc.xref.Part6.10"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a>; all other status codes are not cacheable by default.
     2401      </p>
    23992402      <h2 id="rfc.section.6.2"><a href="#rfc.section.6.2">6.2</a>&nbsp;<a id="status.1xx" href="#status.1xx">Informational 1xx</a></h2>
    24002403      <div id="rfc.iref.72"></div>
     
    24582461         200 response header block.
    24592462      </p>
    2460       <p id="rfc.section.6.3.1.p.3">Caches <em class="bcp14">MAY</em> use a heuristic (see <a href="p6-cache.html#heuristic.freshness" title="Calculating Heuristic Freshness">Section 4.1.2</a> of <a href="#Part6" id="rfc.xref.Part6.10"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a>) to determine freshness for 200 responses.
     2463      <p id="rfc.section.6.3.1.p.3">A 200 response is cacheable unless otherwise indicated by the method definition or explicit cache controls (see <a href="p6-cache.html#heuristic.freshness" title="Calculating Heuristic Freshness">Section 4.1.2</a> of <a href="#Part6" id="rfc.xref.Part6.11"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a>).
    24612464      </p>
    24622465      <div id="rfc.iref.74"></div>
     
    24852488         applicable along the same request path (through the same proxies).
    24862489      </p>
    2487       <p id="rfc.section.6.3.4.p.2">The 203 response is similar to the Warning code of 214 Transformation Applied (<a href="p6-cache.html#header.warning" title="Warning">Section 7.5</a> of <a href="#Part6" id="rfc.xref.Part6.11"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a>), which has the advantage of being applicable to responses with any status code.
     2490      <p id="rfc.section.6.3.4.p.2">The 203 response is similar to the Warning code of 214 Transformation Applied (<a href="p6-cache.html#header.warning" title="Warning">Section 7.5</a> of <a href="#Part6" id="rfc.xref.Part6.12"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a>), which has the advantage of being applicable to responses with any status code.
     2491      </p>
     2492      <p id="rfc.section.6.3.4.p.3">A 203 response is cacheable unless otherwise indicated by the method definition or explicit cache controls (see <a href="p6-cache.html#heuristic.freshness" title="Calculating Heuristic Freshness">Section 4.1.2</a> of <a href="#Part6" id="rfc.xref.Part6.13"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a>).
    24882493      </p>
    24892494      <div id="rfc.iref.74"></div>
     
    25682573         for such automatic selection.
    25692574      </p>
    2570       <p id="rfc.section.6.4.1.p.4">Caches <em class="bcp14">MAY</em> use a heuristic (see <a href="p6-cache.html#heuristic.freshness" title="Calculating Heuristic Freshness">Section 4.1.2</a> of <a href="#Part6" id="rfc.xref.Part6.12"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a>) to determine freshness for 300 responses.
     2575      <p id="rfc.section.6.4.1.p.4">A 300 response is cacheable unless otherwise indicated by the method definition or explicit cache controls (see <a href="p6-cache.html#heuristic.freshness" title="Calculating Heuristic Freshness">Section 4.1.2</a> of <a href="#Part6" id="rfc.xref.Part6.14"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a>).
    25712576      </p>
    25722577      <div class="note" id="rfc.section.6.4.1.p.5">
     
    25902595         </p>
    25912596      </div>
    2592       <p id="rfc.section.6.4.2.p.4">Caches <em class="bcp14">MAY</em> use a heuristic (see <a href="p6-cache.html#heuristic.freshness" title="Calculating Heuristic Freshness">Section 4.1.2</a> of <a href="#Part6" id="rfc.xref.Part6.13"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a>) to determine freshness for 301 responses.
     2597      <p id="rfc.section.6.4.2.p.4">A 301 response is cacheable unless otherwise indicated by the method definition or explicit cache controls (see <a href="p6-cache.html#heuristic.freshness" title="Calculating Heuristic Freshness">Section 4.1.2</a> of <a href="#Part6" id="rfc.xref.Part6.15"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a>).
    25932598      </p>
    25942599      <div id="rfc.iref.75"></div>
     
    27132718         any length of time — that is left to the discretion of the server owner.
    27142719      </p>
    2715       <p id="rfc.section.6.5.9.p.3">Caches <em class="bcp14">MAY</em> use a heuristic (see <a href="p6-cache.html#heuristic.freshness" title="Calculating Heuristic Freshness">Section 4.1.2</a> of <a href="#Part6" id="rfc.xref.Part6.14"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a>) to determine freshness for 410 responses.
     2720      <p id="rfc.section.6.5.9.p.3">A 410 response is cacheable unless otherwise indicated by the method definition or explicit cache controls (see <a href="p6-cache.html#heuristic.freshness" title="Calculating Heuristic Freshness">Section 4.1.2</a> of <a href="#Part6" id="rfc.xref.Part6.16"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a>).
    27162721      </p>
    27172722      <div id="rfc.iref.76"></div>
     
    28212826               <tr>
    28222827                  <td class="left">Age</td>
    2823                   <td class="left"><a href="p6-cache.html#header.age" title="Age">Section 7.1</a> of <a href="#Part6" id="rfc.xref.Part6.15"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a></td>
     2828                  <td class="left"><a href="p6-cache.html#header.age" title="Age">Section 7.1</a> of <a href="#Part6" id="rfc.xref.Part6.17"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a></td>
    28242829               </tr>
    28252830               <tr>
    28262831                  <td class="left">Cache-Control</td>
    2827                   <td class="left"><a href="p6-cache.html#header.cache-control" title="Cache-Control">Section 7.2</a> of <a href="#Part6" id="rfc.xref.Part6.16"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a></td>
     2832                  <td class="left"><a href="p6-cache.html#header.cache-control" title="Cache-Control">Section 7.2</a> of <a href="#Part6" id="rfc.xref.Part6.18"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a></td>
    28282833               </tr>
    28292834               <tr>
    28302835                  <td class="left">Expires</td>
    2831                   <td class="left"><a href="p6-cache.html#header.expires" title="Expires">Section 7.3</a> of <a href="#Part6" id="rfc.xref.Part6.17"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a></td>
     2836                  <td class="left"><a href="p6-cache.html#header.expires" title="Expires">Section 7.3</a> of <a href="#Part6" id="rfc.xref.Part6.19"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a></td>
    28322837               </tr>
    28332838               <tr>
     
    28492854               <tr>
    28502855                  <td class="left">Warning</td>
    2851                   <td class="left"><a href="p6-cache.html#header.warning" title="Warning">Section 7.5</a> of <a href="#Part6" id="rfc.xref.Part6.18"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a></td>
     2856                  <td class="left"><a href="p6-cache.html#header.warning" title="Warning">Section 7.5</a> of <a href="#Part6" id="rfc.xref.Part6.20"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a></td>
    28522857               </tr>
    28532858            </tbody>
     
    30433048         <li>
    30443049            <p>To inform cache recipients that they <em class="bcp14">MUST NOT</em> use this response to satisfy a later request unless the later request has the same values for the listed fields as the original
    3045                request (<a href="p6-cache.html#caching.negotiated.responses" title="Using Negotiated Responses">Section 4.3</a> of <a href="#Part6" id="rfc.xref.Part6.19"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a>). In other words, Vary expands the cache key required to match a new request to the stored cache entry.
     3050               request (<a href="p6-cache.html#caching.negotiated.responses" title="Using Negotiated Responses">Section 4.3</a> of <a href="#Part6" id="rfc.xref.Part6.21"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a>). In other words, Vary expands the cache key required to match a new request to the stored cache entry.
    30463051            </p>
    30473052         </li>
     
    30553060         other than the method and request target, unless the variance cannot be crossed or the origin server has been deliberately
    30563061         configured to prevent cache transparency. For example, there is no need to send the Authorization field name in Vary because
    3057          reuse across users is constrained by the field definition (<a href="p7-auth.html#header.authorization" title="Authorization">Section 4.1</a> of <a href="#Part7" id="rfc.xref.Part7.8"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Authentication">[Part7]</cite></a>). Likewise, an origin server might use Cache-Control directives (<a href="p6-cache.html#header.cache-control" title="Cache-Control">Section 7.2</a> of <a href="#Part6" id="rfc.xref.Part6.20"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a>) to supplant Vary if it considers the variance less significant than the performance cost of Vary's impact on caching.
     3062         reuse across users is constrained by the field definition (<a href="p7-auth.html#header.authorization" title="Authorization">Section 4.1</a> of <a href="#Part7" id="rfc.xref.Part7.8"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Authentication">[Part7]</cite></a>). Likewise, an origin server might use Cache-Control directives (<a href="p6-cache.html#header.cache-control" title="Cache-Control">Section 7.2</a> of <a href="#Part6" id="rfc.xref.Part6.22"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a>) to supplant Vary if it considers the variance less significant than the performance cost of Vary's impact on caching.
    30583063      </p>
    30593064      <div id="rfc.iref.s.8"></div>
     
    33033308      </p>
    33043309      <p id="rfc.section.8.2.2.p.5">A response that can transfer a payload ought to specify expected cache behavior (e.g., cacheability and freshness criteria,
    3305          as described in <a href="#Part6" id="rfc.xref.Part6.21"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a>) and whether the payload has any implied association with an identified resource (<a href="#identifying.payload" title="Identifying a Representation">Section&nbsp;3.1.4.1</a>).
     3310         as described in <a href="#Part6" id="rfc.xref.Part6.23"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a>) and whether the payload has any implied association with an identified resource (<a href="#identifying.payload" title="Identifying a Representation">Section&nbsp;3.1.4.1</a>).
    33063311      </p>
    33073312      <h3 id="rfc.section.8.2.3"><a href="#rfc.section.8.2.3">8.2.3</a>&nbsp;<a id="status.code.registration" href="#status.code.registration">Registrations</a></h3>
     
    35993604         </li>
    36003605         <li>
    3601             <p>How the header field might interact with caching (see <a href="#Part6" id="rfc.xref.Part6.22"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a>).
     3606            <p>How the header field might interact with caching (see <a href="#Part6" id="rfc.xref.Part6.24"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a>).
    36023607            </p>
    36033608         </li>
     
    46664671                     </ul>
    46674672                  </li>
    4668                   <li><em>Part6</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.1">4.2.3</a>, <a href="#rfc.xref.Part6.2">4.3.1</a>, <a href="#rfc.xref.Part6.3">4.3.2</a>, <a href="#rfc.xref.Part6.4">4.3.2</a>, <a href="#rfc.xref.Part6.5">4.3.3</a>, <a href="#rfc.xref.Part6.6">4.3.4</a>, <a href="#rfc.xref.Part6.7">4.3.5</a>, <a href="#rfc.xref.Part6.8">5.1</a>, <a href="#rfc.xref.Part6.9">5.1</a>, <a href="#rfc.xref.Part6.10">6.3.1</a>, <a href="#rfc.xref.Part6.11">6.3.4</a>, <a href="#rfc.xref.Part6.12">6.4.1</a>, <a href="#rfc.xref.Part6.13">6.4.2</a>, <a href="#rfc.xref.Part6.14">6.5.9</a>, <a href="#rfc.xref.Part6.15">7.1</a>, <a href="#rfc.xref.Part6.16">7.1</a>, <a href="#rfc.xref.Part6.17">7.1</a>, <a href="#rfc.xref.Part6.18">7.1</a>, <a href="#rfc.xref.Part6.19">7.1.4</a>, <a href="#rfc.xref.Part6.20">7.1.4</a>, <a href="#rfc.xref.Part6.21">8.2.2</a>, <a href="#rfc.xref.Part6.22">8.3.1</a>, <a href="#Part6"><b>11.1</b></a><ul>
     4673                  <li><em>Part6</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.1">4.2.3</a>, <a href="#rfc.xref.Part6.2">4.3.1</a>, <a href="#rfc.xref.Part6.3">4.3.2</a>, <a href="#rfc.xref.Part6.4">4.3.2</a>, <a href="#rfc.xref.Part6.5">4.3.3</a>, <a href="#rfc.xref.Part6.6">4.3.4</a>, <a href="#rfc.xref.Part6.7">4.3.5</a>, <a href="#rfc.xref.Part6.8">5.1</a>, <a href="#rfc.xref.Part6.9">5.1</a>, <a href="#rfc.xref.Part6.10">6.1</a>, <a href="#rfc.xref.Part6.11">6.3.1</a>, <a href="#rfc.xref.Part6.12">6.3.4</a>, <a href="#rfc.xref.Part6.13">6.3.4</a>, <a href="#rfc.xref.Part6.14">6.4.1</a>, <a href="#rfc.xref.Part6.15">6.4.2</a>, <a href="#rfc.xref.Part6.16">6.5.9</a>, <a href="#rfc.xref.Part6.17">7.1</a>, <a href="#rfc.xref.Part6.18">7.1</a>, <a href="#rfc.xref.Part6.19">7.1</a>, <a href="#rfc.xref.Part6.20">7.1</a>, <a href="#rfc.xref.Part6.21">7.1.4</a>, <a href="#rfc.xref.Part6.22">7.1.4</a>, <a href="#rfc.xref.Part6.23">8.2.2</a>, <a href="#rfc.xref.Part6.24">8.3.1</a>, <a href="#Part6"><b>11.1</b></a><ul>
    46694674                        <li><em>Section 4.1.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.5">4.3.3</a></li>
    4670                         <li><em>Section 4.1.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.10">6.3.1</a>, <a href="#rfc.xref.Part6.12">6.4.1</a>, <a href="#rfc.xref.Part6.13">6.4.2</a>, <a href="#rfc.xref.Part6.14">6.5.9</a></li>
    4671                         <li><em>Section 4.3</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.19">7.1.4</a></li>
     4675                        <li><em>Section 4.1.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.11">6.3.1</a>, <a href="#rfc.xref.Part6.13">6.3.4</a>, <a href="#rfc.xref.Part6.14">6.4.1</a>, <a href="#rfc.xref.Part6.15">6.4.2</a>, <a href="#rfc.xref.Part6.16">6.5.9</a></li>
     4676                        <li><em>Section 4.3</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.21">7.1.4</a></li>
    46724677                        <li><em>Section 5</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.4">4.3.2</a></li>
    46734678                        <li><em>Section 6</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.6">4.3.4</a>, <a href="#rfc.xref.Part6.7">4.3.5</a></li>
    4674                         <li><em>Section 7.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.15">7.1</a></li>
    4675                         <li><em>Section 7.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.2">4.3.1</a>, <a href="#rfc.xref.Part6.3">4.3.2</a>, <a href="#rfc.xref.Part6.8">5.1</a>, <a href="#rfc.xref.Part6.16">7.1</a>, <a href="#rfc.xref.Part6.20">7.1.4</a></li>
    4676                         <li><em>Section 7.3</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.17">7.1</a></li>
     4679                        <li><em>Section 7.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.17">7.1</a></li>
     4680                        <li><em>Section 7.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.2">4.3.1</a>, <a href="#rfc.xref.Part6.3">4.3.2</a>, <a href="#rfc.xref.Part6.8">5.1</a>, <a href="#rfc.xref.Part6.18">7.1</a>, <a href="#rfc.xref.Part6.22">7.1.4</a></li>
     4681                        <li><em>Section 7.3</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.19">7.1</a></li>
    46774682                        <li><em>Section 7.4</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.9">5.1</a></li>
    4678                         <li><em>Section 7.5</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.11">6.3.4</a>, <a href="#rfc.xref.Part6.18">7.1</a></li>
     4683                        <li><em>Section 7.5</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.12">6.3.4</a>, <a href="#rfc.xref.Part6.20">7.1</a></li>
    46794684                     </ul>
    46804685                  </li>
  • draft-ietf-httpbis/latest/p2-semantics.xml

    r2163 r2166  
    26782678   extension status codes defined in other specifications.
    26792679</t>
     2680<t>
     2681   Responses with status codes that are defined as cacheable by default
     2682   (e.g., 200, 203, 206, 300, 301, and 410 in this specification) can be
     2683   reused by a cache with heuristic expiration unless otherwise indicated by
     2684   the method definition or explicit cache controls &caching;; all other
     2685   status codes are not cacheable by default.
     2686</t>
    26802687</section>
    26812688
     
    28032810</t>
    28042811<t>
    2805    Caches &MAY; use a heuristic (see &p6-heuristic;) to determine
    2806    freshness for 200 responses.
     2812   A 200 response is cacheable unless otherwise indicated by
     2813   the method definition or explicit cache controls (see &p6-heuristic;).
    28072814</t>
    28082815</section>
     
    28662873   Applied (&header-warning;), which has the advantage of being applicable
    28672874   to responses with any status code.
     2875</t>
     2876<t>
     2877   A 203 response is cacheable unless otherwise indicated by
     2878   the method definition or explicit cache controls (see &p6-heuristic;).
    28682879</t>
    28692880</section>
     
    30443055</t>
    30453056<t>
    3046    Caches &MAY; use a heuristic (see &p6-heuristic;) to determine
    3047    freshness for 300 responses.
     3057   A 300 response is cacheable unless otherwise indicated by
     3058   the method definition or explicit cache controls (see &p6-heuristic;).
    30483059</t>
    30493060<x:note>
     
    30893100</x:note>
    30903101<t>
    3091    Caches &MAY; use a heuristic (see &p6-heuristic;) to determine
    3092    freshness for 301 responses.
     3102   A 301 response is cacheable unless otherwise indicated by
     3103   the method definition or explicit cache controls (see &p6-heuristic;).
    30933104</t>
    30943105</section>
     
    33773388</t>
    33783389<t>
    3379    Caches &MAY; use a heuristic (see &p6-heuristic;) to determine freshness
    3380    for 410 responses.
     3390   A 410 response is cacheable unless otherwise indicated by
     3391   the method definition or explicit cache controls (see &p6-heuristic;).
    33813392</t>
    33823393</section>
  • draft-ietf-httpbis/latest/p5-range.html

    r2159 r2166  
    449449  }
    450450  @bottom-center {
    451        content: "Expires July 28, 2013";
     451       content: "Expires July 31, 2013";
    452452  }
    453453  @bottom-right {
     
    492492      <meta name="dct.creator" content="Reschke, J. F.">
    493493      <meta name="dct.identifier" content="urn:ietf:id:draft-ietf-httpbis-p5-range-latest">
    494       <meta name="dct.issued" scheme="ISO8601" content="2013-01-24">
     494      <meta name="dct.issued" scheme="ISO8601" content="2013-01-27">
    495495      <meta name="dct.replaces" content="urn:ietf:rfc:2616">
    496496      <meta name="dct.abstract" content="The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypertext information systems. This document defines range requests and the rules for constructing and combining responses to those requests.">
     
    518518            </tr>
    519519            <tr>
    520                <td class="left">Expires: July 28, 2013</td>
     520               <td class="left">Expires: July 31, 2013</td>
    521521               <td class="right">J. Reschke, Editor</td>
    522522            </tr>
     
    527527            <tr>
    528528               <td class="left"></td>
    529                <td class="right">January 24, 2013</td>
     529               <td class="right">January 27, 2013</td>
    530530            </tr>
    531531         </tbody>
     
    552552         in progress”.
    553553      </p>
    554       <p>This Internet-Draft will expire on July 28, 2013.</p>
     554      <p>This Internet-Draft will expire on July 31, 2013.</p>
    555555      <h1><a id="rfc.copyrightnotice" href="#rfc.copyrightnotice">Copyright Notice</a></h1>
    556556      <p>Copyright © 2013 IETF Trust and the persons identified as the document authors. All rights reserved.</p>
     
    844844         a prior response containing those header fields. Otherwise, the sender <em class="bcp14">MUST</em> generate all of the representation header fields that would have been sent in a <a href="p2-semantics.html#status.200" class="smpl">200 (OK)</a> response to the same request.
    845845      </p>
    846       <p id="rfc.section.4.1.p.12">Caches <em class="bcp14">MAY</em> use a heuristic (see <a href="p6-cache.html#heuristic.freshness" title="Calculating Heuristic Freshness">Section 4.1.2</a> of <a href="#Part6" id="rfc.xref.Part6.1"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a>) to determine freshness for 206 responses.
     846      <p id="rfc.section.4.1.p.12">A 206 response is cacheable unless otherwise indicated by explicit cache controls (see <a href="p6-cache.html#heuristic.freshness" title="Calculating Heuristic Freshness">Section 4.1.2</a> of <a href="#Part6" id="rfc.xref.Part6.1"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a>).
    847847      </p>
    848848      <div id="rfc.iref.c.1"></div>
  • draft-ietf-httpbis/latest/p5-range.xml

    r2159 r2166  
    615615</t>
    616616<t>
    617    Caches &MAY; use a heuristic (see &p6-heuristic;) to determine
    618    freshness for 206 responses.
     617   A 206 response is cacheable unless otherwise indicated by
     618   explicit cache controls (see &p6-heuristic;).
    619619</t>
    620620</section>
  • draft-ietf-httpbis/latest/p6-cache.html

    r2147 r2166  
    452452  }
    453453  @bottom-center {
    454        content: "Expires July 24, 2013";
     454       content: "Expires July 31, 2013";
    455455  }
    456456  @bottom-right {
     
    498498      <meta name="dct.creator" content="Reschke, J. F.">
    499499      <meta name="dct.identifier" content="urn:ietf:id:draft-ietf-httpbis-p6-cache-latest">
    500       <meta name="dct.issued" scheme="ISO8601" content="2013-01-20">
     500      <meta name="dct.issued" scheme="ISO8601" content="2013-01-27">
    501501      <meta name="dct.replaces" content="urn:ietf:rfc:2616">
    502502      <meta name="dct.abstract" content="The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypertext information systems. This document defines requirements on HTTP caches and the associated header fields that control cache behavior or indicate cacheable response messages.">
     
    524524            </tr>
    525525            <tr>
    526                <td class="left">Expires: July 24, 2013</td>
     526               <td class="left">Expires: July 31, 2013</td>
    527527               <td class="right">J. Reschke, Editor</td>
    528528            </tr>
     
    533533            <tr>
    534534               <td class="left"></td>
    535                <td class="right">January 20, 2013</td>
     535               <td class="right">January 27, 2013</td>
    536536            </tr>
    537537         </tbody>
     
    559559         in progress”.
    560560      </p>
    561       <p>This Internet-Draft will expire on July 24, 2013.</p>
     561      <p>This Internet-Draft will expire on July 31, 2013.</p>
    562562      <h1><a id="rfc.copyrightnotice" href="#rfc.copyrightnotice">Copyright Notice</a></h1>
    563563      <p>Copyright © 2013 IETF Trust and the persons identified as the document authors. All rights reserved.</p>
     
    936936      </p>
    937937      <h3 id="rfc.section.4.1.2"><a href="#rfc.section.4.1.2">4.1.2</a>&nbsp;<a id="heuristic.freshness" href="#heuristic.freshness">Calculating Heuristic Freshness</a></h3>
    938       <p id="rfc.section.4.1.2.p.1">If no explicit expiration time is present in a stored response that has a status code whose definition allows heuristic freshness
    939          to be used (including the following in <a href="p2-semantics.html#status.codes" title="Response Status Codes">Section 6</a> of <a href="#Part2" id="rfc.xref.Part2.4"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[Part2]</cite></a>: <a href="p2-semantics.html#status.200" class="smpl">200 (OK)</a>, <a href="p2-semantics.html#status.203" class="smpl">203 (Non-Authoritative Information)</a>, <a href="p5-range.html#status.206" class="smpl">206 (Partial
    940             Content)</a>, <a href="p2-semantics.html#status.300" class="smpl">300 (Multiple Choices)</a>, <a href="p2-semantics.html#status.301" class="smpl">301 (Moved
    941             Permanently)</a> and <a href="p2-semantics.html#status.410" class="smpl">410 (Gone)</a>), a cache <em class="bcp14">MAY</em> calculate a heuristic expiration time. A cache <em class="bcp14">MUST NOT</em> use heuristics to determine freshness for responses with status codes that do not explicitly allow it.
     938      <p id="rfc.section.4.1.2.p.1">A cache <em class="bcp14">MUST NOT</em> use heuristics to determine freshness unless no explicit expiration time is present in a stored response and either the status
     939         code is defined as cacheable by default (including the following in <a href="p2-semantics.html#status.codes" title="Response Status Codes">Section 6</a> of <a href="#Part2" id="rfc.xref.Part2.4"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[Part2]</cite></a>: <a href="p2-semantics.html#status.200" class="smpl">200 (OK)</a>, <a href="p2-semantics.html#status.203" class="smpl">203 (Non-Authoritative
     940            Information)</a>, <a href="p5-range.html#status.206" class="smpl">206 (Partial Content)</a>, <a href="p2-semantics.html#status.300" class="smpl">300
     941            (Multiple Choices)</a>, <a href="p2-semantics.html#status.301" class="smpl">301 (Moved Permanently)</a> and <a href="p2-semantics.html#status.410" class="smpl">410 (Gone)</a>) or the response has been explicitly marked as cacheable (e.g., by using the public directive without a max-age).
    942942      </p>
    943943      <p id="rfc.section.4.1.2.p.2">When a heuristic is used to calculate freshness lifetime, a cache <em class="bcp14">SHOULD</em> attach a <a href="#header.warning" class="smpl">Warning</a> header field with a 113 warn-code to the response if its current_age is more than 24 hours and such a warning is not already
     
    11201120      <p id="rfc.section.4.4.p.1">A response might transfer only a partial representation if the connection closed prematurely or if the request used one or
    11211121         more Range specifiers (<a href="#Part5" id="rfc.xref.Part5.2"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Range Requests">[Part5]</cite></a>). After several such transfers, a cache might have received several ranges of the same representation. A cache <em class="bcp14">MAY</em> combine these ranges into a single stored response, and reuse that response to satisfy later requests, if they all share the
    1122          same strong validator and the cache complies with the client requirements in <a href="p5-range.html#combining.byte.ranges" title="Combining Ranges">Section 4.5</a> of <a href="#Part5" id="rfc.xref.Part5.3"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Range Requests">[Part5]</cite></a>.
     1122         same strong validator and the cache complies with the client requirements in <a href="p5-range.html#combining.byte.ranges" title="Combining Ranges">Section 4.3</a> of <a href="#Part5" id="rfc.xref.Part5.3"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Range Requests">[Part5]</cite></a>.
    11231123      </p>
    11241124      <p id="rfc.section.4.4.p.2">When combining the new response with one or more stored responses, a cache <em class="bcp14">MUST</em>:
     
    21562156                  </li>
    21572157                  <li><em>Part5</em>&nbsp;&nbsp;<a href="#rfc.xref.Part5.1">3.1</a>, <a href="#rfc.xref.Part5.2">4.4</a>, <a href="#rfc.xref.Part5.3">4.4</a>, <a href="#Part5"><b>12.1</b></a><ul>
    2158                         <li><em>Section 4.5</em>&nbsp;&nbsp;<a href="#rfc.xref.Part5.3">4.4</a></li>
     2158                        <li><em>Section 4.3</em>&nbsp;&nbsp;<a href="#rfc.xref.Part5.3">4.4</a></li>
    21592159                     </ul>
    21602160                  </li>
  • draft-ietf-httpbis/latest/p6-cache.xml

    r2109 r2166  
    621621<section anchor="heuristic.freshness" title="Calculating Heuristic Freshness">
    622622<t>
    623    If no explicit expiration time is present in a stored response that has a
    624    status code whose definition allows heuristic freshness to be used
    625    (including the following in &status-codes;: <x:ref>200 (OK)</x:ref>,
    626    <x:ref>203 (Non-Authoritative Information)</x:ref>, <x:ref>206 (Partial
    627    Content)</x:ref>, <x:ref>300 (Multiple Choices)</x:ref>, <x:ref>301 (Moved
    628    Permanently)</x:ref> and <x:ref>410 (Gone)</x:ref>), a cache &MAY;
    629    calculate a heuristic expiration time. A cache &MUST-NOT; use heuristics to
    630    determine freshness for responses with status codes that do not explicitly
    631    allow it.
     623   A cache &MUST-NOT; use heuristics to determine freshness unless no explicit
     624   expiration time is present in a stored response and either the status code
     625   is defined as cacheable by default (including the following in
     626   &status-codes;: <x:ref>200 (OK)</x:ref>, <x:ref>203 (Non-Authoritative
     627   Information)</x:ref>, <x:ref>206 (Partial Content)</x:ref>, <x:ref>300
     628   (Multiple Choices)</x:ref>, <x:ref>301 (Moved Permanently)</x:ref> and
     629   <x:ref>410 (Gone)</x:ref>) or the response has been explicitly marked as
     630   cacheable (e.g., by using the public directive without a max-age).
    632631</t>
    633632<t>
Note: See TracChangeset for help on using the changeset viewer.