Source: https://trac.ietf.org/trac/httpbis/browser/draft-ietf-httpbis/latest/p6-cache.html?rev=2551
Timestamp: 2020-07-14 01:17:51
Document Index: 197086790

Matched Legal Cases: ['art2', 'art2', 'art2', 'art1', 'art1', 'art1', 'art5', 'art5', 'art5', 'art5', 'art5', 'art5', 'art2', 'art2', 'art2', 'art2', 'art2', 'art2', 'art2', 'art2', 'art2', 'art4', 'art4', 'art4', 'art4', 'art4', 'art4', 'art4', 'art4', 'art4', 'art4', 'art4', 'art4', 'art4', 'art4', 'art4', 'art4', 'art4', 'art4', 'art5', 'art5', 'art5', 'art5', 'art5', 'art5', 'art4', 'art4', 'art4', 'art2', 'art2', 'art2', 'art1', 'art1', 'art1', 'art1', 'art1', 'art1', 'art1', 'art1', 'art1', 'art1', 'art1', 'art1', 'art1', 'art1', 'art1', 'art2', 'art2', 'art2', 'art1', 'art1', 'art1', 'art2', 'art2', 'art2', 'art1', 'art2', 'art2', 'art2', 'art2', 'art2', 'art2', 'art2', 'art2', 'art2', 'art2', 'art2', 'art2', 'art2', 'art2', 'art2', 'art2', 'art2', 'art2', 'art2', 'art2', 'art4', 'art4', 'art4', 'art4', 'art4', 'art4', 'art4', 'art4', 'art4', 'art4', 'art4', 'art4', 'art4', 'art4', 'art4', 'art4', 'art4', 'art5', 'art5', 'art5', 'art5', 'art5', 'art5', 'art5', 'art5', 'art5', 'art7', 'art7', 'art7', 'art7']

