Ignore:
Timestamp:
May 7, 2013, 12:14:23 AM (7 years ago)
Author:
mnot@…
Message:

Distribute terminology throughout text; see #469

File:
1 edited

Legend:

Unmodified
Added
Removed
  • draft-ietf-httpbis/latest/p6-cache.html

    r2238 r2239  
    578578      <ul class="toc">
    579579         <li><a href="#rfc.section.1">1.</a>&nbsp;&nbsp;&nbsp;<a href="#caching">Introduction</a><ul>
    580                <li><a href="#rfc.section.1.1">1.1</a>&nbsp;&nbsp;&nbsp;<a href="#intro.terminology">Terminology</a></li>
    581                <li><a href="#rfc.section.1.2">1.2</a>&nbsp;&nbsp;&nbsp;<a href="#conformance">Conformance and Error Handling</a></li>
    582                <li><a href="#rfc.section.1.3">1.3</a>&nbsp;&nbsp;&nbsp;<a href="#notation">Syntax Notation</a><ul>
    583                      <li><a href="#rfc.section.1.3.1">1.3.1</a>&nbsp;&nbsp;&nbsp;<a href="#delta-seconds">Delta Seconds</a></li>
     580               <li><a href="#rfc.section.1.1">1.1</a>&nbsp;&nbsp;&nbsp;<a href="#conformance">Conformance and Error Handling</a></li>
     581               <li><a href="#rfc.section.1.2">1.2</a>&nbsp;&nbsp;&nbsp;<a href="#notation">Syntax Notation</a><ul>
     582                     <li><a href="#rfc.section.1.2.1">1.2.1</a>&nbsp;&nbsp;&nbsp;<a href="#delta-seconds">Delta Seconds</a></li>
    584583                  </ul>
    585584               </li>
     
    689688         requests. Any client or server <em class="bcp14">MAY</em> employ a cache, though a cache cannot be used by a server that is acting as a tunnel.
    690689      </p>
    691       <p id="rfc.section.1.p.3">The goal of caching in HTTP/1.1 is to significantly improve performance by reusing a prior response message to satisfy a current
     690      <div id="rfc.iref.s.1"></div>
     691      <div id="rfc.iref.p.1"></div>
     692      <div id="shared.and.non-shared.caches">
     693         <p id="rfc.section.1.p.3">A <dfn>shared cache</dfn> is a cache that stores responses to be reused by more than one user; shared caches are usually (but not always) deployed as
     694            a part of an intermediary. A <dfn>private cache</dfn>, in contrast, is dedicated to a single user.
     695         </p>
     696      </div>
     697      <p id="rfc.section.1.p.4">The goal of caching in HTTP/1.1 is to significantly improve performance by reusing a prior response message to satisfy a current
    692698         request. A stored response is considered "fresh", as defined in <a href="#expiration.model" title="Freshness">Section&nbsp;4.1</a>, if the response can be reused without "validation" (checking with the origin server to see if the cached response remains
    693699         valid for this request). A fresh response can therefore reduce both latency and network overhead each time it is reused. When
    694700         a cached response is not fresh, it might still be reusable if it can be freshened by validation (<a href="#validation.model" title="Validation">Section&nbsp;4.2</a>) or if the origin is unavailable (xref target="serving.stale.responses" /&gt;).
    695701      </p>
    696       <h2 id="rfc.section.1.1"><a href="#rfc.section.1.1">1.1</a>&nbsp;<a id="intro.terminology" href="#intro.terminology">Terminology</a></h2>
    697       <p id="rfc.section.1.1.p.1">This specification uses a number of terms to refer to the roles played by participants in, and objects of, HTTP caching.</p>
    698       <p id="rfc.section.1.1.p.2"> <span id="rfc.iref.c.2"></span>  <dfn>cache</dfn> 
    699       </p>
    700       <ul class="empty">
    701          <li>A conformant implementation of an HTTP cache. Note that this implies an HTTP/1.1 cache; this specification does not define
    702             conformance for HTTP/1.0 caches.
    703          </li>
    704       </ul>
    705       <div id="shared.and.non-shared.caches">
    706          <p id="rfc.section.1.1.p.3"> <span id="rfc.iref.s.1"></span>  <dfn>shared cache</dfn> 
    707          </p>
    708          <ul class="empty">
    709             <li>A cache that stores responses to be reused by more than one user; usually (but not always) deployed as part of an intermediary.</li>
    710          </ul>
    711       </div>
    712       <p id="rfc.section.1.1.p.4"> <span id="rfc.iref.p.1"></span>  <dfn>private cache</dfn> 
    713       </p>
    714       <ul class="empty">
    715          <li>A cache that is dedicated to a single user.</li>
    716       </ul>
    717       <p id="rfc.section.1.1.p.5"> <span id="rfc.iref.c.3"></span>  <dfn>cacheable</dfn> 
    718       </p>
    719       <ul class="empty">
    720          <li>A response is cacheable if a cache is allowed to store a copy of the response message for use in answering subsequent requests.
    721             Even when a response is cacheable, there might be additional constraints on whether a cache can use the stored copy to satisfy
    722             a particular request.
    723          </li>
    724       </ul>
    725       <p id="rfc.section.1.1.p.6"> <span id="rfc.iref.e.1"></span>  <dfn>explicit expiration time</dfn> 
    726       </p>
    727       <ul class="empty">
    728          <li>The time at which the origin server intends that a stored response no longer be used by a cache without further validation.</li>
    729       </ul>
    730       <p id="rfc.section.1.1.p.7"> <span id="rfc.iref.h.1"></span>  <dfn>heuristic expiration time</dfn> 
    731       </p>
    732       <ul class="empty">
    733          <li>An expiration time assigned by a cache when no explicit expiration time is available.</li>
    734       </ul>
    735       <p id="rfc.section.1.1.p.8"> <span id="rfc.iref.a.1"></span>  <dfn>age</dfn> 
    736       </p>
    737       <ul class="empty">
    738          <li>The time since a response was sent by, or successfully validated with, the origin server.</li>
    739       </ul>
    740       <p id="rfc.section.1.1.p.9"> <span id="rfc.iref.f.1"></span>  <dfn>first-hand</dfn> 
    741       </p>
    742       <ul class="empty">
    743          <li>A response is first-hand if the freshness model is not in use; i.e., its age is 0.</li>
    744       </ul>
    745       <p id="rfc.section.1.1.p.10"> <span id="rfc.iref.f.2"></span>  <dfn>freshness lifetime</dfn> 
    746       </p>
    747       <ul class="empty">
    748          <li>The length of time between the generation of a response and its expiration time (either explicit or heuristic).</li>
    749       </ul>
    750       <p id="rfc.section.1.1.p.11"> <span id="rfc.iref.f.3"></span>  <dfn>fresh</dfn> 
    751       </p>
    752       <ul class="empty">
    753          <li>A response is fresh if its age has not yet exceeded its freshness lifetime.</li>
    754       </ul>
    755       <p id="rfc.section.1.1.p.12"> <span id="rfc.iref.s.2"></span>  <dfn>stale</dfn> 
    756       </p>
    757       <ul class="empty">
    758          <li>A response is stale if its age has passed its freshness lifetime.</li>
    759       </ul>
    760       <p id="rfc.section.1.1.p.13"> <span id="rfc.iref.v.1"></span>  <dfn>validator</dfn> 
    761       </p>
    762       <ul class="empty">
    763          <li>A protocol element (e.g., an entity-tag or a <a href="p4-conditional.html#header.last-modified" class="smpl">Last-Modified</a> time) that is used to find out whether a stored response is an equivalent copy of a representation. .
    764          </li>
    765       </ul>
    766       <p id="rfc.section.1.1.p.14"> <span id="rfc.iref.s.3"></span>  <span id="rfc.iref.v.2"></span>  <dfn>strong validator</dfn> 
    767       </p>
    768       <ul class="empty">
    769          <li>A validator that is defined by the origin server such that its current value will change if the representation data changes.
    770             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.1"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a></li>
    771       </ul>
    772       <h2 id="rfc.section.1.2"><a href="#rfc.section.1.2">1.2</a>&nbsp;<a id="conformance" href="#conformance">Conformance and Error Handling</a></h2>
    773       <p id="rfc.section.1.2.p.1">The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL"
     702      <h2 id="rfc.section.1.1"><a href="#rfc.section.1.1">1.1</a>&nbsp;<a id="conformance" href="#conformance">Conformance and Error Handling</a></h2>
     703      <p id="rfc.section.1.1.p.1">The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL"
    774704         in this document are to be interpreted as described in <a href="#RFC2119" id="rfc.xref.RFC2119.1"><cite title="Key words for use in RFCs to Indicate Requirement Levels">[RFC2119]</cite></a>.
    775705      </p>
    776       <p id="rfc.section.1.2.p.2">Conformance criteria and considerations regarding error handling are defined in <a href="p1-messaging.html#conformance" title="Conformance and Error Handling">Section 2.5</a> of <a href="#Part1" id="rfc.xref.Part1.1"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a>.
    777       </p>
    778       <h2 id="rfc.section.1.3"><a href="#rfc.section.1.3">1.3</a>&nbsp;<a id="notation" href="#notation">Syntax Notation</a></h2>
    779       <p id="rfc.section.1.3.p.1">This specification uses the Augmented Backus-Naur Form (ABNF) notation of <a href="#RFC5234" id="rfc.xref.RFC5234.1"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a> with the list rule extension defined in <a href="p1-messaging.html#notation" title="Syntax Notation">Section 1.2</a> of <a href="#Part1" id="rfc.xref.Part1.2"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a>. <a href="#imported.abnf" title="Imported ABNF">Appendix&nbsp;B</a> describes rules imported from other documents. <a href="#collected.abnf" title="Collected ABNF">Appendix&nbsp;C</a> shows the collected ABNF with the list rule expanded.
    780       </p>
    781       <h3 id="rfc.section.1.3.1"><a href="#rfc.section.1.3.1">1.3.1</a>&nbsp;<a id="delta-seconds" href="#delta-seconds">Delta Seconds</a></h3>
    782       <p id="rfc.section.1.3.1.p.1">The delta-seconds rule specifies a non-negative integer, representing time in seconds.</p>
     706      <p id="rfc.section.1.1.p.2">Conformance criteria and considerations regarding error handling are defined in <a href="p1-messaging.html#conformance" title="Conformance and Error Handling">Section 2.5</a> of <a href="#Part1" id="rfc.xref.Part1.1"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a>.
     707      </p>
     708      <h2 id="rfc.section.1.2"><a href="#rfc.section.1.2">1.2</a>&nbsp;<a id="notation" href="#notation">Syntax Notation</a></h2>
     709      <p id="rfc.section.1.2.p.1">This specification uses the Augmented Backus-Naur Form (ABNF) notation of <a href="#RFC5234" id="rfc.xref.RFC5234.1"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a> with the list rule extension defined in <a href="p1-messaging.html#notation" title="Syntax Notation">Section 1.2</a> of <a href="#Part1" id="rfc.xref.Part1.2"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a>. <a href="#imported.abnf" title="Imported ABNF">Appendix&nbsp;B</a> describes rules imported from other documents. <a href="#collected.abnf" title="Collected ABNF">Appendix&nbsp;C</a> shows the collected ABNF with the list rule expanded.
     710      </p>
     711      <h3 id="rfc.section.1.2.1"><a href="#rfc.section.1.2.1">1.2.1</a>&nbsp;<a id="delta-seconds" href="#delta-seconds">Delta Seconds</a></h3>
     712      <p id="rfc.section.1.2.1.p.1">The delta-seconds rule specifies a non-negative integer, representing time in seconds.</p>
    783713      <div id="rfc.figure.u.1"></div><pre class="inline"><span id="rfc.iref.g.1"></span>  <a href="#delta-seconds" class="smpl">delta-seconds</a>  = 1*<a href="#imported.abnf" class="smpl">DIGIT</a>
    784 </pre><p id="rfc.section.1.3.1.p.3">If an implementation receives a delta-seconds value larger than the largest positive integer it can represent, or if any of
     714</pre><p id="rfc.section.1.2.1.p.3">If an implementation receives a delta-seconds value larger than the largest positive integer it can represent, or if any of
    785715         its subsequent calculations overflows, it <em class="bcp14">MUST</em> consider the value to be 2147483648 (2<sup>31</sup>). Recipients parsing a delta-seconds value <em class="bcp14">MUST</em> use an arithmetic type of at least 31 bits of range, and senders <em class="bcp14">MUST NOT</em> send delta-seconds with a value greater than 2147483648.
    786716      </p>
    787       <div id="rfc.iref.c.4"></div>
    788       <div id="rfc.iref.c.5"></div>
     717      <div id="rfc.iref.c.2"></div>
     718      <div id="rfc.iref.c.3"></div>
    789719      <h1 id="rfc.section.2"><a href="#rfc.section.2">2.</a>&nbsp;<a id="caching.overview" href="#caching.overview">Overview of Cache Operation</a></h1>
    790720      <p id="rfc.section.2.p.1">Proper cache operation preserves the semantics of HTTP transfers (<a href="#Part2" id="rfc.xref.Part2.1"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[Part2]</cite></a>) while eliminating the transfer of information already held in the cache. Although caching is an entirely <em class="bcp14">OPTIONAL</em> feature of HTTP, we assume that reusing the cached response is desirable and that such reuse is the default behavior when
     
    797727         use as a cache key.
    798728      </p>
     729      <div id="rfc.iref.c.4"></div>
    799730      <p id="rfc.section.2.p.3">The primary <dfn>cache key</dfn> consists of the request method and target URI. However, since HTTP caches in common use today are typically limited to caching
    800731         responses to GET, many implementations simply decline other methods and use only the URI as the primary cache key.
     
    910841      <p id="rfc.section.4.p.7">A cache that does not have a clock available <em class="bcp14">MUST NOT</em> use stored responses without revalidating them upon every use.
    911842      </p>
     843      <div id="rfc.iref.f.1"></div>
     844      <div id="rfc.iref.s.2"></div>
    912845      <h2 id="rfc.section.4.1"><a href="#rfc.section.4.1">4.1</a>&nbsp;<a id="expiration.model" href="#expiration.model">Freshness</a></h2>
    913       <p id="rfc.section.4.1.p.1">When a response is "fresh" in the cache, it can be used to satisfy subsequent requests without contacting the origin server,
     846      <p id="rfc.section.4.1.p.1">A <dfn>fresh</dfn> response is one whose age has not yet exceeded its freshness lifetime. Conversely, a <dfn>stale</dfn> response is one where it has.
     847      </p>
     848      <div id="rfc.iref.f.2"></div>
     849      <div id="rfc.iref.e.1"></div>
     850      <div id="rfc.iref.h.1"></div>
     851      <p id="rfc.section.4.1.p.2">A response's <dfn>freshness lifetime</dfn> is the length of time between its generation by the origin server and its expiration time. An <dfn>explicit expiration time</dfn> is the time at which the origin server intends that a stored response can no longer be used by a cache without further validation,
     852         whereas a <dfn>heuristic expiration time</dfn> is assigned by a cache when no explicit expiriation time is available.
     853      </p>
     854      <div id="rfc.iref.a.1"></div>
     855      <p id="rfc.section.4.1.p.3">A response's <dfn>age</dfn> is the time that has passed since it was generated by, or successfully validated with, the origin server.
     856      </p>
     857      <p id="rfc.section.4.1.p.4">When a response is "fresh" in the cache, it can be used to satisfy subsequent requests without contacting the origin server,
    914858         thereby improving efficiency.
    915859      </p>
    916       <p id="rfc.section.4.1.p.2">The primary mechanism for determining freshness is for an origin server to provide an explicit expiration time in the future,
     860      <p id="rfc.section.4.1.p.5">The primary mechanism for determining freshness is for an origin server to provide an explicit expiration time in the future,
    917861         using either the <a href="#header.expires" class="smpl">Expires</a> header field (<a href="#header.expires" id="rfc.xref.header.expires.2" title="Expires">Section&nbsp;7.3</a>) or the max-age response cache directive (<a href="#cache-response-directive.max-age" title="max-age">Section&nbsp;7.2.2.8</a>). Generally, origin servers will assign future explicit expiration times to responses in the belief that the representation
    918862         is not likely to change in a semantically significant way before the expiration time is reached.
    919863      </p>
    920       <p id="rfc.section.4.1.p.3">If an origin server wishes to force a cache to validate every request, it can assign an explicit expiration time in the past
     864      <p id="rfc.section.4.1.p.6">If an origin server wishes to force a cache to validate every request, it can assign an explicit expiration time in the past
    921865         to indicate that the response is already stale. Compliant caches will normally validate a stale cached response before reusing
    922866         it for subsequent requests (see <a href="#serving.stale.responses" title="Serving Stale Responses">Section&nbsp;4.1.4</a>).
    923867      </p>
    924       <p id="rfc.section.4.1.p.4">Since origin servers do not always provide explicit expiration times, caches are also allowed to use a heuristic to determine
     868      <p id="rfc.section.4.1.p.7">Since origin servers do not always provide explicit expiration times, caches are also allowed to use a heuristic to determine
    925869         an expiration time under certain circumstances (see <a href="#heuristic.freshness" title="Calculating Heuristic Freshness">Section&nbsp;4.1.2</a>).
    926870      </p>
    927871      <div id="rfc.figure.u.2"></div>
    928872      <p>The calculation to determine if a response is fresh is:</p><pre class="text">   response_is_fresh = (freshness_lifetime &gt; current_age)
    929 </pre><p id="rfc.section.4.1.p.6">freshness_lifetime is defined in <a href="#calculating.freshness.lifetime" title="Calculating Freshness Lifetime">Section&nbsp;4.1.1</a>; current_age is defined in <a href="#age.calculations" title="Calculating Age">Section&nbsp;4.1.3</a>.
    930       </p>
    931       <p id="rfc.section.4.1.p.7">Clients can send the max-age or min-fresh cache directives in a request to constrain or relax freshness calculations for the
     873</pre><p id="rfc.section.4.1.p.9">freshness_lifetime is defined in <a href="#calculating.freshness.lifetime" title="Calculating Freshness Lifetime">Section&nbsp;4.1.1</a>; current_age is defined in <a href="#age.calculations" title="Calculating Age">Section&nbsp;4.1.3</a>.
     874      </p>
     875      <p id="rfc.section.4.1.p.10">Clients can send the max-age or min-fresh cache directives in a request to constrain or relax freshness calculations for the
    932876         corresponding response (<a href="#cache-request-directive" title="Request Cache-Control Directives">Section&nbsp;7.2.1</a>).
    933877      </p>
    934       <p id="rfc.section.4.1.p.8">When calculating freshness, to avoid common problems in date parsing:</p>
    935       <p id="rfc.section.4.1.p.9"> </p>
     878      <p id="rfc.section.4.1.p.11">When calculating freshness, to avoid common problems in date parsing:</p>
     879      <p id="rfc.section.4.1.p.12"> </p>
    936880      <ul>
    937881         <li>Although all date formats are specified to be case-sensitive, cache recipients <em class="bcp14">SHOULD</em> match day, week and timezone names case-insensitively.
     
    944888         </li>
    945889      </ul>
    946       <p id="rfc.section.4.1.p.10">Note that freshness applies only to cache operation; it cannot be used to force a user agent to refresh its display or reload
     890      <p id="rfc.section.4.1.p.13">Note that freshness applies only to cache operation; it cannot be used to force a user agent to refresh its display or reload
    947891         a resource. See <a href="#history.lists" title="History Lists">Section&nbsp;8</a> for an explanation of the difference between caches and history mechanisms.
    948892      </p>
     
    973917         "public" response cache directive).
    974918      </p>
    975       <p id="rfc.section.4.1.2.p.3">If the response has 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.2"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a>), caches are encouraged to use a heuristic expiration value that is no more than some fraction of the interval since that
     919      <p id="rfc.section.4.1.2.p.3">If the response has 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.1"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a>), caches are encouraged to use a heuristic expiration value that is no more than some fraction of the interval since that
    976920         time. A typical setting of this fraction might be 10%.
    977921      </p>
     
    1055999      <p id="rfc.section.4.1.4.p.4">A cache <em class="bcp14">SHOULD</em> append a <a href="#header.warning" class="smpl">Warning</a> header field with the 110 warn-code (see <a href="#header.warning" id="rfc.xref.header.warning.2" title="Warning">Section&nbsp;7.5</a>) to stale responses. Likewise, a cache <em class="bcp14">SHOULD</em> add the 112 warn-code to stale responses if the cache is disconnected.
    10561000      </p>
    1057       <p id="rfc.section.4.1.4.p.5">note that if a cache receives a first-hand response (either an entire response, or a <a href="p4-conditional.html#status.304" class="smpl">304 (Not Modified)</a> response) that it would normally forward to the requesting client, and the received response is no longer fresh, the cache
     1001      <div id="rfc.iref.f.3"></div>
     1002      <p id="rfc.section.4.1.4.p.5">Note that if a cache receives a <dfn>first-hand</dfn> response (one where the freshness model is not in use; i.e., its age is 0, whether it is an entire response, or a <a href="p4-conditional.html#status.304" class="smpl">304 (Not Modified)</a> response) that it would normally forward to the requesting client, and the received response is no longer fresh, the cache
    10581003         can forward it to the requesting client without adding a new <a href="#header.warning" class="smpl">Warning</a> (but without removing any existing Warning header fields). A cache shouldn't attempt to validate a response simply because
    10591004         that response became stale in transit.
     
    10611006      <h2 id="rfc.section.4.2"><a href="#rfc.section.4.2">4.2</a>&nbsp;<a id="validation.model" href="#validation.model">Validation</a></h2>
    10621007      <p id="rfc.section.4.2.p.1">When a cache has one or more stored responses for a requested URI, but cannot serve any of them (e.g., because they are not
    1063          fresh, or one cannot be selected; see <a href="#caching.negotiated.responses" title="Calculating Secondary Keys with Vary">Section&nbsp;4.3</a>), it can use the conditional request mechanism <a href="#Part4" id="rfc.xref.Part4.3"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[Part4]</cite></a> in the forwarded request to give the origin server an opportunity to both select a valid stored response to be used, and to
     1008         fresh, or one cannot be selected; see <a href="#caching.negotiated.responses" title="Calculating Secondary Keys with Vary">Section&nbsp;4.3</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 origin server an opportunity to both select a valid stored response to be used, and to
    10641009         update it. This process is known as "validating" or "revalidating" the stored response.
    10651010      </p>
    1066       <p id="rfc.section.4.2.p.2">When sending such a conditional request, a cache adds an <a href="p4-conditional.html#header.if-modified-since" class="smpl">If-Modified-Since</a> header field whose value is that of the <a href="p4-conditional.html#header.last-modified" class="smpl">Last-Modified</a> header field from the selected (see <a href="#caching.negotiated.responses" title="Calculating Secondary Keys with Vary">Section&nbsp;4.3</a>) stored response, if available.
    1067       </p>
    1068       <p id="rfc.section.4.2.p.3">Additionally, a cache can add an <a href="p4-conditional.html#header.if-none-match" class="smpl">If-None-Match</a> header field whose value is that of the <a href="p4-conditional.html#header.etag" class="smpl">ETag</a> header field(s) from relevant responses stored for the primary cache key, if present. However, if any of the stored responses
     1011      <div id="rfc.iref.v.1"></div>
     1012      <p id="rfc.section.4.2.p.2">When sending such a conditional request, a cache adds a <dfn>validator</dfn> (or more than one), that is used to find out whether a stored response is an equivalent copy of a current representation of
     1013         the resource.
     1014      </p>
     1015      <p id="rfc.section.4.2.p.3">One such validator is the <a href="p4-conditional.html#header.if-modified-since" class="smpl">If-Modified-Since</a> header field, whose value is that of the <a href="p4-conditional.html#header.last-modified" class="smpl">Last-Modified</a> header field from the selected (see <a href="#caching.negotiated.responses" title="Calculating Secondary Keys with Vary">Section&nbsp;4.3</a>) stored response, if available.
     1016      </p>
     1017      <p id="rfc.section.4.2.p.4">Another is the <a href="p4-conditional.html#header.if-none-match" class="smpl">If-None-Match</a> header field, whose value is that of the <a href="p4-conditional.html#header.etag" class="smpl">ETag</a> header field(s) from relevant responses stored for the primary cache key, if present. However, if any of the stored responses
    10691018         contains only partial content, the cache shouldn't include its entity-tag in the If-None-Match header field unless the request
    10701019         is for a range that would be fully satisfied by that stored response.
    10711020      </p>
    1072       <p id="rfc.section.4.2.p.4">Cache handling of a response to a conditional request is dependent upon its status code:</p>
    1073       <p id="rfc.section.4.2.p.5"> </p>
     1021      <p id="rfc.section.4.2.p.5">Cache handling of a response to a conditional request is dependent upon its status code:</p>
     1022      <p id="rfc.section.4.2.p.6"> </p>
    10741023      <ul>
    10751024         <li>A <a href="p4-conditional.html#status.304" class="smpl">304 (Not Modified)</a> response status code indicates that the stored response can be updated and reused; see <a href="#freshening.responses" title="Freshening Stored Responses upon Validation">Section&nbsp;4.2.1</a>.
     
    10861035         and then update the stored response(s) with the new information provided in the <a href="p4-conditional.html#status.304" class="smpl">304</a> response.
    10871036      </p>
     1037      <div id="rfc.iref.s.3"></div>
    10881038      <p id="rfc.section.4.2.1.p.2">The stored response to update is identified by using the first match (if any) of: </p>
    10891039      <ul>
    1090          <li>If the new response contains a strong validator, then that strong validator identifies the selected representation for update.
    1091             All of the stored responses with the same strong validator are selected. If none of the stored responses contain the same
    1092             strong validator, then the new response <em class="bcp14">MUST NOT</em> be used to update any stored responses.
     1040         <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.3"><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
     1041            strong validator are selected. If none of the stored responses contain the same strong validator, then the new response <em class="bcp14">MUST NOT</em> be used to update any stored responses.
    10931042         </li>
    10941043         <li>If the new response contains a weak validator and that validator corresponds to one of the cache's stored responses, then
     
    11801129      </p>
    11811130      <div id="rfc.figure.u.6"></div><pre class="inline"><span id="rfc.iref.g.2"></span>  <a href="#header.age" class="smpl">Age</a> = <a href="#delta-seconds" class="smpl">delta-seconds</a>
    1182 </pre><p id="rfc.section.7.1.p.3">Age field-values are non-negative integers, representing time in seconds (see <a href="#delta-seconds" title="Delta Seconds">Section&nbsp;1.3.1</a>).
     1131</pre><p id="rfc.section.7.1.p.3">Age field-values are non-negative integers, representing time in seconds (see <a href="#delta-seconds" title="Delta Seconds">Section&nbsp;1.2.1</a>).
    11831132      </p>
    11841133      <p id="rfc.section.7.1.p.4">The presence of an Age header field in a response implies that a response is not first-hand. However, the converse is not
    11851134         true, since HTTP/1.0 caches might not implement the Age header field.
    11861135      </p>
    1187       <div id="rfc.iref.c.6"></div>
     1136      <div id="rfc.iref.c.5"></div>
    11881137      <h2 id="rfc.section.7.2"><a href="#rfc.section.7.2">7.2</a>&nbsp;<a id="header.cache-control" href="#header.cache-control">Cache-Control</a></h2>
    11891138      <p id="rfc.section.7.2.p.1">The "Cache-Control" header field is used to specify directives for caches along the request/response chain. Such cache directives
     
    12141163      <p id="rfc.section.7.2.1.1.p.1">Argument syntax: </p>
    12151164      <ul class="empty">
    1216          <li> <a href="#delta-seconds" class="smpl">delta-seconds</a> (see <a href="#delta-seconds" title="Delta Seconds">Section&nbsp;1.3.1</a>)
     1165         <li> <a href="#delta-seconds" class="smpl">delta-seconds</a> (see <a href="#delta-seconds" title="Delta Seconds">Section&nbsp;1.2.1</a>)
    12171166         </li>
    12181167      </ul>
     
    12271176      <p id="rfc.section.7.2.1.2.p.1">Argument syntax: </p>
    12281177      <ul class="empty">
    1229          <li> <a href="#delta-seconds" class="smpl">delta-seconds</a> (see <a href="#delta-seconds" title="Delta Seconds">Section&nbsp;1.3.1</a>)
     1178         <li> <a href="#delta-seconds" class="smpl">delta-seconds</a> (see <a href="#delta-seconds" title="Delta Seconds">Section&nbsp;1.2.1</a>)
    12301179         </li>
    12311180      </ul>
     
    12411190      <p id="rfc.section.7.2.1.3.p.1">Argument syntax: </p>
    12421191      <ul class="empty">
    1243          <li> <a href="#delta-seconds" class="smpl">delta-seconds</a> (see <a href="#delta-seconds" title="Delta Seconds">Section&nbsp;1.3.1</a>)
     1192         <li> <a href="#delta-seconds" class="smpl">delta-seconds</a> (see <a href="#delta-seconds" title="Delta Seconds">Section&nbsp;1.2.1</a>)
    12441193         </li>
    12451194      </ul>
     
    13511300      <p id="rfc.section.7.2.2.8.p.1">Argument syntax: </p>
    13521301      <ul class="empty">
    1353          <li> <a href="#delta-seconds" class="smpl">delta-seconds</a> (see <a href="#delta-seconds" title="Delta Seconds">Section&nbsp;1.3.1</a>)
     1302         <li> <a href="#delta-seconds" class="smpl">delta-seconds</a> (see <a href="#delta-seconds" title="Delta Seconds">Section&nbsp;1.2.1</a>)
    13541303         </li>
    13551304      </ul>
     
    13631312      <p id="rfc.section.7.2.2.9.p.1">Argument syntax: </p>
    13641313      <ul class="empty">
    1365          <li> <a href="#delta-seconds" class="smpl">delta-seconds</a> (see <a href="#delta-seconds" title="Delta Seconds">Section&nbsp;1.3.1</a>)
     1314         <li> <a href="#delta-seconds" class="smpl">delta-seconds</a> (see <a href="#delta-seconds" title="Delta Seconds">Section&nbsp;1.2.1</a>)
    13661315         </li>
    13671316      </ul>
     
    15221471         of its meaning.
    15231472      </p>
    1524       <div id="rfc.iref.52"></div>
     1473      <div id="rfc.iref.50"></div>
    15251474      <h3 id="rfc.section.7.5.1"><a href="#rfc.section.7.5.1">7.5.1</a>&nbsp;<a id="warn.110" href="#warn.110">110 Response is Stale</a></h3>
    15261475      <p id="rfc.section.7.5.1.p.1">A cache <em class="bcp14">SHOULD</em> generate this whenever the sent response is stale.
    15271476      </p>
    1528       <div id="rfc.iref.52"></div>
     1477      <div id="rfc.iref.50"></div>
    15291478      <h3 id="rfc.section.7.5.2"><a href="#rfc.section.7.5.2">7.5.2</a>&nbsp;<a id="warn.111" href="#warn.111">111 Revalidation Failed</a></h3>
    15301479      <p id="rfc.section.7.5.2.p.1">A cache <em class="bcp14">SHOULD</em> generate this when sending a stale response because an attempt to validate the response failed, due to an inability to reach
    15311480         the server.
    15321481      </p>
    1533       <div id="rfc.iref.52"></div>
     1482      <div id="rfc.iref.50"></div>
    15341483      <h3 id="rfc.section.7.5.3"><a href="#rfc.section.7.5.3">7.5.3</a>&nbsp;<a id="warn.112" href="#warn.112">112 Disconnected Operation</a></h3>
    15351484      <p id="rfc.section.7.5.3.p.1">A cache <em class="bcp14">SHOULD</em> generate this if it is intentionally disconnected from the rest of the network for a period of time.
    15361485      </p>
    1537       <div id="rfc.iref.52"></div>
     1486      <div id="rfc.iref.50"></div>
    15381487      <h3 id="rfc.section.7.5.4"><a href="#rfc.section.7.5.4">7.5.4</a>&nbsp;<a id="warn.113" href="#warn.113">113 Heuristic Expiration</a></h3>
    15391488      <p id="rfc.section.7.5.4.p.1">A cache <em class="bcp14">SHOULD</em> generate this if it heuristically chose a freshness lifetime greater than 24 hours and the response's age is greater than
    15401489         24 hours.
    15411490      </p>
    1542       <div id="rfc.iref.52"></div>
     1491      <div id="rfc.iref.50"></div>
    15431492      <h3 id="rfc.section.7.5.5"><a href="#rfc.section.7.5.5">7.5.5</a>&nbsp;<a id="warn.199" href="#warn.199">199 Miscellaneous Warning</a></h3>
    15441493      <p id="rfc.section.7.5.5.p.1">The warning text can include arbitrary information to be presented to a human user, or logged. A system receiving this warning <em class="bcp14">MUST NOT</em> take any automated action, besides presenting the warning to the user.
    15451494      </p>
    1546       <div id="rfc.iref.52"></div>
     1495      <div id="rfc.iref.50"></div>
    15471496      <h3 id="rfc.section.7.5.6"><a href="#rfc.section.7.5.6">7.5.6</a>&nbsp;<a id="warn.214" href="#warn.214">214 Transformation Applied</a></h3>
    15481497      <p id="rfc.section.7.5.6.p.1"> <em class="bcp14">MUST</em> be added by a proxy if it applies any transformation to the representation, such as changing the content-coding, media-type,
    15491498         or modifying the representation data, unless this Warning code already appears in the response.
    15501499      </p>
    1551       <div id="rfc.iref.52"></div>
     1500      <div id="rfc.iref.50"></div>
    15521501      <h3 id="rfc.section.7.5.7"><a href="#rfc.section.7.5.7">7.5.7</a>&nbsp;<a id="warn.299" href="#warn.299">299 Miscellaneous Persistent Warning</a></h3>
    15531502      <p id="rfc.section.7.5.7.p.1">The warning text can include arbitrary information to be presented to a human user, or logged. A system receiving this warning <em class="bcp14">MUST NOT</em> take any automated action.
     
    20602009         <ul class="ind">
    20612010            <li><a id="rfc.index.1" href="#rfc.index.1"><b>1</b></a><ul>
    2062                   <li>110 Response is Stale (warn code)&nbsp;&nbsp;<a href="#rfc.iref.52"><b>7.5.1</b></a>, <a href="#rfc.xref.warn.110.1">9.2</a></li>
    2063                   <li>111 Revalidation Failed (warn code)&nbsp;&nbsp;<a href="#rfc.iref.52"><b>7.5.2</b></a>, <a href="#rfc.xref.warn.111.1">9.2</a></li>
    2064                   <li>112 Disconnected Operation (warn code)&nbsp;&nbsp;<a href="#rfc.iref.52"><b>7.5.3</b></a>, <a href="#rfc.xref.warn.112.1">9.2</a></li>
    2065                   <li>113 Heuristic Expiration (warn code)&nbsp;&nbsp;<a href="#rfc.iref.52"><b>7.5.4</b></a>, <a href="#rfc.xref.warn.113.1">9.2</a></li>
    2066                   <li>199 Miscellaneous Warning (warn code)&nbsp;&nbsp;<a href="#rfc.iref.52"><b>7.5.5</b></a>, <a href="#rfc.xref.warn.199.1">9.2</a></li>
     2011                  <li>110 Response is Stale (warn code)&nbsp;&nbsp;<a href="#rfc.iref.50"><b>7.5.1</b></a>, <a href="#rfc.xref.warn.110.1">9.2</a></li>
     2012                  <li>111 Revalidation Failed (warn code)&nbsp;&nbsp;<a href="#rfc.iref.50"><b>7.5.2</b></a>, <a href="#rfc.xref.warn.111.1">9.2</a></li>
     2013                  <li>112 Disconnected Operation (warn code)&nbsp;&nbsp;<a href="#rfc.iref.50"><b>7.5.3</b></a>, <a href="#rfc.xref.warn.112.1">9.2</a></li>
     2014                  <li>113 Heuristic Expiration (warn code)&nbsp;&nbsp;<a href="#rfc.iref.50"><b>7.5.4</b></a>, <a href="#rfc.xref.warn.113.1">9.2</a></li>
     2015                  <li>199 Miscellaneous Warning (warn code)&nbsp;&nbsp;<a href="#rfc.iref.50"><b>7.5.5</b></a>, <a href="#rfc.xref.warn.199.1">9.2</a></li>
    20672016               </ul>
    20682017            </li>
    20692018            <li><a id="rfc.index.2" href="#rfc.index.2"><b>2</b></a><ul>
    2070                   <li>214 Transformation Applied (warn code)&nbsp;&nbsp;<a href="#rfc.iref.52"><b>7.5.6</b></a>, <a href="#rfc.xref.warn.214.1">9.2</a></li>
    2071                   <li>299 Miscellaneous Persistent Warning (warn code)&nbsp;&nbsp;<a href="#rfc.iref.52"><b>7.5.7</b></a>, <a href="#rfc.xref.warn.299.1">9.2</a></li>
     2019                  <li>214 Transformation Applied (warn code)&nbsp;&nbsp;<a href="#rfc.iref.50"><b>7.5.6</b></a>, <a href="#rfc.xref.warn.214.1">9.2</a></li>
     2020                  <li>299 Miscellaneous Persistent Warning (warn code)&nbsp;&nbsp;<a href="#rfc.iref.50"><b>7.5.7</b></a>, <a href="#rfc.xref.warn.299.1">9.2</a></li>
    20722021               </ul>
    20732022            </li>
    20742023            <li><a id="rfc.index.A" href="#rfc.index.A"><b>A</b></a><ul>
    2075                   <li>age&nbsp;&nbsp;<a href="#rfc.iref.a.1">1.1</a></li>
     2024                  <li>age&nbsp;&nbsp;<a href="#rfc.iref.a.1">4.1</a></li>
    20762025                  <li>Age header field&nbsp;&nbsp;<a href="#rfc.xref.header.age.1">4</a>, <a href="#rfc.xref.header.age.2">4.1.3</a>, <a href="#rfc.iref.a.2"><b>7.1</b></a>, <a href="#rfc.xref.header.age.3">9.3</a></li>
    20772026               </ul>
     
    20822031            </li>
    20832032            <li><a id="rfc.index.C" href="#rfc.index.C"><b>C</b></a><ul>
    2084                   <li>cache&nbsp;&nbsp;<a href="#rfc.iref.c.1">1</a>, <a href="#rfc.iref.c.2">1.1</a></li>
    2085                   <li>cache entry&nbsp;&nbsp;<a href="#rfc.iref.c.4">2</a></li>
    2086                   <li>cache key&nbsp;&nbsp;<a href="#rfc.iref.c.5">2</a></li>
    2087                   <li>Cache-Control header field&nbsp;&nbsp;<a href="#rfc.xref.header.cache-control.1">3</a>, <a href="#rfc.iref.c.6"><b>7.2</b></a>, <a href="#rfc.xref.header.cache-control.2">9.3</a>, <a href="#rfc.xref.header.cache-control.3">A</a>, <a href="#rfc.xref.header.cache-control.4">A</a></li>
    2088                   <li>cacheable&nbsp;&nbsp;<a href="#rfc.iref.c.3">1.1</a></li>
     2033                  <li>cache&nbsp;&nbsp;<a href="#rfc.iref.c.1">1</a></li>
     2034                  <li>cache entry&nbsp;&nbsp;<a href="#rfc.iref.c.2">2</a></li>
     2035                  <li>cache key&nbsp;&nbsp;<a href="#rfc.iref.c.3">2</a>, <a href="#rfc.iref.c.4">2</a></li>
     2036                  <li>Cache-Control header field&nbsp;&nbsp;<a href="#rfc.xref.header.cache-control.1">3</a>, <a href="#rfc.iref.c.5"><b>7.2</b></a>, <a href="#rfc.xref.header.cache-control.2">9.3</a>, <a href="#rfc.xref.header.cache-control.3">A</a>, <a href="#rfc.xref.header.cache-control.4">A</a></li>
    20892037               </ul>
    20902038            </li>
    20912039            <li><a id="rfc.index.E" href="#rfc.index.E"><b>E</b></a><ul>
    20922040                  <li>Expires header field&nbsp;&nbsp;<a href="#rfc.xref.header.expires.1">3</a>, <a href="#rfc.xref.header.expires.2">4.1</a>, <a href="#rfc.xref.header.expires.3">4.1.1</a>, <a href="#rfc.iref.e.2"><b>7.3</b></a>, <a href="#rfc.xref.header.expires.4">9.3</a>, <a href="#rfc.xref.header.expires.5">A</a></li>
    2093                   <li>explicit expiration time&nbsp;&nbsp;<a href="#rfc.iref.e.1">1.1</a></li>
     2041                  <li>explicit expiration time&nbsp;&nbsp;<a href="#rfc.iref.e.1">4.1</a></li>
    20942042               </ul>
    20952043            </li>
    20962044            <li><a id="rfc.index.F" href="#rfc.index.F"><b>F</b></a><ul>
    2097                   <li>first-hand&nbsp;&nbsp;<a href="#rfc.iref.f.1">1.1</a></li>
    2098                   <li>fresh&nbsp;&nbsp;<a href="#rfc.iref.f.3">1.1</a></li>
    2099                   <li>freshness lifetime&nbsp;&nbsp;<a href="#rfc.iref.f.2">1.1</a></li>
     2045                  <li>first-hand&nbsp;&nbsp;<a href="#rfc.iref.f.3">4.1.4</a></li>
     2046                  <li>fresh&nbsp;&nbsp;<a href="#rfc.iref.f.1">4.1</a></li>
     2047                  <li>freshness lifetime&nbsp;&nbsp;<a href="#rfc.iref.f.2">4.1</a></li>
    21002048               </ul>
    21012049            </li>
     
    21062054                        <li><tt>Cache-Control</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.3"><b>7.2</b></a></li>
    21072055                        <li><tt>cache-directive</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.4"><b>7.2</b></a></li>
    2108                         <li><tt>delta-seconds</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.1"><b>1.3.1</b></a></li>
     2056                        <li><tt>delta-seconds</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.1"><b>1.2.1</b></a></li>
    21092057                        <li><tt>Expires</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.5"><b>7.3</b></a></li>
    21102058                        <li><tt>extension-pragma</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.8"><b>7.4</b></a></li>
     
    21222070            </li>
    21232071            <li><a id="rfc.index.H" href="#rfc.index.H"><b>H</b></a><ul>
    2124                   <li>heuristic expiration time&nbsp;&nbsp;<a href="#rfc.iref.h.1">1.1</a></li>
     2072                  <li>heuristic expiration time&nbsp;&nbsp;<a href="#rfc.iref.h.1">4.1</a></li>
    21252073               </ul>
    21262074            </li>
     
    21432091            </li>
    21442092            <li><a id="rfc.index.P" href="#rfc.index.P"><b>P</b></a><ul>
    2145                   <li><em>Part1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.1">1.2</a>, <a href="#rfc.xref.Part1.2">1.3</a>, <a href="#rfc.xref.Part1.3">3.1</a>, <a href="#rfc.xref.Part1.4">4</a>, <a href="#rfc.xref.Part1.5">4.3</a>, <a href="#rfc.xref.Part1.6">6</a>, <a href="#rfc.xref.Part1.7">6</a>, <a href="#rfc.xref.Part1.8">6</a>, <a href="#rfc.xref.Part1.9">7.2.1.6</a>, <a href="#rfc.xref.Part1.10">7.2.2.4</a>, <a href="#rfc.xref.Part1.11">10</a>, <a href="#rfc.xref.Part1.12">11</a>, <a href="#Part1"><b>12.1</b></a>, <a href="#rfc.xref.Part1.13">B</a>, <a href="#rfc.xref.Part1.14">B</a>, <a href="#rfc.xref.Part1.15">B</a>, <a href="#rfc.xref.Part1.16">B</a>, <a href="#rfc.xref.Part1.17">B</a>, <a href="#rfc.xref.Part1.18">B</a>, <a href="#rfc.xref.Part1.19">B</a>, <a href="#rfc.xref.Part1.20">B</a>, <a href="#rfc.xref.Part1.21">C</a><ul>
    2146                         <li><em>Section 1.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.2">1.3</a>, <a href="#rfc.xref.Part1.21">C</a></li>
    2147                         <li><em>Section 2.5</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.1">1.2</a></li>
     2093                  <li><em>Part1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.1">1.1</a>, <a href="#rfc.xref.Part1.2">1.2</a>, <a href="#rfc.xref.Part1.3">3.1</a>, <a href="#rfc.xref.Part1.4">4</a>, <a href="#rfc.xref.Part1.5">4.3</a>, <a href="#rfc.xref.Part1.6">6</a>, <a href="#rfc.xref.Part1.7">6</a>, <a href="#rfc.xref.Part1.8">6</a>, <a href="#rfc.xref.Part1.9">7.2.1.6</a>, <a href="#rfc.xref.Part1.10">7.2.2.4</a>, <a href="#rfc.xref.Part1.11">10</a>, <a href="#rfc.xref.Part1.12">11</a>, <a href="#Part1"><b>12.1</b></a>, <a href="#rfc.xref.Part1.13">B</a>, <a href="#rfc.xref.Part1.14">B</a>, <a href="#rfc.xref.Part1.15">B</a>, <a href="#rfc.xref.Part1.16">B</a>, <a href="#rfc.xref.Part1.17">B</a>, <a href="#rfc.xref.Part1.18">B</a>, <a href="#rfc.xref.Part1.19">B</a>, <a href="#rfc.xref.Part1.20">B</a>, <a href="#rfc.xref.Part1.21">C</a><ul>
     2094                        <li><em>Section 1.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.2">1.2</a>, <a href="#rfc.xref.Part1.21">C</a></li>
     2095                        <li><em>Section 2.5</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.1">1.1</a></li>
    21482096                        <li><em>Section 2.7</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.18">B</a>, <a href="#rfc.xref.Part1.20">B</a></li>
    21492097                        <li><em>Section 3.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part1.5">4.3</a>, <a href="#rfc.xref.Part1.15">B</a></li>
     
    21642112                     </ul>
    21652113                  </li>
    2166                   <li><em>Part4</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.1">1.1</a>, <a href="#rfc.xref.Part4.2">4.1.2</a>, <a href="#rfc.xref.Part4.3">4.2</a>, <a href="#Part4"><b>12.1</b></a><ul>
    2167                         <li><em>Section 2.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.1">1.1</a></li>
    2168                         <li><em>Section 2.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.2">4.1.2</a></li>
     2114                  <li><em>Part4</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.1">4.1.2</a>, <a href="#rfc.xref.Part4.2">4.2</a>, <a href="#rfc.xref.Part4.3">4.2.1</a>, <a href="#Part4"><b>12.1</b></a><ul>
     2115                        <li><em>Section 2.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.3">4.2.1</a></li>
     2116                        <li><em>Section 2.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part4.1">4.1.2</a></li>
    21692117                     </ul>
    21702118                  </li>
     
    21792127                  <li>Pragma header field&nbsp;&nbsp;<a href="#rfc.xref.header.pragma.1">4</a>, <a href="#rfc.iref.p.5"><b>7.4</b></a>, <a href="#rfc.xref.header.pragma.2">9.3</a>, <a href="#rfc.xref.header.pragma.3">A</a></li>
    21802128                  <li>private (cache directive)&nbsp;&nbsp;<a href="#rfc.iref.p.3"><b>7.2.2.6</b></a></li>
    2181                   <li>private cache&nbsp;&nbsp;<a href="#rfc.iref.p.1">1.1</a></li>
     2129                  <li>private cache&nbsp;&nbsp;<a href="#rfc.iref.p.1">1</a></li>
    21822130                  <li>proxy-revalidate (cache directive)&nbsp;&nbsp;<a href="#rfc.iref.p.4"><b>7.2.2.7</b></a></li>
    21832131                  <li>public (cache directive)&nbsp;&nbsp;<a href="#rfc.iref.p.2"><b>7.2.2.5</b></a></li>
     
    21862134            <li><a id="rfc.index.R" href="#rfc.index.R"><b>R</b></a><ul>
    21872135                  <li><em>RFC1305</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC1305.1">4.1.3</a>, <a href="#RFC1305"><b>12.2</b></a></li>
    2188                   <li><em>RFC2119</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC2119.1">1.2</a>, <a href="#RFC2119"><b>12.1</b></a></li>
     2136                  <li><em>RFC2119</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC2119.1">1.1</a>, <a href="#RFC2119"><b>12.1</b></a></li>
    21892137                  <li><em>RFC2616</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC2616.1">4.1.2</a>, <a href="#RFC2616"><b>12.2</b></a><ul>
    21902138                        <li><em>Section 13.9</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC2616.1">4.1.2</a></li>
     
    21952143                     </ul>
    21962144                  </li>
    2197                   <li><em>RFC5234</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC5234.1">1.3</a>, <a href="#RFC5234"><b>12.1</b></a>, <a href="#rfc.xref.RFC5234.2">B</a><ul>
     2145                  <li><em>RFC5234</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC5234.1">1.2</a>, <a href="#RFC5234"><b>12.1</b></a>, <a href="#rfc.xref.RFC5234.2">B</a><ul>
    21982146                        <li><em>Appendix B.1</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC5234.2">B</a></li>
    21992147                     </ul>
     
    22092157            <li><a id="rfc.index.S" href="#rfc.index.S"><b>S</b></a><ul>
    22102158                  <li>s-maxage (cache directive)&nbsp;&nbsp;<a href="#rfc.iref.s.4"><b>7.2.2.9</b></a></li>
    2211                   <li>shared cache&nbsp;&nbsp;<a href="#rfc.iref.s.1">1.1</a></li>
    2212                   <li>stale&nbsp;&nbsp;<a href="#rfc.iref.s.2">1.1</a></li>
    2213                   <li>strong validator&nbsp;&nbsp;<a href="#rfc.iref.s.3">1.1</a></li>
     2159                  <li>shared cache&nbsp;&nbsp;<a href="#rfc.iref.s.1">1</a></li>
     2160                  <li>stale&nbsp;&nbsp;<a href="#rfc.iref.s.2">4.1</a></li>
     2161                  <li>strong validator&nbsp;&nbsp;<a href="#rfc.iref.s.3">4.2.1</a></li>
    22142162               </ul>
    22152163            </li>
    22162164            <li><a id="rfc.index.V" href="#rfc.index.V"><b>V</b></a><ul>
    2217                   <li>validator&nbsp;&nbsp;<a href="#rfc.iref.v.1">1.1</a><ul>
    2218                         <li>strong&nbsp;&nbsp;<a href="#rfc.iref.v.2">1.1</a></li>
    2219                      </ul>
    2220                   </li>
     2165                  <li>validator&nbsp;&nbsp;<a href="#rfc.iref.v.1">4.2</a></li>
    22212166               </ul>
    22222167            </li>
Note: See TracChangeset for help on using the changeset viewer.