source: draft-ietf-httpbis/latest/p6-cache.html @ 2551
Last change on this file since 2551 was 2548, checked in by julian.reschke@…, 6 years ago
update issue status (see #535)
content: "Expires July 19, 2014";
<meta name="dct.issued" scheme="ISO8601" content="2014-01-15">
<meta name="description" content="The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypertext information systems. This document defines HTTP caches and the associated header fields that control cache behavior or indicate cacheable response messages.">
<td class="left">Expires: July 19, 2014</td>
<td class="right">January 15, 2014</td>
systems. This document defines HTTP caches and the associated header fields that control cache behavior or indicate cacheable
<p>The changes in this draft are summarized in <a href="#changes.since.25" title="Since draft-ietf-httpbis-p6-cache-25">Appendix&nbsp;D.2</a>.
<p>This Internet-Draft will expire on July 19, 2014.</p>
<li><a href="#rfc.section.5.2.1">5.2.1</a>&nbsp;&nbsp;&nbsp;<a href="#cache-request-directive">Request Cache-Control Directives</a><ul>
<li><a href="#rfc.section.5.2.1.1">5.2.1.1</a>&nbsp;&nbsp;&nbsp;<a href="#cache-request-directive.max-age">max-age</a></li>
<li><a href="#rfc.section.5.2.1.2">5.2.1.2</a>&nbsp;&nbsp;&nbsp;<a href="#cache-request-directive.max-stale">max-stale</a></li>
<li><a href="#rfc.section.5.2.1.3">5.2.1.3</a>&nbsp;&nbsp;&nbsp;<a href="#cache-request-directive.min-fresh">min-fresh</a></li>
<li><a href="#rfc.section.5.2.1.4">5.2.1.4</a>&nbsp;&nbsp;&nbsp;<a href="#cache-request-directive.no-cache">no-cache</a></li>
<li><a href="#rfc.section.5.2.1.5">5.2.1.5</a>&nbsp;&nbsp;&nbsp;<a href="#cache-request-directive.no-store">no-store</a></li>
<li><a href="#rfc.section.5.2.1.6">5.2.1.6</a>&nbsp;&nbsp;&nbsp;<a href="#cache-request-directive.no-transform">no-transform</a></li>
<li><a href="#rfc.section.5.2.1.7">5.2.1.7</a>&nbsp;&nbsp;&nbsp;<a href="#cache-request-directive.only-if-cached">only-if-cached</a></li>
<li><a href="#rfc.section.5.2.2">5.2.2</a>&nbsp;&nbsp;&nbsp;<a href="#cache-response-directive">Response Cache-Control Directives</a><ul>
<li><a href="#rfc.section.5.2.2.1">5.2.2.1</a>&nbsp;&nbsp;&nbsp;<a href="#cache-response-directive.must-revalidate">must-revalidate</a></li>
<li><a href="#rfc.section.5.2.2.2">5.2.2.2</a>&nbsp;&nbsp;&nbsp;<a href="#cache-response-directive.no-cache">no-cache</a></li>
<li><a href="#rfc.section.5.2.2.3">5.2.2.3</a>&nbsp;&nbsp;&nbsp;<a href="#cache-response-directive.no-store">no-store</a></li>
<li><a href="#rfc.section.5.2.2.4">5.2.2.4</a>&nbsp;&nbsp;&nbsp;<a href="#cache-response-directive.no-transform">no-transform</a></li>
<li><a href="#rfc.section.5.2.2.5">5.2.2.5</a>&nbsp;&nbsp;&nbsp;<a href="#cache-response-directive.public">public</a></li>
<li><a href="#rfc.section.5.2.2.6">5.2.2.6</a>&nbsp;&nbsp;&nbsp;<a href="#cache-response-directive.private">private</a></li>
<li><a href="#rfc.section.5.2.2.7">5.2.2.7</a>&nbsp;&nbsp;&nbsp;<a href="#cache-response-directive.proxy-revalidate">proxy-revalidate</a></li>
<li><a href="#rfc.section.5.2.2.8">5.2.2.8</a>&nbsp;&nbsp;&nbsp;<a href="#cache-response-directive.max-age">max-age</a></li>
<li><a href="#rfc.section.5.2.2.9">5.2.2.9</a>&nbsp;&nbsp;&nbsp;<a href="#cache-response-directive.s-maxage">s-maxage</a></li>
<li><a href="#rfc.section.D.1">D.1</a>&nbsp;&nbsp;&nbsp;<a href="#changes.since.24">Since draft-ietf-httpbis-p6-cache-24</a></li>
<li><a href="#rfc.section.D.2">D.2</a>&nbsp;&nbsp;&nbsp;<a href="#changes.since.25">Since draft-ietf-httpbis-p6-cache-25</a></li>
no requirement or local configuration prevents it. Therefore, HTTP cache requirements are focused on preventing a cache from
either storing a non-reusable response or reusing a stored response inappropriately, rather than mandating that caches always
store and reuse particular responses.
form of cache entry is a successful result of a retrieval request: i.e., a <a href="p2-semantics.html#status.200" class="smpl">200 (OK)</a> response to a GET request, which contains a representation of the resource identified by the request target (<a href="p2-semantics.html#GET" title="GET">Section 4.3.1</a> of <a href="#Part2" id="rfc.xref.Part2.2"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[Part2]</cite></a>). However, it is also possible to cache permanent redirects, negative results (e.g., <a href="p2-semantics.html#status.404" class="smpl">404 (Not Found)</a>), incomplete results (e.g., <a href="p5-range.html#status.206" class="smpl">206 (Partial Content)</a>), and responses to methods other than GET if the method's definition allows such caching and defines something suitable for
<p id="rfc.section.3.1.p.1">A response message is considered complete when all of the octets indicated by the message framing (<a href="#Part1" id="rfc.xref.Part1.3"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a>) are received prior to the connection being closed. If the request method is GET, the response status code is <a href="p2-semantics.html#status.200" class="smpl">200 (OK)</a>, and the entire response header section has been received, a cache <em class="bcp14">MAY</em> store an incomplete response message body if the cache entry is recorded as incomplete. Likewise, a <a href="p5-range.html#status.206" class="smpl">206 (Partial Content)</a> response <em class="bcp14">MAY</em> be stored as if it were an incomplete <a href="p2-semantics.html#status.200" class="smpl">200
<p id="rfc.section.3.1.p.2">A cache <em class="bcp14">MAY</em> complete a stored incomplete response by making a subsequent range request (<a href="#Part5" id="rfc.xref.Part5.1"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Range Requests">[Part5]</cite></a>) and combining the successful response with the stored entry, as defined in <a href="#combining.responses" title="Combining Partial Content">Section&nbsp;3.3</a>. A cache <em class="bcp14">MUST NOT</em> use an incomplete response to answer requests unless the response has been made complete or the request is partial and specifies
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>.
<p id="rfc.section.4.p.4">A cache <em class="bcp14">MUST</em> write through requests with methods that are unsafe (<a href="p2-semantics.html#safe.methods" title="Safe Methods">Section 4.2.1</a> of <a href="#Part2" id="rfc.xref.Part2.3"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[Part2]</cite></a>) to the origin server; i.e., a cache is not allowed to generate a reply to such a request before having forwarded the request
<p id="rfc.section.4.1.p.1">When a cache receives a request that can be satisfied by a stored response that has a <a href="p2-semantics.html#header.vary" class="smpl">Vary</a> header field (<a href="p2-semantics.html#header.vary" title="Vary">Section 7.1.4</a> of <a href="#Part2" id="rfc.xref.Part2.4"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[Part2]</cite></a>), it <em class="bcp14">MUST NOT</em> use that response unless all of the selecting header fields nominated by the Vary header field match in both the original
<li>The term "date_value" denotes the value of the Date header field, in a form appropriate for arithmetic operations. See <a href="p2-semantics.html#header.date" title="Date">Section 7.1.1.2</a> of <a href="#Part2" id="rfc.xref.Part2.6"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[Part2]</cite></a> for the definition of the Date header field, and for requirements regarding responses without it.
fresh, or one cannot be selected; see <a href="#caching.negotiated.responses" title="Calculating Secondary Keys with Vary">Section&nbsp;4.1</a>), it can use the conditional request mechanism <a href="#Part4" id="rfc.xref.Part4.2"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a> in the forwarded request to give the next inbound server an opportunity to select a valid stored response to use, updating
<p id="rfc.section.4.3.1.p.2">One such validator is the timestamp given in a <a href="p4-conditional.html#header.last-modified" class="smpl">Last-Modified</a> header field (<a href="p4-conditional.html#header.last-modified" title="Last-Modified">Section 2.2</a> of <a href="#Part4" id="rfc.xref.Part4.3"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a>), which can be used in an <a href="p4-conditional.html#header.if-modified-since" class="smpl">If-Modified-Since</a> header field for response validation, or in an <a href="p4-conditional.html#header.if-unmodified-since" class="smpl">If-Unmodified-Since</a> or <a href="p5-range.html#header.if-range" class="smpl">If-Range</a> header field for representation selection (i.e., the client is referring specifically to a previously obtained representation
<p id="rfc.section.4.3.1.p.3">Another validator is the entity-tag given in an <a href="p4-conditional.html#header.etag" class="smpl">ETag</a> header field (<a href="p4-conditional.html#header.etag" title="ETag">Section 2.3</a> of <a href="#Part4" id="rfc.xref.Part4.4"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a>). One or more entity-tags, indicating one or more stored responses, can be used in an <a href="p4-conditional.html#header.if-none-match" class="smpl">If-None-Match</a> header field for response validation, or in an <a href="p4-conditional.html#header.if-match" class="smpl">If-Match</a> or <a href="p5-range.html#header.if-range" class="smpl">If-Range</a> header field for representation selection (i.e., the client is referring specifically to one or more previously obtained representations
as defined in <a href="p4-conditional.html#precedence" title="Precedence">Section 6</a> of <a href="#Part4" id="rfc.xref.Part4.5"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a>. The <a href="p4-conditional.html#header.if-match" class="smpl">If-Match</a> and <a href="p4-conditional.html#header.if-unmodified-since" class="smpl">If-Unmodified-Since</a> conditional header fields are not applicable to a cache.
<p id="rfc.section.4.3.2.p.4">A request containing an <a href="p4-conditional.html#header.if-none-match" class="smpl">If-None-Match</a> header field (<a href="p4-conditional.html#header.if-none-match" title="If-None-Match">Section 3.2</a> of <a href="#Part4" id="rfc.xref.Part4.6"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a>) indicates that the client wants to validate one or more of its own stored responses in comparison to whichever stored response
<p id="rfc.section.4.3.2.p.6">If an <a href="p4-conditional.html#header.if-none-match" class="smpl">If-None-Match</a> header field is not present, a request containing an <a href="p4-conditional.html#header.if-modified-since" class="smpl">If-Modified-Since</a> header field (<a href="p4-conditional.html#header.if-modified-since" title="If-Modified-Since">Section 3.3</a> of <a href="#Part4" id="rfc.xref.Part4.7"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a>) indicates that the client wants to validate one or more of its own stored responses by modification date. A cache recipient <em class="bcp14">SHOULD</em> generate a <a href="p4-conditional.html#status.304" class="smpl">304 (Not Modified)</a> response (using the metadata of the selected stored response) if one of the following cases is true: 1) the selected stored
<p id="rfc.section.4.3.2.p.7">A cache that implements partial responses to range requests, as defined in <a href="#Part5" id="rfc.xref.Part5.4"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Range Requests">[Part5]</cite></a>, also needs to evaluate a received <a href="p5-range.html#header.if-range" class="smpl">If-Range</a> header field (<a href="p5-range.html#header.if-range" title="If-Range">Section 3.2</a> of <a href="#Part5" id="rfc.xref.Part5.5"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Range Requests">[Part5]</cite></a>) with respect to its selected stored response.
<li>If the new response contains a <dfn>strong validator</dfn> (see <a href="p4-conditional.html#weak.and.strong.validators" title="Weak versus Strong">Section 2.1</a> of <a href="#Part4" id="rfc.xref.Part4.8"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a>), then that strong validator identifies the selected representation for update. All of the stored responses with the same
<p id="rfc.section.4.4.p.1">Because unsafe request methods (<a href="p2-semantics.html#safe.methods" title="Safe Methods">Section 4.2.1</a> of <a href="#Part2" id="rfc.xref.Part2.7"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[Part2]</cite></a>) such as PUT, POST or DELETE have the potential for changing state on the origin server, intervening caches can use them
<p id="rfc.section.4.4.p.2">A cache <em class="bcp14">MUST</em> invalidate the effective Request URI (<a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 5.5</a> of <a href="#Part1" id="rfc.xref.Part1.6"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a>) as well as the URI(s) in the <a href="p2-semantics.html#header.location" class="smpl">Location</a> and <a href="p2-semantics.html#header.content-location" class="smpl">Content-Location</a> response header fields (if present) when a non-error status code is received in response to an unsafe request method.
<p id="rfc.section.4.4.p.3">However, a cache <em class="bcp14">MUST NOT</em> invalidate a URI from a <a href="p2-semantics.html#header.location" class="smpl">Location</a> or <a href="p2-semantics.html#header.content-location" class="smpl">Content-Location</a> response header field if the host part of that URI differs from the host part in the effective request URI (<a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 5.5</a> of <a href="#Part1" id="rfc.xref.Part1.7"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a>). This helps prevent denial of service attacks.
<p id="rfc.section.4.4.p.4">A cache <em class="bcp14">MUST</em> invalidate the effective request URI (<a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 5.5</a> of <a href="#Part1" id="rfc.xref.Part1.8"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a>) when it receives a non-error response to a request with a method whose safety is unknown.
<p id="rfc.section.5.2.1.6.p.1">The "no-transform" request directive indicates that an intermediary (whether or not it implements a cache) <em class="bcp14">MUST NOT</em> transform the payload, as defined in <a href="p1-messaging.html#message.transformations" title="Transformations">Section 5.7.2</a> of <a href="#Part1" id="rfc.xref.Part1.9"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a>.
<p id="rfc.section.5.2.2.4.p.1">The "no-transform" response directive indicates that an intermediary (regardless of whether it implements a cache) <em class="bcp14">MUST NOT</em> transform the payload, as defined in <a href="p1-messaging.html#message.transformations" title="Transformations">Section 5.7.2</a> of <a href="#Part1" id="rfc.xref.Part1.10"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a>.
<p id="rfc.section.5.2.3.p.3">Both the new directive and the standard directive are supplied, such that applications that do not understand the new directive
<p id="rfc.section.5.2.3.p.4">This extension mechanism depends on an HTTP cache obeying all of the cache-control directives defined for its native HTTP-version,
<p id="rfc.section.5.2.3.p.5">For example, consider a hypothetical new response directive called "community" that acts as a modifier to the private directive.
</pre><p id="rfc.section.5.2.3.p.7">A cache seeing this header field will act correctly even if the cache does not understand the community cache-extension, since
<p id="rfc.section.5.2.3.p.8">A cache <em class="bcp14">MUST</em> ignore unrecognized cache directives; it is assumed that any cache directive likely to be unrecognized by an HTTP/1.1 cache
<p id="rfc.section.5.3.p.3">The Expires value is an HTTP-date timestamp, as defined in <a href="p2-semantics.html#http.date" title="Date/Time Formats">Section 7.1.1.1</a> of <a href="#Part2" id="rfc.xref.Part2.8"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[Part2]</cite></a>.
<p id="rfc.section.7.1.p.1">The HTTP Cache Directive Registry defines the name space for the cache directives. It will be created and maintained at (the
<p id="rfc.section.7.1.1.p.2">Values to be added to this name space require IETF Review (see <a href="#RFC5226" id="rfc.xref.RFC5226.1"><cite title="Guidelines for Writing an IANA Considerations Section in RFCs">[RFC5226]</cite></a>, <a href="http://tools.ietf.org/html/rfc5226#section-4.1">Section 4.1</a>).
<p id="rfc.section.7.1.3.p.1">The HTTP Cache Directive Registry shall be populated with the registrations below:</p>
<p id="rfc.section.7.2.p.1">The HTTP Warn Code Registry defines the name space for warn codes. It will be created and maintained at (the suggested URI) &lt;<a href="http://www.iana.org/assignments/http-warn-codes">http://www.iana.org/assignments/http-warn-codes</a>&gt;.
<p id="rfc.section.7.2.1.p.2">Values to be added to this name space require IETF Review (see <a href="#RFC5226" id="rfc.xref.RFC5226.2"><cite title="Guidelines for Writing an IANA Considerations Section in RFCs">[RFC5226]</cite></a>, <a href="http://tools.ietf.org/html/rfc5226#section-4.1">Section 4.1</a>).
<p id="rfc.section.7.2.2.p.1">The HTTP Warn Code Registry shall be populated with the registrations below:</p>
<p id="rfc.section.7.3.p.1">HTTP header fields are registered within the Message Header Field Registry maintained at &lt;<a href="http://www.iana.org/assignments/message-headers/message-header-index.html">http://www.iana.org/assignments/message-headers/message-header-index.html</a>&gt;.
<p id="rfc.section.7.3.p.2">This document defines the following HTTP header fields, so their associated registry entries shall be updated according to
<p id="rfc.section.8.p.1">This section is meant to inform developers, information providers, and users of known security concerns specific to HTTP/1.1
caching. More general security considerations are addressed in HTTP messaging <a href="#Part1" id="rfc.xref.Part1.11"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a> and semantics <a href="#Part2" id="rfc.xref.Part2.9"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[Part2]</cite></a>.
<p id="rfc.section.8.p.2">The list of considerations below is not exhaustive — security analysis in an ongoing activity. Various organizations, such
<p id="rfc.section.8.p.3">Caches expose additional potential vulnerabilities, since the contents of the cache represent an attractive target for malicious
<p id="rfc.section.8.p.4">In particular, various attacks might be amplified by being stored in a shared cache; such "cache poisoning" attacks use the
<p id="rfc.section.8.p.6">Furthermore, the very use of a cache can bring about privacy concerns. For example, if two users share a cache, and the first
<p id="rfc.section.8.p.7">Note that the Set-Cookie response header field <a href="#RFC6265" id="rfc.xref.RFC6265.1"><cite title="HTTP State Management Mechanism">[RFC6265]</cite></a> does not inhibit caching; a cacheable response with a Set-Cookie header field can be (and often is) used to satisfy subsequent
<td class="top"><a href="mailto:fielding@gbiv.com" title="Adobe Systems Incorporated">Fielding, R., Ed.</a>, <a href="mailto:ylafon@w3.org" title="World Wide Web Consortium">Lafon, Y., Ed.</a>, and <a href="mailto:julian.reschke@greenbytes.de" title="greenbytes GmbH">J. Reschke, Ed.</a>, “<a href="http://tools.ietf.org/html/draft-ietf-httpbis-p5-range-latest">Hypertext Transfer Protocol (HTTP/1.1): Range Requests</a>”, Internet-Draft&nbsp;draft-ietf-httpbis-p5-range-latest (work in progress), January&nbsp;2014.
<td class="top"><a href="mailto:fielding@gbiv.com" title="Adobe Systems Incorporated">Fielding, R., Ed.</a> and <a href="mailto:julian.reschke@greenbytes.de" title="greenbytes GmbH">J. Reschke, Ed.</a>, “<a href="http://tools.ietf.org/html/draft-ietf-httpbis-p7-auth-latest">Hypertext Transfer Protocol (HTTP/1.1): Authentication</a>”, Internet-Draft&nbsp;draft-ietf-httpbis-p7-auth-latest (work in progress), January&nbsp;2014.
<p id="rfc.section.A.p.7">Requirements regarding denial of service attack avoidance when performing invalidation have been clarified. (<a href="#invalidation" title="Invalidation">Section&nbsp;4.4</a>)
<a href="#imported.abnf" class="smpl">pseudonym</a> = &lt;pseudonym, defined in [Part1], Section 5.7.1&gt;
<p id="rfc.section.D.p.1">Changes up to the IETF Last Call draft are summarized in &lt;<a href="http://trac.tools.ietf.org/html/draft-ietf-httpbis-p6-cache-24#appendix-D">http://trac.tools.ietf.org/html/draft-ietf-httpbis-p6-cache-24#appendix-D</a>&gt;.
<h2 id="rfc.section.D.1"><a href="#rfc.section.D.1">D.1</a>&nbsp;<a href="#changes.since.24">Since draft-ietf-httpbis-p6-cache-24</a></h2>
<li>&lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/500">http://tools.ietf.org/wg/httpbis/trac/ticket/500</a>&gt;: "dangling reference to cacheable status codes"
<li>&lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/512">http://tools.ietf.org/wg/httpbis/trac/ticket/512</a>&gt;: "APPSDIR review of draft-ietf-httpbis-p6-cache-24"
<li><em>Part2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.1">2</a>, <a href="#rfc.xref.Part2.2">2</a>, <a href="#rfc.xref.Part2.3">4</a>, <a href="#rfc.xref.Part2.4">4.1</a>, <a href="#rfc.xref.Part2.5">4.2.2</a>, <a href="#rfc.xref.Part2.6">4.2.3</a>, <a href="#rfc.xref.Part2.7">4.4</a>, <a href="#rfc.xref.Part2.8">5.3</a>, <a href="#rfc.xref.Part2.9">8</a>, <a href="#Part2"><b>10.1</b></a>, <a href="#rfc.xref.Part2.10">B</a><ul>
<li><em>Section 4.2.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.3">4</a>, <a href="#rfc.xref.Part2.7">4.4</a></li>
<li><em>Section 4.3.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.2">2</a></li>
<li><em>Section 6.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.5">4.2.2</a></li>
<li><em>Section 7.1.1.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.8">5.3</a>, <a href="#rfc.xref.Part2.10">B</a></li>
<li><em>Section 7.1.1.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.6">4.2.3</a></li>
<li><em>Section 7.1.4</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.4">4.1</a></li>
<li><em>Part4</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.1">4.2.2</a>, <a href="#rfc.xref.Part4.2">4.3</a>, <a href="#rfc.xref.Part4.3">4.3.1</a>, <a href="#rfc.xref.Part4.4">4.3.1</a>, <a href="#rfc.xref.Part4.5">4.3.2</a>, <a href="#rfc.xref.Part4.6">4.3.2</a>, <a href="#rfc.xref.Part4.7">4.3.2</a>, <a href="#rfc.xref.Part4.8">4.3.4</a>, <a href="#Part4"><b>10.1</b></a><ul>
<li><em>Section 2.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.8">4.3.4</a></li>
<li><em>Section 2.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.1">4.2.2</a>, <a href="#rfc.xref.Part4.3">4.3.1</a></li>
<li><em>Section 2.3</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.4">4.3.1</a></li>
<li><em>Section 3.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.6">4.3.2</a></li>
<li><em>Section 3.3</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.7">4.3.2</a></li>
<li><em>Section 6</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.5">4.3.2</a></li>
<li><em>Part5</em>&nbsp;&nbsp;<a href="#rfc.xref.Part5.1">3.1</a>, <a href="#rfc.xref.Part5.2">3.3</a>, <a href="#rfc.xref.Part5.3">3.3</a>, <a href="#rfc.xref.Part5.4">4.3.2</a>, <a href="#rfc.xref.Part5.5">4.3.2</a>, <a href="#Part5"><b>10.1</b></a><ul>
<li><em>Section 3.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part5.5">4.3.2</a></li>
<li><em>Section 4.3</em>&nbsp;&nbsp;<a href="#rfc.xref.Part5.3">3.3</a></li>
<li><em>Part7</em>&nbsp;&nbsp;<a href="#rfc.xref.Part7.1">3</a>, <a href="#rfc.xref.Part7.2">3.2</a>, <a href="#Part7"><b>10.1</b></a><ul>