Changeset 1860


Ignore:
Timestamp:
Sep 3, 2012, 4:03:33 PM (7 years ago)
Author:
fielding@…
Message:

(editorial) move Vary to p2 because it is generated by origin servers and not limited to caching

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

Legend:

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

    r1859 r1860  
    719719               <li><a href="#rfc.section.8.2">8.2</a>&nbsp;&nbsp;&nbsp;<a href="#response.cache.related">Cache-related</a><ul>
    720720                     <li><a href="#rfc.section.8.2.1">8.2.1</a>&nbsp;&nbsp;&nbsp;<a href="#header.date">Date</a></li>
     721                     <li><a href="#rfc.section.8.2.2">8.2.2</a>&nbsp;&nbsp;&nbsp;<a href="#header.vary">Vary</a></li>
    721722                  </ul>
    722723               </li>
     
    11711172         </p>
    11721173      </div>
    1173       <p id="rfc.section.3.5.1.p.7">The <a href="p6-cache.html#header.vary" class="smpl">Vary</a> header field (<a href="p6-cache.html#header.vary" title="Vary">Section 7.5</a> of <a href="#Part6" id="rfc.xref.Part6.2"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>) can be used to express the parameters the server uses to select a representation that is subject to proactive negotiation.
     1174      <p id="rfc.section.3.5.1.p.7">The <a href="#header.vary" class="smpl">Vary</a> header field (<a href="#header.vary" id="rfc.xref.header.vary.1" title="Vary">Section&nbsp;8.2.2</a>) can be used to express the parameters the server uses to select a representation that is subject to proactive negotiation.
    11741175      </p>
    11751176      <h3 id="rfc.section.3.5.2"><a href="#rfc.section.3.5.2">3.5.2</a>&nbsp;<a id="reactive.negotiation" href="#reactive.negotiation">Reactive Negotiation</a></h3>
     
    13591360         are defined to be cacheable. In general, safe methods that do not depend on a current or authoritative response are cacheable,
    13601361         though the overwhelming majority of caches only support GET and HEAD. HTTP requirements for cache behavior and cacheable responses
    1361          are defined in <a href="#Part6" id="rfc.xref.Part6.3"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>.
     1362         are defined in <a href="#Part6" id="rfc.xref.Part6.2"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>.
    13621363      </p>
    13631364      <h2 id="rfc.section.5.3"><a href="#rfc.section.5.3">5.3</a>&nbsp;<a id="method.definitions" href="#method.definitions">Method Definitions</a></h2>
     
    13791380         to reject the request.
    13801381      </p>
    1381       <p id="rfc.section.5.3.1.p.6">The response to a GET request is cacheable and <em class="bcp14">MAY</em> be used to satisfy subsequent GET and HEAD requests (see <a href="#Part6" id="rfc.xref.Part6.4"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>).
     1382      <p id="rfc.section.5.3.1.p.6">The response to a GET request is cacheable and <em class="bcp14">MAY</em> be used to satisfy subsequent GET and HEAD requests (see <a href="#Part6" id="rfc.xref.Part6.3"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>).
    13821383      </p>
    13831384      <p id="rfc.section.5.3.1.p.7">See <a href="#encoding.sensitive.information.in.uris" title="Encoding Sensitive Information in URIs">Section&nbsp;11.2</a> for security considerations when used for forms.
     
    13901391         hypertext links for validity, accessibility, and recent modification.
    13911392      </p>
    1392       <p id="rfc.section.5.3.2.p.2">The response to a HEAD request is cacheable and <em class="bcp14">MAY</em> be used to satisfy a subsequent HEAD request. It also has potential side effects on previously stored responses to GET; see <a href="p6-cache.html#head.effects" title="Updating Caches with HEAD Responses">Section 5</a> of <a href="#Part6" id="rfc.xref.Part6.5"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>.
     1393      <p id="rfc.section.5.3.2.p.2">The response to a HEAD request is cacheable and <em class="bcp14">MAY</em> be used to satisfy a subsequent HEAD request. It also has potential side effects on previously stored responses to GET; see <a href="p6-cache.html#head.effects" title="Updating Caches with HEAD Responses">Section 5</a> of <a href="#Part6" id="rfc.xref.Part6.4"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>.
    13931394      </p>
    13941395      <p id="rfc.section.5.3.2.p.3">Bodies on HEAD requests have no defined semantics. Note that sending a body on a HEAD request might cause some existing implementations
     
    14151416      <p id="rfc.section.5.3.3.p.4">If a resource has been created on the origin server, the response <em class="bcp14">SHOULD</em> be <a href="#status.201" class="smpl">201 (Created)</a> and contain a representation which describes the status of the request and refers to the new resource, and a <a href="#header.location" class="smpl">Location</a> header field (see <a href="#header.location" id="rfc.xref.header.location.1" title="Location">Section&nbsp;8.1.1</a>).
    14161417      </p>
    1417       <p id="rfc.section.5.3.3.p.5">Responses to POST requests are only cacheable when they include explicit freshness information (see <a href="p6-cache.html#calculating.freshness.lifetime" title="Calculating Freshness Lifetime">Section 4.1.1</a> of <a href="#Part6" id="rfc.xref.Part6.6"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>). A cached POST response with a <a href="#header.content-location" class="smpl">Content-Location</a> header field (see <a href="#header.content-location" id="rfc.xref.header.content-location.2" title="Content-Location">Section&nbsp;3.2.4</a>) whose value is the effective Request URI <em class="bcp14">MAY</em> be used to satisfy subsequent GET and HEAD requests.
     1418      <p id="rfc.section.5.3.3.p.5">Responses to POST requests are only cacheable when they include explicit freshness information (see <a href="p6-cache.html#calculating.freshness.lifetime" title="Calculating Freshness Lifetime">Section 4.1.1</a> of <a href="#Part6" id="rfc.xref.Part6.5"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>). A cached POST response with a <a href="#header.content-location" class="smpl">Content-Location</a> header field (see <a href="#header.content-location" id="rfc.xref.header.content-location.2" title="Content-Location">Section&nbsp;3.2.4</a>) whose value is the effective Request URI <em class="bcp14">MAY</em> be used to satisfy subsequent GET and HEAD requests.
    14181419      </p>
    14191420      <p id="rfc.section.5.3.3.p.6">Note that POST caching is not widely implemented. However, the <a href="#status.303" class="smpl">303 (See Other)</a> response can be used to direct the user agent to retrieve a cacheable representation of the resource.
     
    14811482      </p>
    14821483      <p id="rfc.section.5.3.4.p.11">Responses to the PUT method are not cacheable. If a PUT request passes through a cache that has one or more stored responses
    1483          for the effective request URI, those stored responses will be invalidated (see <a href="p6-cache.html#invalidation.after.updates.or.deletions" title="Request Methods that Invalidate">Section 6</a> of <a href="#Part6" id="rfc.xref.Part6.7"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>).
     1484         for the effective request URI, those stored responses will be invalidated (see <a href="p6-cache.html#invalidation.after.updates.or.deletions" title="Request Methods that Invalidate">Section 6</a> of <a href="#Part6" id="rfc.xref.Part6.6"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>).
    14841485      </p>
    14851486      <h3 id="rfc.section.5.3.5"><a href="#rfc.section.5.3.5">5.3.5</a>&nbsp;<a id="DELETE" href="#DELETE">DELETE</a></h3>
     
    14971498      </p>
    14981499      <p id="rfc.section.5.3.5.p.4">Responses to the DELETE method are not cacheable. If a DELETE request passes through a cache that has one or more stored responses
    1499          for the effective request URI, those stored responses will be invalidated (see <a href="p6-cache.html#invalidation.after.updates.or.deletions" title="Request Methods that Invalidate">Section 6</a> of <a href="#Part6" id="rfc.xref.Part6.8"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>).
     1500         for the effective request URI, those stored responses will be invalidated (see <a href="p6-cache.html#invalidation.after.updates.or.deletions" title="Request Methods that Invalidate">Section 6</a> of <a href="#Part6" id="rfc.xref.Part6.7"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>).
    15001501      </p>
    15011502      <div id="rfc.iref.c.7"></div>
     
    23802381         <dd>a representation containing the request message as received by the end server.</dd>
    23812382      </dl>
    2382       <p id="rfc.section.7.3.1.p.2">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.9"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>) to determine freshness for 200 responses.
     2383      <p id="rfc.section.7.3.1.p.2">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.8"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>) to determine freshness for 200 responses.
    23832384      </p>
    23842385      <div id="rfc.iref.80"></div>
     
    24102411      <div id="rfc.iref.s.10"></div>
    24112412      <h3 id="rfc.section.7.3.4"><a href="#rfc.section.7.3.4">7.3.4</a>&nbsp;<a id="status.203" href="#status.203">203 Non-Authoritative Information</a></h3>
    2412       <p id="rfc.section.7.3.4.p.1">The representation in the response has been transformed or otherwise modified by a transforming proxy (<a href="p1-messaging.html#intermediaries" title="Intermediaries">Section 2.3</a> of <a href="#Part1" id="rfc.xref.Part1.20"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>). Note that the behavior of transforming intermediaries is controlled by the no-transform Cache-Control directive (<a href="p6-cache.html#header.cache-control" title="Cache-Control">Section 7.2</a> of <a href="#Part6" id="rfc.xref.Part6.10"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>).
     2413      <p id="rfc.section.7.3.4.p.1">The representation in the response has been transformed or otherwise modified by a transforming proxy (<a href="p1-messaging.html#intermediaries" title="Intermediaries">Section 2.3</a> of <a href="#Part1" id="rfc.xref.Part1.20"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>). Note that the behavior of transforming intermediaries is controlled by the no-transform Cache-Control directive (<a href="p6-cache.html#header.cache-control" title="Cache-Control">Section 7.2</a> of <a href="#Part6" id="rfc.xref.Part6.9"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>).
    24132414      </p>
    24142415      <p id="rfc.section.7.3.4.p.2">This status code is only appropriate when the response status code would have been <a href="#status.200" class="smpl">200 (OK)</a> otherwise. When the status code before transformation would have been different, the 214 Transformation Applied warn-code
    2415          (<a href="p6-cache.html#header.warning" title="Warning">Section 7.6</a> of <a href="#Part6" id="rfc.xref.Part6.11"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>) is appropriate.
    2416       </p>
    2417       <p id="rfc.section.7.3.4.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.12"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>) to determine freshness for 203 responses.
     2416         (<a href="p6-cache.html#header.warning" title="Warning">Section 7.5</a> of <a href="#Part6" id="rfc.xref.Part6.10"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>) is appropriate.
     2417      </p>
     2418      <p id="rfc.section.7.3.4.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.11"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>) to determine freshness for 203 responses.
    24182419      </p>
    24192420      <div id="rfc.iref.83"></div>
     
    25072508      <p id="rfc.section.7.4.1.p.3">If the server has a preferred choice of representation, it <em class="bcp14">SHOULD</em> include the specific URI for that representation in the <a href="#header.location" class="smpl">Location</a> field; user agents <em class="bcp14">MAY</em> use the Location field value for automatic redirection.
    25082509      </p>
    2509       <p id="rfc.section.7.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.13"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>) to determine freshness for 300 responses.
     2510      <p id="rfc.section.7.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="HTTP/1.1, part 6: Caching">[Part6]</cite></a>) to determine freshness for 300 responses.
    25102511      </p>
    25112512      <div id="rfc.iref.87"></div>
     
    25152516         request URI to one or more of the new references returned by the server, where possible.
    25162517      </p>
    2517       <p id="rfc.section.7.4.2.p.2">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="HTTP/1.1, part 6: Caching">[Part6]</cite></a>) to determine freshness for 301 responses.
     2518      <p id="rfc.section.7.4.2.p.2">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="HTTP/1.1, part 6: Caching">[Part6]</cite></a>) to determine freshness for 301 responses.
    25182519      </p>
    25192520      <p id="rfc.section.7.4.2.p.3">The new permanent URI <em class="bcp14">SHOULD</em> be given by the <a href="#header.location" class="smpl">Location</a> field in the response. A response payload can contain a short hypertext note with a hyperlink to the new URI(s).
     
    26642665         — that is left to the discretion of the server owner.
    26652666      </p>
    2666       <p id="rfc.section.7.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.15"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>) to determine freshness for 410 responses.
     2667      <p id="rfc.section.7.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="HTTP/1.1, part 6: Caching">[Part6]</cite></a>) to determine freshness for 410 responses.
    26672668      </p>
    26682669      <div id="rfc.iref.103"></div>
     
    28562857            <tbody>
    28572858               <tr>
     2859                  <td class="left">Age</td>
     2860                  <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="HTTP/1.1, part 6: Caching">[Part6]</cite></a></td>
     2861               </tr>
     2862               <tr>
    28582863                  <td class="left">Date</td>
    28592864                  <td class="left"><a href="#header.date" id="rfc.xref.header.date.1" title="Date">Section&nbsp;8.2.1</a></td>
    28602865               </tr>
    28612866               <tr>
    2862                   <td class="left">Age</td>
    2863                   <td class="left"><a href="p6-cache.html#header.age" title="Age">Section 7.1</a> of <a href="#Part6" id="rfc.xref.Part6.16"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a></td>
    2864                </tr>
    2865                <tr>
    28662867                  <td class="left">Vary</td>
    2867                   <td class="left"><a href="p6-cache.html#header.vary" title="Vary">Section 7.5</a> of <a href="#Part6" id="rfc.xref.Part6.17"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a></td>
     2868                  <td class="left"><a href="#header.vary" id="rfc.xref.header.vary.2" title="Vary">Section&nbsp;8.2.2</a></td>
    28682869               </tr>
    28692870            </tbody>
     
    29002901         value.
    29012902      </p>
     2903      <div id="rfc.iref.v.1"></div>
     2904      <div id="rfc.iref.h.18"></div>
     2905      <h3 id="rfc.section.8.2.2"><a href="#rfc.section.8.2.2">8.2.2</a>&nbsp;<a id="header.vary" href="#header.vary">Vary</a></h3>
     2906      <p id="rfc.section.8.2.2.p.1">The "Vary" header field conveys the set of header fields that were used to select the representation.</p>
     2907      <p id="rfc.section.8.2.2.p.2">Caches use this information as part of determining whether a stored response can be used to satisfy a given 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.16"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>).
     2908      </p>
     2909      <p id="rfc.section.8.2.2.p.3">In uncacheable or stale responses, the Vary field value advises the user agent about the criteria that were used to select
     2910         the representation.
     2911      </p>
     2912      <div id="rfc.figure.u.42"></div><pre class="inline"><span id="rfc.iref.g.31"></span>  <a href="#header.vary" class="smpl">Vary</a> = "*" / 1#<a href="p1-messaging.html#header.fields" class="smpl">field-name</a>
     2913</pre><p id="rfc.section.8.2.2.p.5">The set of header fields named by the Vary field value is known as the selecting header fields.</p>
     2914      <p id="rfc.section.8.2.2.p.6">A server <em class="bcp14">SHOULD</em> include a Vary header field with any cacheable response that is subject to proactive negotiation. Doing so allows a cache
     2915         to properly interpret future requests on that resource and informs the user agent about the presence of negotiation on that
     2916         resource. A server <em class="bcp14">MAY</em> include a Vary header field with a non-cacheable response that is subject to proactive negotiation, since this might provide
     2917         the user agent with useful information about the dimensions over which the response varies at the time of the response.
     2918      </p>
     2919      <p id="rfc.section.8.2.2.p.7">A Vary field value of "*" signals that unspecified parameters not limited to the header fields (e.g., the network address
     2920         of the client), play a role in the selection of the response representation; therefore, a cache cannot determine whether this
     2921         response is appropriate. A proxy <em class="bcp14">MUST NOT</em> generate the "*" value.
     2922      </p>
     2923      <p id="rfc.section.8.2.2.p.8">The field-names given are not limited to the set of standard header fields defined by this specification. Field names are
     2924         case-insensitive.
     2925      </p>
    29022926      <h2 id="rfc.section.8.3"><a href="#rfc.section.8.3">8.3</a>&nbsp;<a id="response.auth" href="#response.auth">Authentication Challenges</a></h2>
    29032927      <p id="rfc.section.8.3.p.1">Authentication challenges indicate what mechanisms are available for the client to provide authentication credentials in future
     
    29512975      </div>
    29522976      <div id="rfc.iref.a.5"></div>
    2953       <div id="rfc.iref.h.18"></div>
     2977      <div id="rfc.iref.h.19"></div>
    29542978      <h3 id="rfc.section.8.4.1"><a href="#rfc.section.8.4.1">8.4.1</a>&nbsp;<a id="header.allow" href="#header.allow">Allow</a></h3>
    29552979      <p id="rfc.section.8.4.1.p.1">The "Allow" header field lists the set of methods advertised as supported by the target resource. The purpose of this field
    29562980         is strictly to inform the recipient of valid request methods associated with the resource.
    29572981      </p>
    2958       <div id="rfc.figure.u.42"></div><pre class="inline"><span id="rfc.iref.g.31"></span>  <a href="#header.allow" class="smpl">Allow</a> = #<a href="#method.overview" class="smpl">method</a>
     2982      <div id="rfc.figure.u.43"></div><pre class="inline"><span id="rfc.iref.g.32"></span>  <a href="#header.allow" class="smpl">Allow</a> = #<a href="#method.overview" class="smpl">method</a>
    29592983</pre><p id="rfc.section.8.4.1.p.3">Example of use:</p>
    2960       <div id="rfc.figure.u.43"></div><pre class="text">  Allow: GET, HEAD, PUT
     2984      <div id="rfc.figure.u.44"></div><pre class="text">  Allow: GET, HEAD, PUT
    29612985</pre><p id="rfc.section.8.4.1.p.5">The actual set of allowed methods is defined by the origin server at the time of each request.</p>
    29622986      <p id="rfc.section.8.4.1.p.6">A proxy <em class="bcp14">MUST NOT</em> modify the Allow header field — it does not need to understand all the methods specified in order to handle them according
     
    29642988      </p>
    29652989      <div id="rfc.iref.s.44"></div>
    2966       <div id="rfc.iref.h.19"></div>
     2990      <div id="rfc.iref.h.20"></div>
    29672991      <h3 id="rfc.section.8.4.2"><a href="#rfc.section.8.4.2">8.4.2</a>&nbsp;<a id="header.server" href="#header.server">Server</a></h3>
    29682992      <p id="rfc.section.8.4.2.p.1">The "Server" header field contains information about the software used by the origin server to handle the request.</p>
     
    29702994         identifying the application.
    29712995      </p>
    2972       <div id="rfc.figure.u.44"></div><pre class="inline"><span id="rfc.iref.g.32"></span>  <a href="#header.server" class="smpl">Server</a> = <a href="#product.tokens" class="smpl">product</a> *( <a href="#imported.abnf" class="smpl">RWS</a> ( <a href="#product.tokens" class="smpl">product</a> / <a href="#imported.abnf" class="smpl">comment</a> ) )
     2996      <div id="rfc.figure.u.45"></div><pre class="inline"><span id="rfc.iref.g.33"></span>  <a href="#header.server" class="smpl">Server</a> = <a href="#product.tokens" class="smpl">product</a> *( <a href="#imported.abnf" class="smpl">RWS</a> ( <a href="#product.tokens" class="smpl">product</a> / <a href="#imported.abnf" class="smpl">comment</a> ) )
    29732997</pre><p id="rfc.section.8.4.2.p.4">Example:</p>
    2974       <div id="rfc.figure.u.45"></div><pre class="text">  Server: CERN/3.0 libwww/2.17
     2998      <div id="rfc.figure.u.46"></div><pre class="text">  Server: CERN/3.0 libwww/2.17
    29752999</pre><p id="rfc.section.8.4.2.p.6">If the response is being forwarded through a proxy, the proxy application <em class="bcp14">MUST NOT</em> modify the <a href="#header.server" class="smpl">Server</a> header field. Instead, it <em class="bcp14">MUST</em> include a <a href="p1-messaging.html#header.via" class="smpl">Via</a> field (as described in <a href="p1-messaging.html#header.via" title="Via">Section 5.7</a> of <a href="#Part1" id="rfc.xref.Part1.26"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>).
    29763000      </p>
     
    29863010         a fixed-length subset of that defined by <a href="#RFC1123" id="rfc.xref.RFC1123.1"><cite title="Requirements for Internet Hosts - Application and Support">[RFC1123]</cite></a>:
    29873011      </p>
    2988       <div id="rfc.figure.u.46"></div><pre class="text">Sun, 06 Nov 1994 08:49:37 GMT  ; RFC 1123
     3012      <div id="rfc.figure.u.47"></div><pre class="text">Sun, 06 Nov 1994 08:49:37 GMT  ; RFC 1123
    29893013</pre><p id="rfc.section.9.1.p.3">The other formats are described here only for compatibility with obsolete implementations.</p>
    2990       <div id="rfc.figure.u.47"></div><pre class="text">Sunday, 06-Nov-94 08:49:37 GMT ; obsolete RFC 850 format
     3014      <div id="rfc.figure.u.48"></div><pre class="text">Sunday, 06-Nov-94 08:49:37 GMT ; obsolete RFC 850 format
    29913015Sun Nov  6 08:49:37 1994       ; ANSI C's asctime() format
    29923016</pre><p id="rfc.section.9.1.p.5">HTTP/1.1 clients and servers that parse a date value <em class="bcp14">MUST</em> accept all three formats (for compatibility with HTTP/1.0), though they <em class="bcp14">MUST</em> only generate the RFC 1123 format for representing HTTP-date values in header fields.
     
    29963020         time zone, and <em class="bcp14">MUST</em> be assumed when reading the asctime format. HTTP-date is case sensitive and <em class="bcp14">MUST NOT</em> include additional whitespace beyond that specifically included as SP in the grammar.
    29973021      </p>
    2998       <div id="rfc.figure.u.48"></div><pre class="inline"><span id="rfc.iref.g.33"></span>  <a href="#http.date" class="smpl">HTTP-date</a>    = <a href="#preferred.date.format" class="smpl">rfc1123-date</a> / <a href="#obsolete.date.formats" class="smpl">obs-date</a>
     3022      <div id="rfc.figure.u.49"></div><pre class="inline"><span id="rfc.iref.g.34"></span>  <a href="#http.date" class="smpl">HTTP-date</a>    = <a href="#preferred.date.format" class="smpl">rfc1123-date</a> / <a href="#obsolete.date.formats" class="smpl">obs-date</a>
    29993023</pre><div id="preferred.date.format">
    30003024         <p id="rfc.section.9.1.p.8">                    Preferred format:</p>
    30013025      </div>
    3002       <div id="rfc.figure.u.49"></div><pre class="inline"><span id="rfc.iref.g.34"></span><span id="rfc.iref.g.35"></span><span id="rfc.iref.g.36"></span><span id="rfc.iref.g.37"></span><span id="rfc.iref.g.38"></span><span id="rfc.iref.g.39"></span><span id="rfc.iref.g.40"></span><span id="rfc.iref.g.41"></span><span id="rfc.iref.g.42"></span><span id="rfc.iref.g.43"></span><span id="rfc.iref.g.44"></span><span id="rfc.iref.g.45"></span>  <a href="#preferred.date.format" class="smpl">rfc1123-date</a> = <a href="#preferred.date.format" class="smpl">day-name</a> "," <a href="#imported.abnf" class="smpl">SP</a> date1 <a href="#imported.abnf" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">time-of-day</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">GMT</a>
     3026      <div id="rfc.figure.u.50"></div><pre class="inline"><span id="rfc.iref.g.35"></span><span id="rfc.iref.g.36"></span><span id="rfc.iref.g.37"></span><span id="rfc.iref.g.38"></span><span id="rfc.iref.g.39"></span><span id="rfc.iref.g.40"></span><span id="rfc.iref.g.41"></span><span id="rfc.iref.g.42"></span><span id="rfc.iref.g.43"></span><span id="rfc.iref.g.44"></span><span id="rfc.iref.g.45"></span><span id="rfc.iref.g.46"></span>  <a href="#preferred.date.format" class="smpl">rfc1123-date</a> = <a href="#preferred.date.format" class="smpl">day-name</a> "," <a href="#imported.abnf" class="smpl">SP</a> date1 <a href="#imported.abnf" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">time-of-day</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">GMT</a>
    30033027  ; fixed length subset of the format defined in
    30043028  ; <a href="http://tools.ietf.org/html/rfc1123#section-5.2.14">Section 5.2.14</a> of <a href="#RFC1123" id="rfc.xref.RFC1123.2"><cite title="Requirements for Internet Hosts - Application and Support">[RFC1123]</cite></a>
     
    30433067         <p id="rfc.section.9.1.p.11">              Obsolete formats:</p>
    30443068      </div>
    3045       <div id="rfc.figure.u.50"></div><pre class="inline"><span id="rfc.iref.g.46"></span>  <a href="#obsolete.date.formats" class="smpl">obs-date</a>     = <a href="#obsolete.date.formats" class="smpl">rfc850-date</a> / <a href="#obsolete.date.formats" class="smpl">asctime-date</a>
    3046 </pre><div id="rfc.figure.u.51"></div><pre class="inline"><span id="rfc.iref.g.47"></span>  <a href="#obsolete.date.formats" class="smpl">rfc850-date</a>  = <a href="#obsolete.date.formats" class="smpl">day-name-l</a> "," <a href="#imported.abnf" class="smpl">SP</a> <a href="#obsolete.date.formats" class="smpl">date2</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">time-of-day</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">GMT</a>
     3069      <div id="rfc.figure.u.51"></div><pre class="inline"><span id="rfc.iref.g.47"></span>  <a href="#obsolete.date.formats" class="smpl">obs-date</a>     = <a href="#obsolete.date.formats" class="smpl">rfc850-date</a> / <a href="#obsolete.date.formats" class="smpl">asctime-date</a>
     3070</pre><div id="rfc.figure.u.52"></div><pre class="inline"><span id="rfc.iref.g.48"></span>  <a href="#obsolete.date.formats" class="smpl">rfc850-date</a>  = <a href="#obsolete.date.formats" class="smpl">day-name-l</a> "," <a href="#imported.abnf" class="smpl">SP</a> <a href="#obsolete.date.formats" class="smpl">date2</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">time-of-day</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">GMT</a>
    30473071  <a href="#obsolete.date.formats" class="smpl">date2</a>        = <a href="#preferred.date.format" class="smpl">day</a> "-" <a href="#preferred.date.format" class="smpl">month</a> "-" 2<a href="#imported.abnf" class="smpl">DIGIT</a>
    30483072                 ; day-month-year (e.g., 02-Jun-82)
     
    30553079         / %x53.61.74.75.72.64.61.79 ; "Saturday", case-sensitive
    30563080         / %x53.75.6E.64.61.79 ; "Sunday", case-sensitive
    3057 </pre><div id="rfc.figure.u.52"></div><pre class="inline"><span id="rfc.iref.g.48"></span>  <a href="#obsolete.date.formats" class="smpl">asctime-date</a> = <a href="#preferred.date.format" class="smpl">day-name</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#obsolete.date.formats" class="smpl">date3</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">time-of-day</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">year</a>
     3081</pre><div id="rfc.figure.u.53"></div><pre class="inline"><span id="rfc.iref.g.49"></span>  <a href="#obsolete.date.formats" class="smpl">asctime-date</a> = <a href="#preferred.date.format" class="smpl">day-name</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#obsolete.date.formats" class="smpl">date3</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">time-of-day</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">year</a>
    30583082  <a href="#obsolete.date.formats" class="smpl">date3</a>        = <a href="#preferred.date.format" class="smpl">month</a> <a href="#imported.abnf" class="smpl">SP</a> ( 2<a href="#imported.abnf" class="smpl">DIGIT</a> / ( <a href="#imported.abnf" class="smpl">SP</a> 1<a href="#imported.abnf" class="smpl">DIGIT</a> ))
    30593083                 ; month day (e.g., Jun  2)
     
    30733097         By convention, the products are listed in order of their significance for identifying the application.
    30743098      </p>
    3075       <div id="rfc.figure.u.53"></div><pre class="inline"><span id="rfc.iref.g.49"></span><span id="rfc.iref.g.50"></span>  <a href="#product.tokens" class="smpl">product</a>         = <a href="#imported.abnf" class="smpl">token</a> ["/" <a href="#product.tokens" class="smpl">product-version</a>]
     3099      <div id="rfc.figure.u.54"></div><pre class="inline"><span id="rfc.iref.g.50"></span><span id="rfc.iref.g.51"></span>  <a href="#product.tokens" class="smpl">product</a>         = <a href="#imported.abnf" class="smpl">token</a> ["/" <a href="#product.tokens" class="smpl">product-version</a>]
    30763100  <a href="#product.tokens" class="smpl">product-version</a> = <a href="#imported.abnf" class="smpl">token</a>
    30773101</pre><p id="rfc.section.9.2.p.3">Examples:</p>
    3078       <div id="rfc.figure.u.54"></div><pre class="text">  User-Agent: CERN-LineMode/2.15 libwww/2.17b3
     3102      <div id="rfc.figure.u.55"></div><pre class="text">  User-Agent: CERN-LineMode/2.15 libwww/2.17b3
    30793103  Server: Apache/0.8.4
    30803104</pre><p id="rfc.section.9.2.p.5">Product tokens <em class="bcp14">SHOULD</em> be short and to the point. They <em class="bcp14">MUST NOT</em> be used for advertising or other non-essential information. Although any token octet <em class="bcp14">MAY</em> appear in a product-version, this token <em class="bcp14">SHOULD</em> only be used for a version identifier (i.e., successive versions of the same product <em class="bcp14">SHOULD</em> only differ in the product-version portion of the product value).
     
    30873111         </p>
    30883112      </div>
    3089       <div id="rfc.figure.u.55"></div><pre class="inline"><span id="rfc.iref.g.51"></span>  <a href="#rule.charset" class="smpl">charset</a> = <a href="#imported.abnf" class="smpl">token</a>
     3113      <div id="rfc.figure.u.56"></div><pre class="inline"><span id="rfc.iref.g.52"></span>  <a href="#rule.charset" class="smpl">charset</a> = <a href="#imported.abnf" class="smpl">token</a>
    30903114</pre><p id="rfc.section.9.3.p.4">Although HTTP allows an arbitrary token to be used as a charset value, any token that has a predefined value within the IANA
    30913115         Character Set registry <em class="bcp14">MUST</em> represent the character encoding defined by that registry. Applications <em class="bcp14">SHOULD</em> limit their use of character encodings to those defined within the IANA registry.
     
    31013125         directly, and only decoded by the recipient.
    31023126      </p>
    3103       <div id="rfc.figure.u.56"></div><pre class="inline"><span id="rfc.iref.g.52"></span>  <a href="#content.codings" class="smpl">content-coding</a>   = <a href="#imported.abnf" class="smpl">token</a>
     3127      <div id="rfc.figure.u.57"></div><pre class="inline"><span id="rfc.iref.g.53"></span>  <a href="#content.codings" class="smpl">content-coding</a>   = <a href="#imported.abnf" class="smpl">token</a>
    31043128</pre><p id="rfc.section.9.4.p.3">All content-coding values are case-insensitive. HTTP/1.1 uses content-coding values in the <a href="#header.accept-encoding" class="smpl">Accept-Encoding</a> (<a href="#header.accept-encoding" id="rfc.xref.header.accept-encoding.3" title="Accept-Encoding">Section&nbsp;6.3.4</a>) and <a href="#header.content-encoding" class="smpl">Content-Encoding</a> (<a href="#header.content-encoding" id="rfc.xref.header.content-encoding.2" title="Content-Encoding">Section&nbsp;3.2.2</a>) header fields. Although the value describes the content-coding, what is more important is that it indicates what decoding
    31053129         mechanism will be required to remove the encoding.
     
    31173141         </li>
    31183142      </ul>
    3119       <p id="rfc.section.9.4.p.6">gzip<span id="rfc.iref.g.53"></span><span id="rfc.iref.c.11"></span> 
     3143      <p id="rfc.section.9.4.p.6">gzip<span id="rfc.iref.g.54"></span><span id="rfc.iref.c.11"></span> 
    31203144      </p>
    31213145      <ul class="empty">
     
    31263150      <p id="rfc.section.9.5.p.1">HTTP uses Internet Media Types <a href="#RFC2046" id="rfc.xref.RFC2046.2"><cite title="Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types">[RFC2046]</cite></a> in the <a href="#header.content-type" class="smpl">Content-Type</a> (<a href="#header.content-type" id="rfc.xref.header.content-type.3" title="Content-Type">Section&nbsp;3.2.1</a>) and <a href="#header.accept" class="smpl">Accept</a> (<a href="#header.accept" id="rfc.xref.header.accept.3" title="Accept">Section&nbsp;6.3.2</a>) header fields in order to provide open and extensible data typing and type negotiation.
    31273151      </p>
    3128       <div id="rfc.figure.u.57"></div><pre class="inline"><span id="rfc.iref.g.54"></span><span id="rfc.iref.g.55"></span><span id="rfc.iref.g.56"></span>  <a href="#media.types" class="smpl">media-type</a> = <a href="#media.types" class="smpl">type</a> "/" <a href="#media.types" class="smpl">subtype</a> *( <a href="#imported.abnf" class="smpl">OWS</a> ";" <a href="#imported.abnf" class="smpl">OWS</a> <a href="#rule.parameter" class="smpl">parameter</a> )
     3152      <div id="rfc.figure.u.58"></div><pre class="inline"><span id="rfc.iref.g.55"></span><span id="rfc.iref.g.56"></span><span id="rfc.iref.g.57"></span>  <a href="#media.types" class="smpl">media-type</a> = <a href="#media.types" class="smpl">type</a> "/" <a href="#media.types" class="smpl">subtype</a> *( <a href="#imported.abnf" class="smpl">OWS</a> ";" <a href="#imported.abnf" class="smpl">OWS</a> <a href="#rule.parameter" class="smpl">parameter</a> )
    31293153  <a href="#media.types" class="smpl">type</a>       = <a href="#imported.abnf" class="smpl">token</a>
    31303154  <a href="#media.types" class="smpl">subtype</a>    = <a href="#imported.abnf" class="smpl">token</a>
     
    31333157         </p>
    31343158      </div>
    3135       <div id="rfc.figure.u.58"></div><pre class="inline"><span id="rfc.iref.g.57"></span><span id="rfc.iref.g.58"></span><span id="rfc.iref.g.59"></span>  <a href="#rule.parameter" class="smpl">parameter</a>      = <a href="#rule.parameter" class="smpl">attribute</a> "=" <a href="#rule.parameter" class="smpl">value</a>
     3159      <div id="rfc.figure.u.59"></div><pre class="inline"><span id="rfc.iref.g.58"></span><span id="rfc.iref.g.59"></span><span id="rfc.iref.g.60"></span>  <a href="#rule.parameter" class="smpl">parameter</a>      = <a href="#rule.parameter" class="smpl">attribute</a> "=" <a href="#rule.parameter" class="smpl">value</a>
    31363160  <a href="#rule.parameter" class="smpl">attribute</a>      = <a href="#imported.abnf" class="smpl">token</a>
    31373161  <a href="#rule.parameter" class="smpl">value</a>          = <a href="#imported.abnf" class="smpl">word</a>
     
    31833207         of subtags:
    31843208      </p>
    3185       <div id="rfc.figure.u.59"></div><pre class="inline"><span id="rfc.iref.g.60"></span>  <a href="#language.tags" class="smpl">language-tag</a> = &lt;Language-Tag, defined in <a href="#RFC5646" id="rfc.xref.RFC5646.2"><cite title="Tags for Identifying Languages">[RFC5646]</cite></a>, <a href="http://tools.ietf.org/html/rfc5646#section-2.1">Section 2.1</a>&gt;
     3209      <div id="rfc.figure.u.60"></div><pre class="inline"><span id="rfc.iref.g.61"></span>  <a href="#language.tags" class="smpl">language-tag</a> = &lt;Language-Tag, defined in <a href="#RFC5646" id="rfc.xref.RFC5646.2"><cite title="Tags for Identifying Languages">[RFC5646]</cite></a>, <a href="http://tools.ietf.org/html/rfc5646#section-2.1">Section 2.1</a>&gt;
    31863210</pre><p id="rfc.section.9.6.p.4">White space is not allowed within the tag and all tags are case-insensitive. The name space of language subtags is administered
    31873211         by the IANA (see &lt;<a href="http://www.iana.org/assignments/language-subtag-registry">http://www.iana.org/assignments/language-subtag-registry</a>&gt;).
    31883212      </p>
    3189       <div id="rfc.figure.u.60"></div>
     3213      <div id="rfc.figure.u.61"></div>
    31903214      <p>Example tags include:</p>  <pre class="text">  en, en-US, es-419, az-Arab, x-pig-latin, man-Nkoo-GN
    31913215</pre> <p id="rfc.section.9.6.p.6">See <a href="#RFC5646" id="rfc.xref.RFC5646.3"><cite title="Tags for Identifying Languages">[RFC5646]</cite></a> for further information.
     
    33193343         a zero-length response body. They can require the presence of one or more particular HTTP response header field(s).
    33203344      </p>
    3321       <p id="rfc.section.10.2.2.p.5">Likewise, their definitions can specify that caches are allowed to use heuristics to determine their freshness (see <a href="#Part6" id="rfc.xref.Part6.18"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>; by default, it is not allowed), and can define how to determine the resource which they carry a representation for (see <a href="#identifying.response.associated.with.representation" title="Identifying the Resource Associated with a Representation">Section&nbsp;3.1</a>; by default, it is anonymous).
     3345      <p id="rfc.section.10.2.2.p.5">Likewise, their definitions can specify that caches are allowed to use heuristics to determine their freshness (see <a href="#Part6" id="rfc.xref.Part6.17"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>; by default, it is not allowed), and can define how to determine the resource which they carry a representation for (see <a href="#identifying.response.associated.with.representation" title="Identifying the Resource Associated with a Representation">Section&nbsp;3.1</a>; by default, it is anonymous).
    33223346      </p>
    33233347      <h3 id="rfc.section.10.2.3"><a href="#rfc.section.10.2.3">10.2.3</a>&nbsp;<a id="status.code.registration" href="#status.code.registration">Registrations</a></h3>
     
    35733597         these:
    35743598      </p>
    3575       <div id="rfc.figure.u.61"></div><pre class="text">  Example-URI-Field: "http://example.com/a.html,foo",
     3599      <div id="rfc.figure.u.62"></div><pre class="text">  Example-URI-Field: "http://example.com/a.html,foo",
    35763600                     "http://without-a-comma.example.com/"
    35773601  Example-Date-Field: "Sat, 04 May 1996", "Wed, 14 Sep 2005"
     
    36093633         </li>
    36103634         <li>
    3611             <p>How the header field might interact with caching (see <a href="#Part6" id="rfc.xref.Part6.19"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>).
     3635            <p>How the header field might interact with caching (see <a href="#Part6" id="rfc.xref.Part6.18"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>).
    36123636            </p>
    36133637         </li>
     
    37653789                  <td class="left">standard</td>
    37663790                  <td class="left"> <a href="#header.user-agent" id="rfc.xref.header.user-agent.3" title="User-Agent">Section&nbsp;6.5.3</a>
     3791                  </td>
     3792               </tr>
     3793               <tr>
     3794                  <td class="left">Vary</td>
     3795                  <td class="left">http</td>
     3796                  <td class="left">standard</td>
     3797                  <td class="left"> <a href="#header.vary" id="rfc.xref.header.vary.3" title="Vary">Section&nbsp;8.2.2</a>
    37673798                  </td>
    37683799               </tr>
     
    38953926      <p id="rfc.section.11.5.p.2">An approach that limits the loss of privacy would be for a user agent to omit the sending of Accept-Language header fields
    38963927         by default, and to ask the user whether or not to start sending Accept-Language header fields to a server if it detects, by
    3897          looking for any <a href="p6-cache.html#header.vary" class="smpl">Vary</a> header fields generated by the server, that such sending could improve the quality of service.
     3928         looking for any <a href="#header.vary" class="smpl">Vary</a> header fields generated by the server, that such sending could improve the quality of service.
    38983929      </p>
    38993930      <p id="rfc.section.11.5.p.3">Elaborate user-customized accept header fields sent in every request, in particular if these include quality values, can be
     
    41264157      </p>
    41274158      <div id="rfc.iref.m.10"></div>
    4128       <div id="rfc.iref.h.20"></div>
     4159      <div id="rfc.iref.h.21"></div>
    41294160      <h2 id="rfc.section.A.1"><a href="#rfc.section.A.1">A.1</a>&nbsp;<a id="mime-version" href="#mime-version">MIME-Version</a></h2>
    41304161      <p id="rfc.section.A.1.p.1">HTTP is not a MIME-compliant protocol. However, HTTP/1.1 messages <em class="bcp14">MAY</em> include a single MIME-Version header field to indicate what version of the MIME protocol was used to construct the message.
     
    41334164         MIME environments.
    41344165      </p>
    4135       <div id="rfc.figure.u.62"></div><pre class="inline"><span id="rfc.iref.g.61"></span>  <a href="#mime-version" class="smpl">MIME-Version</a> = 1*<a href="#imported.abnf" class="smpl">DIGIT</a> "." 1*<a href="#imported.abnf" class="smpl">DIGIT</a>
     4166      <div id="rfc.figure.u.63"></div><pre class="inline"><span id="rfc.iref.g.62"></span>  <a href="#mime-version" class="smpl">MIME-Version</a> = 1*<a href="#imported.abnf" class="smpl">DIGIT</a> "." 1*<a href="#imported.abnf" class="smpl">DIGIT</a>
    41364167</pre><p id="rfc.section.A.1.p.3">MIME version "1.0" is the default for use in HTTP/1.1. However, HTTP/1.1 message parsing and semantics are defined by this
    41374168         document and not the MIME specification.
     
    41584189      </p>
    41594190      <div id="rfc.iref.c.12"></div>
    4160       <div id="rfc.iref.h.21"></div>
     4191      <div id="rfc.iref.h.22"></div>
    41614192      <h2 id="rfc.section.A.5"><a href="#rfc.section.A.5">A.5</a>&nbsp;<a id="no.content-transfer-encoding" href="#no.content-transfer-encoding">No Content-Transfer-Encoding</a></h2>
    41624193      <p id="rfc.section.A.5.p.1">HTTP does not use the Content-Transfer-Encoding field of MIME. Proxies and gateways from MIME-compliant protocols to HTTP <em class="bcp14">MUST</em> remove any Content-Transfer-Encoding prior to delivering the response message to an HTTP client.
     
    42484279      <p id="rfc.section.D.p.2">The rules below are defined in <a href="#Part1" id="rfc.xref.Part1.45"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>:
    42494280      </p>
    4250       <div id="rfc.figure.u.63"></div><pre class="inline">  <a href="#imported.abnf" class="smpl">BWS</a>           = &lt;BWS, defined in <a href="#Part1" id="rfc.xref.Part1.46"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>&gt;
     4281      <div id="rfc.figure.u.64"></div><pre class="inline">  <a href="#imported.abnf" class="smpl">BWS</a>           = &lt;BWS, defined in <a href="#Part1" id="rfc.xref.Part1.46"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>&gt;
    42514282  <a href="#imported.abnf" class="smpl">OWS</a>           = &lt;OWS, defined in <a href="#Part1" id="rfc.xref.Part1.47"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>&gt;
    42524283  <a href="#imported.abnf" class="smpl">RWS</a>           = &lt;RWS, defined in <a href="#Part1" id="rfc.xref.Part1.48"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>&gt;
     
    42604291  <a href="#imported.abnf" class="smpl">URI-reference</a> = &lt;URI-reference, defined in <a href="#Part1" id="rfc.xref.Part1.55"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.7</a>&gt;
    42614292</pre><h1 id="rfc.section.E"><a href="#rfc.section.E">E.</a>&nbsp;<a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1>
    4262       <div id="rfc.figure.u.64"></div> <pre class="inline"><a href="#header.accept" class="smpl">Accept</a> = [ ( "," / ( media-range [ accept-params ] ) ) *( OWS "," [
     4293      <div id="rfc.figure.u.65"></div> <pre class="inline"><a href="#header.accept" class="smpl">Accept</a> = [ ( "," / ( media-range [ accept-params ] ) ) *( OWS "," [
    42634294 OWS ( media-range [ accept-params ] ) ] ) ]
    42644295<a href="#header.accept-charset" class="smpl">Accept-Charset</a> = *( "," OWS ) ( ( charset / "*" ) [ weight ] ) *( OWS
     
    43054336<a href="#header.user-agent" class="smpl">User-Agent</a> = product *( RWS ( product / comment ) )
    43064337
     4338<a href="#header.vary" class="smpl">Vary</a> = "*" / ( *( "," OWS ) field-name *( OWS "," [ OWS field-name ]
     4339 ) )
     4340
    43074341<a href="#imported.abnf" class="smpl">absolute-URI</a> = &lt;absolute-URI, defined in [Part1], Section 2.7&gt;
     4342
    43084343<a href="#header.accept" class="smpl">accept-ext</a> = OWS ";" OWS token [ "=" word ]
    43094344<a href="#header.accept" class="smpl">accept-params</a> = weight *accept-ext
     
    43124347
    43134348<a href="#rule.charset" class="smpl">charset</a> = token
     4349
    43144350<a href="#header.accept-encoding" class="smpl">codings</a> = content-coding / "identity" / "*"
    43154351<a href="#imported.abnf" class="smpl">comment</a> = &lt;comment, defined in [Part1], Section 3.2.4&gt;
     
    43174353
    43184354<a href="#obsolete.date.formats" class="smpl">date1</a> = day SP month SP year
     4355
    43194356<a href="#obsolete.date.formats" class="smpl">date2</a> = day "-" month "-" 2DIGIT
    43204357<a href="#obsolete.date.formats" class="smpl">date3</a> = month SP ( 2DIGIT / ( SP DIGIT ) )
     
    43374374
    43384375<a href="#header.expect" class="smpl">expect-name</a> = token
     4376
    43394377<a href="#header.expect" class="smpl">expect-param</a> = expect-name [ BWS "=" BWS expect-value ]
    43404378<a href="#header.expect" class="smpl">expect-value</a> = token / quoted-string
     
    43454383
    43464384<a href="#header.accept-language" class="smpl">language-range</a> = &lt;language-range, defined in [RFC4647], Section 2.1&gt;
     4385
    43474386<a href="#language.tags" class="smpl">language-tag</a> = &lt;Language-Tag, defined in [RFC5646], Section 2.1&gt;
    43484387
    43494388<a href="#header.from" class="smpl">mailbox</a> = &lt;mailbox, defined in [RFC5322], Section 3.4&gt;
     4389
    43504390<a href="#header.accept" class="smpl">media-range</a> = ( "*/*" / ( type "/*" ) / ( type "/" subtype ) ) *( OWS
    43514391 ";" OWS parameter )
     
    43694409
    43704410<a href="#rule.parameter" class="smpl">parameter</a> = attribute "=" value
     4411
    43714412<a href="#imported.abnf" class="smpl">partial-URI</a> = &lt;partial-URI, defined in [Part1], Section 2.7&gt;
    43724413<a href="#product.tokens" class="smpl">product</a> = token [ "/" product-version ]
     
    43744415
    43754416<a href="#imported.abnf" class="smpl">quoted-string</a> = &lt;quoted-string, defined in [Part1], Section 3.2.4&gt;
     4417
    43764418<a href="#quality.values" class="smpl">qvalue</a> = ( "0" [ "." *3DIGIT ] ) / ( "1" [ "." *3"0" ] )
    43774419
    43784420<a href="#preferred.date.format" class="smpl">rfc1123-date</a> = day-name "," SP date1 SP time-of-day SP GMT
     4421
    43794422<a href="#obsolete.date.formats" class="smpl">rfc850-date</a> = day-name-l "," SP date2 SP time-of-day SP GMT
    43804423
    43814424<a href="#preferred.date.format" class="smpl">second</a> = 2DIGIT
     4425
    43824426<a href="#media.types" class="smpl">subtype</a> = token
    43834427
    43844428<a href="#preferred.date.format" class="smpl">time-of-day</a> = hour ":" minute ":" second
     4429
    43854430<a href="#imported.abnf" class="smpl">token</a> = &lt;token, defined in [Part1], Section 3.2.4&gt;
    43864431<a href="#media.types" class="smpl">type</a> = token
     
    43894434
    43904435<a href="#quality.values" class="smpl">weight</a> = OWS ";" OWS "q=" qvalue
     4436
    43914437<a href="#imported.abnf" class="smpl">word</a> = &lt;word, defined in [Part1], Section 3.2.4&gt;
    43924438
    43934439<a href="#preferred.date.format" class="smpl">year</a> = 4DIGIT
    4394 </pre> <h1 id="rfc.section.F"><a href="#rfc.section.F">F.</a>&nbsp;<a id="change.log" href="#change.log">Change Log (to be removed by RFC Editor before publication)</a></h1>
     4440</pre> <div id="rfc.figure.u.66"></div>
     4441      <p>ABNF diagnostics:</p><pre class="inline">; field-name UNDEFINED
     4442</pre><h1 id="rfc.section.F"><a href="#rfc.section.F">F.</a>&nbsp;<a id="change.log" href="#change.log">Change Log (to be removed by RFC Editor before publication)</a></h1>
    43954443      <h2 id="rfc.section.F.1"><a href="#rfc.section.F.1">F.1</a>&nbsp;Since RFC 2616
    43964444      </h2>
     
    49595007      <p id="rfc.section.F.41.p.1">None yet.</p>
    49605008      <h1 id="rfc.index"><a href="#rfc.index">Index</a></h1>
    4961       <p class="noprint"><a href="#rfc.index.1">1</a> <a href="#rfc.index.2">2</a> <a href="#rfc.index.3">3</a> <a href="#rfc.index.4">4</a> <a href="#rfc.index.5">5</a> <a href="#rfc.index.A">A</a> <a href="#rfc.index.C">C</a> <a href="#rfc.index.D">D</a> <a href="#rfc.index.E">E</a> <a href="#rfc.index.F">F</a> <a href="#rfc.index.G">G</a> <a href="#rfc.index.H">H</a> <a href="#rfc.index.I">I</a> <a href="#rfc.index.L">L</a> <a href="#rfc.index.M">M</a> <a href="#rfc.index.O">O</a> <a href="#rfc.index.P">P</a> <a href="#rfc.index.R">R</a> <a href="#rfc.index.S">S</a> <a href="#rfc.index.T">T</a> <a href="#rfc.index.U">U</a>
     5009      <p class="noprint"><a href="#rfc.index.1">1</a> <a href="#rfc.index.2">2</a> <a href="#rfc.index.3">3</a> <a href="#rfc.index.4">4</a> <a href="#rfc.index.5">5</a> <a href="#rfc.index.A">A</a> <a href="#rfc.index.C">C</a> <a href="#rfc.index.D">D</a> <a href="#rfc.index.E">E</a> <a href="#rfc.index.F">F</a> <a href="#rfc.index.G">G</a> <a href="#rfc.index.H">H</a> <a href="#rfc.index.I">I</a> <a href="#rfc.index.L">L</a> <a href="#rfc.index.M">M</a> <a href="#rfc.index.O">O</a> <a href="#rfc.index.P">P</a> <a href="#rfc.index.R">R</a> <a href="#rfc.index.S">S</a> <a href="#rfc.index.T">T</a> <a href="#rfc.index.U">U</a> <a href="#rfc.index.V">V</a>
    49625010      </p>
    49635011      <div class="print2col">
     
    50765124                        <li><tt>Accept-Language</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.22"><b>6.3.5</b></a></li>
    50775125                        <li><tt>accept-params</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.17"><b>6.3.2</b></a></li>
    5078                         <li><tt>Allow</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.31"><b>8.4.1</b></a></li>
    5079                         <li><tt>asctime-date</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.48"><b>9.1</b></a></li>
    5080                         <li><tt>attribute</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.58"><b>9.5</b></a></li>
    5081                         <li><tt>charset</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.51"><b>9.3</b></a></li>
     5126                        <li><tt>Allow</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.32"><b>8.4.1</b></a></li>
     5127                        <li><tt>asctime-date</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.49"><b>9.1</b></a></li>
     5128                        <li><tt>attribute</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.59"><b>9.5</b></a></li>
     5129                        <li><tt>charset</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.52"><b>9.3</b></a></li>
    50825130                        <li><tt>codings</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.21"><b>6.3.4</b></a></li>
    5083                         <li><tt>content-coding</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.52"><b>9.4</b></a></li>
     5131                        <li><tt>content-coding</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.53"><b>9.4</b></a></li>
    50845132                        <li><tt>Content-Encoding</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.2"><b>3.2.2</b></a></li>
    50855133                        <li><tt>Content-Language</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.3"><b>3.2.3</b></a></li>
     
    50875135                        <li><tt>Content-Type</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.1"><b>3.2.1</b></a></li>
    50885136                        <li><tt>Date</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.30"><b>8.2.1</b></a></li>
    5089                         <li><tt>date1</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.35"><b>9.1</b></a></li>
    5090                         <li><tt>day</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.42"><b>9.1</b></a></li>
    5091                         <li><tt>day-name</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.40"><b>9.1</b></a></li>
    5092                         <li><tt>day-name-l</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.41"><b>9.1</b></a></li>
     5137                        <li><tt>date1</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.36"><b>9.1</b></a></li>
     5138                        <li><tt>day</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.43"><b>9.1</b></a></li>
     5139                        <li><tt>day-name</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.41"><b>9.1</b></a></li>
     5140                        <li><tt>day-name-l</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.42"><b>9.1</b></a></li>
    50935141                        <li><tt>delta-seconds</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.29"><b>8.1.2</b></a></li>
    50945142                        <li><tt>Expect</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.8"><b>6.1.2</b></a></li>
     
    50985146                        <li><tt>expectation</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.9"><b>6.1.2</b></a></li>
    50995147                        <li><tt>From</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.24"><b>6.5.1</b></a></li>
    5100                         <li><tt>GMT</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.45"><b>9.1</b></a></li>
    5101                         <li><tt>hour</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.37"><b>9.1</b></a></li>
    5102                         <li><tt>HTTP-date</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.33"><b>9.1</b></a></li>
     5148                        <li><tt>GMT</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.46"><b>9.1</b></a></li>
     5149                        <li><tt>hour</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.38"><b>9.1</b></a></li>
     5150                        <li><tt>HTTP-date</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.34"><b>9.1</b></a></li>
    51035151                        <li><tt>language-range</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.23"><b>6.3.5</b></a></li>
    5104                         <li><tt>language-tag</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.60"><b>9.6</b></a></li>
     5152                        <li><tt>language-tag</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.61"><b>9.6</b></a></li>
    51055153                        <li><tt>Location</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.27"><b>8.1.1</b></a></li>
    51065154                        <li><tt>Max-Forwards</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.7"><b>6.1.1</b></a></li>
    51075155                        <li><tt>media-range</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.16"><b>6.3.2</b></a></li>
    5108                         <li><tt>media-type</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.54"><b>9.5</b></a></li>
     5156                        <li><tt>media-type</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.55"><b>9.5</b></a></li>
    51095157                        <li><tt>method</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.5"><b>5.1</b></a></li>
    5110                         <li><tt>MIME-Version</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.61"><b>A.1</b></a></li>
    5111                         <li><tt>minute</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.38"><b>9.1</b></a></li>
    5112                         <li><tt>month</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.43"><b>9.1</b></a></li>
    5113                         <li><tt>obs-date</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.46"><b>9.1</b></a></li>
    5114                         <li><tt>parameter</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.57"><b>9.5</b></a></li>
    5115                         <li><tt>product</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.49"><b>9.2</b></a></li>
    5116                         <li><tt>product-version</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.50"><b>9.2</b></a></li>
     5158                        <li><tt>MIME-Version</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.62"><b>A.1</b></a></li>
     5159                        <li><tt>minute</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.39"><b>9.1</b></a></li>
     5160                        <li><tt>month</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.44"><b>9.1</b></a></li>
     5161                        <li><tt>obs-date</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.47"><b>9.1</b></a></li>
     5162                        <li><tt>parameter</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.58"><b>9.5</b></a></li>
     5163                        <li><tt>product</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.50"><b>9.2</b></a></li>
     5164                        <li><tt>product-version</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.51"><b>9.2</b></a></li>
    51175165                        <li><tt>qvalue</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.14"><b>6.3.1</b></a></li>
    51185166                        <li><tt>Referer</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.25"><b>6.5.2</b></a></li>
    51195167                        <li><tt>Retry-After</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.28"><b>8.1.2</b></a></li>
    5120                         <li><tt>rfc1123-date</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.34"><b>9.1</b></a></li>
    5121                         <li><tt>rfc850-date</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.47"><b>9.1</b></a></li>
    5122                         <li><tt>second</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.39"><b>9.1</b></a></li>
    5123                         <li><tt>Server</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.32"><b>8.4.2</b></a></li>
    5124                         <li><tt>subtype</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.56"><b>9.5</b></a></li>
    5125                         <li><tt>time-of-day</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.36"><b>9.1</b></a></li>
    5126                         <li><tt>type</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.55"><b>9.5</b></a></li>
     5168                        <li><tt>rfc1123-date</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.35"><b>9.1</b></a></li>
     5169                        <li><tt>rfc850-date</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.48"><b>9.1</b></a></li>
     5170                        <li><tt>second</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.40"><b>9.1</b></a></li>
     5171                        <li><tt>Server</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.33"><b>8.4.2</b></a></li>
     5172                        <li><tt>subtype</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.57"><b>9.5</b></a></li>
     5173                        <li><tt>time-of-day</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.37"><b>9.1</b></a></li>
     5174                        <li><tt>type</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.56"><b>9.5</b></a></li>
    51275175                        <li><tt>User-Agent</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.26"><b>6.5.3</b></a></li>
    5128                         <li><tt>value</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.59"><b>9.5</b></a></li>
     5176                        <li><tt>value</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.60"><b>9.5</b></a></li>
     5177                        <li><tt>Vary</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.31"><b>8.2.2</b></a></li>
    51295178                        <li><tt>weight</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.13"><b>6.3.1</b></a></li>
    5130                         <li><tt>year</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.44"><b>9.1</b></a></li>
     5179                        <li><tt>year</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.45"><b>9.1</b></a></li>
    51315180                     </ul>
    51325181                  </li>
    5133                   <li>gzip (Coding Format)&nbsp;&nbsp;<a href="#rfc.iref.g.53">9.4</a></li>
     5182                  <li>gzip (Coding Format)&nbsp;&nbsp;<a href="#rfc.iref.g.54">9.4</a></li>
    51345183               </ul>
    51355184            </li>
     
    51425191                        <li>Accept-Encoding&nbsp;&nbsp;<a href="#rfc.xref.header.accept-encoding.1">3.5.1</a>, <a href="#rfc.xref.header.accept-encoding.2">6.3</a>, <a href="#rfc.iref.h.10"><b>6.3.4</b></a>, <a href="#rfc.xref.header.accept-encoding.3">9.4</a>, <a href="#rfc.xref.header.accept-encoding.4">10.3.2</a>, <a href="#rfc.xref.header.accept-encoding.5">10.4.2</a></li>
    51435192                        <li>Accept-Language&nbsp;&nbsp;<a href="#rfc.xref.header.accept-language.1">3.5.1</a>, <a href="#rfc.xref.header.accept-language.2">6.3</a>, <a href="#rfc.iref.h.11"><b>6.3.5</b></a>, <a href="#rfc.xref.header.accept-language.3">10.3.2</a></li>
    5144                         <li>Allow&nbsp;&nbsp;<a href="#rfc.xref.header.allow.1">5.1</a>, <a href="#rfc.xref.header.allow.2">8.4</a>, <a href="#rfc.iref.h.18"><b>8.4.1</b></a>, <a href="#rfc.xref.header.allow.3">10.3.2</a>, <a href="#rfc.xref.header.allow.4">C</a></li>
     5193                        <li>Allow&nbsp;&nbsp;<a href="#rfc.xref.header.allow.1">5.1</a>, <a href="#rfc.xref.header.allow.2">8.4</a>, <a href="#rfc.iref.h.19"><b>8.4.1</b></a>, <a href="#rfc.xref.header.allow.3">10.3.2</a>, <a href="#rfc.xref.header.allow.4">C</a></li>
    51455194                        <li>Content-Encoding&nbsp;&nbsp;<a href="#rfc.xref.header.content-encoding.1">3.2</a>, <a href="#rfc.iref.h.2"><b>3.2.2</b></a>, <a href="#rfc.xref.header.content-encoding.2">9.4</a>, <a href="#rfc.xref.header.content-encoding.3">10.3.2</a></li>
    51465195                        <li>Content-Language&nbsp;&nbsp;<a href="#rfc.xref.header.content-language.1">3.2</a>, <a href="#rfc.iref.h.3"><b>3.2.3</b></a>, <a href="#rfc.xref.header.content-language.2">10.3.2</a></li>
    51475196                        <li>Content-Location&nbsp;&nbsp;<a href="#rfc.xref.header.content-location.1">3.2</a>, <a href="#rfc.iref.h.4"><b>3.2.4</b></a>, <a href="#rfc.xref.header.content-location.2">5.3.3</a>, <a href="#rfc.xref.header.content-location.3">8.1.1</a>, <a href="#rfc.xref.header.content-location.4">10.3.2</a>, <a href="#rfc.xref.header.content-location.5">C</a></li>
    5148                         <li>Content-Transfer-Encoding&nbsp;&nbsp;<a href="#rfc.iref.h.21">A.5</a>, <a href="#rfc.xref.no.content-transfer-encoding.1">C</a></li>
     5197                        <li>Content-Transfer-Encoding&nbsp;&nbsp;<a href="#rfc.iref.h.22">A.5</a>, <a href="#rfc.xref.no.content-transfer-encoding.1">C</a></li>
    51495198                        <li>Content-Type&nbsp;&nbsp;<a href="#rfc.xref.header.content-type.1">3.2</a>, <a href="#rfc.iref.h.1"><b>3.2.1</b></a>, <a href="#rfc.xref.header.content-type.2">7</a>, <a href="#rfc.xref.header.content-type.3">9.5</a>, <a href="#rfc.xref.header.content-type.4">10.3.1</a>, <a href="#rfc.xref.header.content-type.5">10.3.2</a></li>
    51505199                        <li>Date&nbsp;&nbsp;<a href="#rfc.xref.header.date.1">8.2</a>, <a href="#rfc.iref.h.17"><b>8.2.1</b></a>, <a href="#rfc.xref.header.date.2">10.3.2</a></li>
     
    51535202                        <li>Location&nbsp;&nbsp;<a href="#rfc.xref.header.location.1">5.3.3</a>, <a href="#rfc.xref.header.location.2">7.4</a>, <a href="#rfc.xref.header.location.3">8.1</a>, <a href="#rfc.iref.h.15"><b>8.1.1</b></a>, <a href="#rfc.xref.header.location.4">10.3.2</a>, <a href="#rfc.xref.header.location.5">C</a></li>
    51545203                        <li>Max-Forwards&nbsp;&nbsp;<a href="#rfc.xref.header.max-forwards.1">5.3.7</a>, <a href="#rfc.xref.header.max-forwards.2">5.3.8</a>, <a href="#rfc.xref.header.max-forwards.3">6.1</a>, <a href="#rfc.iref.h.6"><b>6.1.1</b></a>, <a href="#rfc.xref.header.max-forwards.4">10.3.2</a>, <a href="#rfc.xref.header.max-forwards.5">C</a></li>
    5155                         <li>MIME-Version&nbsp;&nbsp;<a href="#rfc.xref.mime-version.1">10.3.2</a>, <a href="#rfc.iref.h.20"><b>A.1</b></a></li>
     5204                        <li>MIME-Version&nbsp;&nbsp;<a href="#rfc.xref.mime-version.1">10.3.2</a>, <a href="#rfc.iref.h.21"><b>A.1</b></a></li>
    51565205                        <li>Referer&nbsp;&nbsp;<a href="#rfc.xref.header.referer.1">6.5</a>, <a href="#rfc.iref.h.13"><b>6.5.2</b></a>, <a href="#rfc.xref.header.referer.2">10.3.2</a>, <a href="#rfc.xref.header.referer.3">C</a></li>
    51575206                        <li>Retry-After&nbsp;&nbsp;<a href="#rfc.xref.header.retry-after.1">7.6.4</a>, <a href="#rfc.xref.header.retry-after.2">8.1</a>, <a href="#rfc.iref.h.16"><b>8.1.2</b></a>, <a href="#rfc.xref.header.retry-after.3">10.3.2</a></li>
    5158                         <li>Server&nbsp;&nbsp;<a href="#rfc.xref.header.server.1">8.4</a>, <a href="#rfc.iref.h.19"><b>8.4.2</b></a>, <a href="#rfc.xref.header.server.2">10.3.2</a>, <a href="#rfc.xref.header.server.3">11.1</a>, <a href="#rfc.xref.header.server.4">C</a></li>
     5207                        <li>Server&nbsp;&nbsp;<a href="#rfc.xref.header.server.1">8.4</a>, <a href="#rfc.iref.h.20"><b>8.4.2</b></a>, <a href="#rfc.xref.header.server.2">10.3.2</a>, <a href="#rfc.xref.header.server.3">11.1</a>, <a href="#rfc.xref.header.server.4">C</a></li>
    51595208                        <li>User-Agent&nbsp;&nbsp;<a href="#rfc.xref.header.user-agent.1">3.5.1</a>, <a href="#rfc.xref.header.user-agent.2">6.5</a>, <a href="#rfc.iref.h.14"><b>6.5.3</b></a>, <a href="#rfc.xref.header.user-agent.3">10.3.2</a>, <a href="#rfc.xref.header.user-agent.4">11.1</a></li>
     5209                        <li>Vary&nbsp;&nbsp;<a href="#rfc.xref.header.vary.1">3.5.1</a>, <a href="#rfc.xref.header.vary.2">8.2</a>, <a href="#rfc.iref.h.18"><b>8.2.2</b></a>, <a href="#rfc.xref.header.vary.3">10.3.2</a></li>
    51605210                     </ul>
    51615211                  </li>
     
    52435293                     </ul>
    52445294                  </li>
    5245                   <li><em>Part6</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.1">3.2</a>, <a href="#rfc.xref.Part6.2">3.5.1</a>, <a href="#rfc.xref.Part6.3">5.2.3</a>, <a href="#rfc.xref.Part6.4">5.3.1</a>, <a href="#rfc.xref.Part6.5">5.3.2</a>, <a href="#rfc.xref.Part6.6">5.3.3</a>, <a href="#rfc.xref.Part6.7">5.3.4</a>, <a href="#rfc.xref.Part6.8">5.3.5</a>, <a href="#rfc.xref.Part6.9">7.3.1</a>, <a href="#rfc.xref.Part6.10">7.3.4</a>, <a href="#rfc.xref.Part6.11">7.3.4</a>, <a href="#rfc.xref.Part6.12">7.3.4</a>, <a href="#rfc.xref.Part6.13">7.4.1</a>, <a href="#rfc.xref.Part6.14">7.4.2</a>, <a href="#rfc.xref.Part6.15">7.5.9</a>, <a href="#rfc.xref.Part6.16">8.2</a>, <a href="#rfc.xref.Part6.17">8.2</a>, <a href="#rfc.xref.Part6.18">10.2.2</a>, <a href="#rfc.xref.Part6.19">10.3.1</a>, <a href="#Part6"><b>13.1</b></a><ul>
    5246                         <li><em>Section 4.1.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.6">5.3.3</a></li>
    5247                         <li><em>Section 4.1.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.9">7.3.1</a>, <a href="#rfc.xref.Part6.12">7.3.4</a>, <a href="#rfc.xref.Part6.13">7.4.1</a>, <a href="#rfc.xref.Part6.14">7.4.2</a>, <a href="#rfc.xref.Part6.15">7.5.9</a></li>
    5248                         <li><em>Section 5</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.5">5.3.2</a></li>
    5249                         <li><em>Section 6</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.7">5.3.4</a>, <a href="#rfc.xref.Part6.8">5.3.5</a></li>
    5250                         <li><em>Section 7.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.16">8.2</a></li>
    5251                         <li><em>Section 7.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.10">7.3.4</a></li>
     5295                  <li><em>Part6</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.1">3.2</a>, <a href="#rfc.xref.Part6.2">5.2.3</a>, <a href="#rfc.xref.Part6.3">5.3.1</a>, <a href="#rfc.xref.Part6.4">5.3.2</a>, <a href="#rfc.xref.Part6.5">5.3.3</a>, <a href="#rfc.xref.Part6.6">5.3.4</a>, <a href="#rfc.xref.Part6.7">5.3.5</a>, <a href="#rfc.xref.Part6.8">7.3.1</a>, <a href="#rfc.xref.Part6.9">7.3.4</a>, <a href="#rfc.xref.Part6.10">7.3.4</a>, <a href="#rfc.xref.Part6.11">7.3.4</a>, <a href="#rfc.xref.Part6.12">7.4.1</a>, <a href="#rfc.xref.Part6.13">7.4.2</a>, <a href="#rfc.xref.Part6.14">7.5.9</a>, <a href="#rfc.xref.Part6.15">8.2</a>, <a href="#rfc.xref.Part6.16">8.2.2</a>, <a href="#rfc.xref.Part6.17">10.2.2</a>, <a href="#rfc.xref.Part6.18">10.3.1</a>, <a href="#Part6"><b>13.1</b></a><ul>
     5296                        <li><em>Section 4.1.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.5">5.3.3</a></li>
     5297                        <li><em>Section 4.1.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.8">7.3.1</a>, <a href="#rfc.xref.Part6.11">7.3.4</a>, <a href="#rfc.xref.Part6.12">7.4.1</a>, <a href="#rfc.xref.Part6.13">7.4.2</a>, <a href="#rfc.xref.Part6.14">7.5.9</a></li>
     5298                        <li><em>Section 4.3</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.16">8.2.2</a></li>
     5299                        <li><em>Section 5</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.4">5.3.2</a></li>
     5300                        <li><em>Section 6</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.6">5.3.4</a>, <a href="#rfc.xref.Part6.7">5.3.5</a></li>
     5301                        <li><em>Section 7.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.15">8.2</a></li>
     5302                        <li><em>Section 7.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.9">7.3.4</a></li>
    52525303                        <li><em>Section 7.3</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.1">3.2</a></li>
    5253                         <li><em>Section 7.5</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.2">3.5.1</a>, <a href="#rfc.xref.Part6.17">8.2</a></li>
    5254                         <li><em>Section 7.6</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.11">7.3.4</a></li>
     5304                        <li><em>Section 7.5</em>&nbsp;&nbsp;<a href="#rfc.xref.Part6.10">7.3.4</a></li>
    52555305                     </ul>
    52565306                  </li>
     
    54255475               </ul>
    54265476            </li>
     5477            <li><a id="rfc.index.V" href="#rfc.index.V"><b>V</b></a><ul>
     5478                  <li>Vary header field&nbsp;&nbsp;<a href="#rfc.xref.header.vary.1">3.5.1</a>, <a href="#rfc.xref.header.vary.2">8.2</a>, <a href="#rfc.iref.v.1"><b>8.2.2</b></a>, <a href="#rfc.xref.header.vary.3">10.3.2</a></li>
     5479               </ul>
     5480            </li>
    54275481         </ul>
    54285482      </div>
  • draft-ietf-httpbis/latest/p2-semantics.xml

    r1859 r1860  
    6969  <!ENTITY header-upgrade             "<xref target='Part1' x:rel='#header.upgrade' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    7070  <!ENTITY header-user-agent          "<xref target='header.user-agent' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    71   <!ENTITY header-vary                "<xref target='Part6' x:rel='#header.vary' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    7271  <!ENTITY header-via                 "<xref target='Part1' x:rel='#header.via' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    7372  <!ENTITY header-warning             "<xref target='Part6' x:rel='#header.warning' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
     
    802801</x:note>
    803802<t>
    804    The <x:ref>Vary</x:ref> header field (&header-vary;) can be used to express
    805    the parameters the server uses to select a representation that is subject to
    806    proactive negotiation.
     803   The <x:ref>Vary</x:ref> header field (<xref target="header.vary"/>) can be
     804   used to express the parameters the server uses to select a representation
     805   that is subject to proactive negotiation.
    807806</t>
    808807</section>
     
    34523451  <ttcol>Header Field Name</ttcol><ttcol>Defined in...</ttcol>
    34533452
     3453  <c>Age</c> <c>&header-age;</c>
    34543454  <c>Date</c> <c><xref target="header.date"/></c>
    3455   <c>Age</c> <c>&header-age;</c>
    3456   <c>Vary</c> <c>&header-vary;</c>
     3455  <c>Vary</c> <c><xref target="header.vary"/></c>
    34573456</texttable>
    34583457
     
    35143513   practice, the date can be generated at any time during the message
    35153514   origination without affecting its semantic value.
     3515</t>
     3516</section>
     3517
     3518<section anchor="header.vary" title="Vary">
     3519   <iref item="Vary header field" primary="true" x:for-anchor="" />
     3520   <iref item="Header Fields" primary="true" subitem="Vary" x:for-anchor="" />
     3521   <x:anchor-alias value="Vary"/>
     3522<t>
     3523   The "Vary" header field conveys the set of header fields
     3524   that were used to select the representation.
     3525</t>
     3526<t>
     3527   Caches use this information as part of determining whether a stored
     3528   response can be used to satisfy a given request (&caching-neg-resp;).
     3529</t>
     3530<t>
     3531   In uncacheable or stale responses, the Vary field value advises the user
     3532   agent about the criteria that were used to select the representation.
     3533</t>
     3534<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Vary"/>
     3535  <x:ref>Vary</x:ref> = "*" / 1#<x:ref>field-name</x:ref>
     3536</artwork></figure>
     3537<t>
     3538   The set of header fields named by the Vary field value is known as the
     3539   selecting header fields.
     3540</t>
     3541<t>
     3542   A server &SHOULD; include a Vary header field with any cacheable response
     3543   that is subject to proactive negotiation. Doing so allows a cache to
     3544   properly interpret future requests on that resource and informs the user
     3545   agent about the presence of negotiation on that resource. A server &MAY;
     3546   include a Vary header field with a non-cacheable response that is subject
     3547   to proactive negotiation, since this might provide the user agent with
     3548   useful information about the dimensions over which the response varies at
     3549   the time of the response.
     3550</t>
     3551<t>
     3552   A Vary field value of "*" signals that unspecified parameters not limited
     3553   to the header fields (e.g., the network address of the client), play a
     3554   role in the selection of the response representation; therefore, a cache
     3555   cannot determine whether this response is appropriate. A proxy &MUST-NOT;
     3556   generate the "*" value.
     3557</t>
     3558<t>
     3559   The field-names given are not limited to the set of standard header
     3560   fields defined by this specification. Field names are case-insensitive.
    35163561</t>
    35173562</section>
     
    46144659      <xref target="header.user-agent"/>
    46154660   </c>
     4661   <c>Vary</c>
     4662   <c>http</c>
     4663   <c>standard</c>
     4664   <c>
     4665      <xref target="header.vary"/>
     4666   </c>
    46164667</texttable>
    46174668<!--(END)-->
     
    48934944    <x:defines>Upgrade</x:defines>
    48944945    <x:defines>Via</x:defines>
     4946    <x:defines>field-name</x:defines>
    48954947  </x:source>
    48964948</reference>
     
    49735025  </front>
    49745026  <seriesInfo name="Internet-Draft" value="draft-ietf-httpbis-p6-cache-&ID-VERSION;"/>
    4975   <x:source href="p6-cache.xml" basename="p6-cache">
    4976     <x:defines>Vary</x:defines>
    4977   </x:source>
     5027  <x:source href="p6-cache.xml" basename="p6-cache"/>
    49785028</reference>
    49795029
     
    59626012<x:ref>User-Agent</x:ref> = product *( RWS ( product / comment ) )
    59636013
     6014<x:ref>Vary</x:ref> = "*" / ( *( "," OWS ) field-name *( OWS "," [ OWS field-name ]
     6015 ) )
     6016
    59646017<x:ref>absolute-URI</x:ref> = &lt;absolute-URI, defined in [Part1], Section 2.7&gt;
     6018
    59656019<x:ref>accept-ext</x:ref> = OWS ";" OWS token [ "=" word ]
    59666020<x:ref>accept-params</x:ref> = weight *accept-ext
     
    59696023
    59706024<x:ref>charset</x:ref> = token
     6025
    59716026<x:ref>codings</x:ref> = content-coding / "identity" / "*"
    59726027<x:ref>comment</x:ref> = &lt;comment, defined in [Part1], Section 3.2.4&gt;
     
    59746029
    59756030<x:ref>date1</x:ref> = day SP month SP year
     6031
    59766032<x:ref>date2</x:ref> = day "-" month "-" 2DIGIT
    59776033<x:ref>date3</x:ref> = month SP ( 2DIGIT / ( SP DIGIT ) )
     
    59946050
    59956051<x:ref>expect-name</x:ref> = token
     6052
    59966053<x:ref>expect-param</x:ref> = expect-name [ BWS "=" BWS expect-value ]
    59976054<x:ref>expect-value</x:ref> = token / quoted-string
     
    60026059
    60036060<x:ref>language-range</x:ref> = &lt;language-range, defined in [RFC4647], Section 2.1&gt;
     6061
    60046062<x:ref>language-tag</x:ref> = &lt;Language-Tag, defined in [RFC5646], Section 2.1&gt;
    60056063
    60066064<x:ref>mailbox</x:ref> = &lt;mailbox, defined in [RFC5322], Section 3.4&gt;
     6065
    60076066<x:ref>media-range</x:ref> = ( "*/*" / ( type "/*" ) / ( type "/" subtype ) ) *( OWS
    60086067 ";" OWS parameter )
     
    60266085
    60276086<x:ref>parameter</x:ref> = attribute "=" value
     6087
    60286088<x:ref>partial-URI</x:ref> = &lt;partial-URI, defined in [Part1], Section 2.7&gt;
    60296089<x:ref>product</x:ref> = token [ "/" product-version ]
     
    60316091
    60326092<x:ref>quoted-string</x:ref> = &lt;quoted-string, defined in [Part1], Section 3.2.4&gt;
     6093
    60336094<x:ref>qvalue</x:ref> = ( "0" [ "." *3DIGIT ] ) / ( "1" [ "." *3"0" ] )
    60346095
    60356096<x:ref>rfc1123-date</x:ref> = day-name "," SP date1 SP time-of-day SP GMT
     6097
    60366098<x:ref>rfc850-date</x:ref> = day-name-l "," SP date2 SP time-of-day SP GMT
    60376099
    60386100<x:ref>second</x:ref> = 2DIGIT
     6101
    60396102<x:ref>subtype</x:ref> = token
    60406103
    60416104<x:ref>time-of-day</x:ref> = hour ":" minute ":" second
     6105
    60426106<x:ref>token</x:ref> = &lt;token, defined in [Part1], Section 3.2.4&gt;
    60436107<x:ref>type</x:ref> = token
     
    60466110
    60476111<x:ref>weight</x:ref> = OWS ";" OWS "q=" qvalue
     6112
    60486113<x:ref>word</x:ref> = &lt;word, defined in [Part1], Section 3.2.4&gt;
    60496114
     
    60516116</artwork>
    60526117</figure>
    6053 </section>
     6118<figure><preamble>ABNF diagnostics:</preamble><artwork type="inline">
     6119; field-name UNDEFINED
     6120</artwork></figure></section>
    60546121<?ENDINC p2-semantics.abnf-appendix ?>
    60556122
  • draft-ietf-httpbis/latest/p4-conditional.html

    r1845 r1860  
    449449  }
    450450  @bottom-center {
    451        content: "Expires March 5, 2013";
     451       content: "Expires March 7, 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-p4-conditional-latest">
    494       <meta name="dct.issued" scheme="ISO8601" content="2012-09-01">
     494      <meta name="dct.issued" scheme="ISO8601" content="2012-09-03">
    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 HTTP/1.1 conditional requests, including metadata header fields for indicating state changes, request header fields for making preconditions on such state, and rules for constructing the responses to a conditional request when one or more preconditions evaluate to false.">
     
    518518            </tr>
    519519            <tr>
    520                <td class="left">Expires: March 5, 2013</td>
     520               <td class="left">Expires: March 7, 2013</td>
    521521               <td class="right">J. Reschke, Editor</td>
    522522            </tr>
     
    527527            <tr>
    528528               <td class="left"></td>
    529                <td class="right">September 1, 2012</td>
     529               <td class="right">September 3, 2012</td>
    530530            </tr>
    531531         </tbody>
     
    554554         in progress”.
    555555      </p>
    556       <p>This Internet-Draft will expire on March 5, 2013.</p>
     556      <p>This Internet-Draft will expire on March 7, 2013.</p>
    557557      <h1><a id="rfc.copyrightnotice" href="#rfc.copyrightnotice">Copyright Notice</a></h1>
    558558      <p>Copyright © 2012 IETF Trust and the persons identified as the document authors. All rights reserved.</p>
     
    884884      </div>
    885885      <h3 id="rfc.section.2.3.3"><a href="#rfc.section.2.3.3">2.3.3</a>&nbsp;<a id="example.entity.tag.vs.conneg" href="#example.entity.tag.vs.conneg">Example: Entity-tags varying on Content-Negotiated Resources</a></h3>
    886       <p id="rfc.section.2.3.3.p.1">Consider a resource that is subject to content negotiation (<a href="p2-semantics.html#content.negotiation" title="Content Negotiation">Section 9</a> of <a href="#Part2" id="rfc.xref.Part2.2"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>), and where the representations returned upon a GET request vary based on the <a href="p2-semantics.html#header.accept-encoding" class="smpl">Accept-Encoding</a> request header field (<a href="p2-semantics.html#header.accept-encoding" title="Accept-Encoding">Section 10.3</a> of <a href="#Part2" id="rfc.xref.Part2.3"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>):
     886      <p id="rfc.section.2.3.3.p.1">Consider a resource that is subject to content negotiation (<a href="p2-semantics.html#content.negotiation" title="Content Negotiation">Section 3.5</a> of <a href="#Part2" id="rfc.xref.Part2.2"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>), and where the representations returned upon a GET request vary based on the <a href="p2-semantics.html#header.accept-encoding" class="smpl">Accept-Encoding</a> request header field (<a href="p2-semantics.html#header.accept-encoding" title="Accept-Encoding">Section 6.3.4</a> of <a href="#Part2" id="rfc.xref.Part2.3"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>):
    887887      </p>
    888888      <div id="rfc.figure.u.5"></div>
     
    10931093         as if it were the payload of a 200 response. The 304 response <em class="bcp14">MUST NOT</em> contain a message-body, and thus is always terminated by the first empty line after the header fields.
    10941094      </p>
    1095       <p id="rfc.section.4.1.p.2">A 304 response <em class="bcp14">MUST</em> include a <a href="p2-semantics.html#header.date" class="smpl">Date</a> header field (<a href="p2-semantics.html#header.date" title="Date">Section 10.10</a> of <a href="#Part2" id="rfc.xref.Part2.4"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>) unless the origin server does not have a clock that can provide a reasonable approximation of the current time. If a <a href="p2-semantics.html#status.200" class="smpl">200
    1096             (OK)</a> response to the same request would have included any of the header fields <a href="p6-cache.html#header.cache-control" class="smpl">Cache-Control</a>, <a href="p2-semantics.html#header.content-location" class="smpl">Content-Location</a>, <a href="#header.etag" class="smpl">ETag</a>, <a href="p6-cache.html#header.expires" class="smpl">Expires</a>, or <a href="p6-cache.html#header.vary" class="smpl">Vary</a>, then those same header fields <em class="bcp14">MUST</em> be sent in a 304 response.
     1095      <p id="rfc.section.4.1.p.2">A 304 response <em class="bcp14">MUST</em> include a <a href="p2-semantics.html#header.date" class="smpl">Date</a> header field (<a href="p2-semantics.html#header.date" title="Date">Section 8.2.1</a> of <a href="#Part2" id="rfc.xref.Part2.4"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>) unless the origin server does not have a clock that can provide a reasonable approximation of the current time. If a <a href="p2-semantics.html#status.200" class="smpl">200
     1096            (OK)</a> response to the same request would have included any of the header fields <a href="p6-cache.html#header.cache-control" class="smpl">Cache-Control</a>, <a href="p2-semantics.html#header.content-location" class="smpl">Content-Location</a>, <a href="#header.etag" class="smpl">ETag</a>, <a href="p6-cache.html#header.expires" class="smpl">Expires</a>, or <a href="p2-semantics.html#header.vary" class="smpl">Vary</a>, then those same header fields <em class="bcp14">MUST</em> be sent in a 304 response.
    10971097      </p>
    10981098      <p id="rfc.section.4.1.p.3">Since the goal of a 304 response is to minimize information transfer when the recipient already has one or more cached representations,
     
    13461346  <a href="#imported.abnf" class="smpl">obs-text</a>      = &lt;obs-text, defined in <a href="#Part1" id="rfc.xref.Part1.9"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>&gt;
    13471347</pre><p id="rfc.section.B.p.4">The rules below are defined in other parts:</p>
    1348       <div id="rfc.figure.u.17"></div><pre class="inline">  <a href="#imported.abnf" class="smpl">HTTP-date</a>     = &lt;HTTP-date, defined in <a href="#Part2" id="rfc.xref.Part2.5"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>, <a href="p2-semantics.html#http.date" title="Date/Time Formats">Section 6.1</a>&gt;
     1348      <div id="rfc.figure.u.17"></div><pre class="inline">  <a href="#imported.abnf" class="smpl">HTTP-date</a>     = &lt;HTTP-date, defined in <a href="#Part2" id="rfc.xref.Part2.5"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>, <a href="p2-semantics.html#http.date" title="Date/Time Formats">Section 9.1</a>&gt;
    13491349</pre><h1 id="rfc.section.C"><a href="#rfc.section.C">C.</a>&nbsp;<a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1>
    13501350      <div id="rfc.figure.u.18"></div> <pre class="inline"><a href="#header.etag" class="smpl">ETag</a> = entity-tag
    13511351
    1352 <a href="#imported.abnf" class="smpl">HTTP-date</a> = &lt;HTTP-date, defined in [Part2], Section 6.1&gt;
     1352<a href="#imported.abnf" class="smpl">HTTP-date</a> = &lt;HTTP-date, defined in [Part2], Section 9.1&gt;
    13531353
    13541354<a href="#header.if-match" class="smpl">If-Match</a> = "*" / ( *( "," OWS ) entity-tag *( OWS "," [ OWS
     
    14711471                  </li>
    14721472                  <li><em>Part2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.1">1</a>, <a href="#rfc.xref.Part2.2">2.3.3</a>, <a href="#rfc.xref.Part2.3">2.3.3</a>, <a href="#rfc.xref.Part2.4">4.1</a>, <a href="#Part2"><b>9.1</b></a>, <a href="#rfc.xref.Part2.5">B</a><ul>
    1473                         <li><em>Section 6.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.5">B</a></li>
    1474                         <li><em>Section 9</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.2">2.3.3</a></li>
    1475                         <li><em>Section 10.3</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.3">2.3.3</a></li>
    1476                         <li><em>Section 10.10</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.4">4.1</a></li>
     1473                        <li><em>Section 3.5</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.2">2.3.3</a></li>
     1474                        <li><em>Section 6.3.4</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.3">2.3.3</a></li>
     1475                        <li><em>Section 8.2.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.4">4.1</a></li>
     1476                        <li><em>Section 9.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.5">B</a></li>
    14771477                     </ul>
    14781478                  </li>
  • draft-ietf-httpbis/latest/p4-conditional.xml

    r1845 r1860  
    2828  <!ENTITY header-if-range            "<xref target='Part5' x:rel='#header.if-range' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    2929  <!ENTITY header-range               "<xref target='Part5' x:rel='#header.range' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    30   <!ENTITY header-vary                "<xref target='Part6' x:rel='#header.vary' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
     30  <!ENTITY header-vary                "<xref target='Part2' x:rel='#header.vary' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    3131  <!ENTITY http-date                  "<xref target='Part2' x:rel='#http.date' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    3232  <!ENTITY transfer-codings           "<xref target='Part1' x:rel='#transfer.codings' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
     
    12721272    <x:defines>Date</x:defines>
    12731273    <x:defines>Location</x:defines>
     1274    <x:defines>Vary</x:defines>
    12741275  </x:source>
    12751276</reference>
     
    13241325    <x:defines>Cache-Control</x:defines>
    13251326    <x:defines>Expires</x:defines>
    1326     <x:defines>Vary</x:defines>
    13271327  </x:source>
    13281328</reference>
     
    14951495<x:ref>ETag</x:ref> = entity-tag
    14961496
    1497 <x:ref>HTTP-date</x:ref> = &lt;HTTP-date, defined in [Part2], Section 6.1&gt;
     1497<x:ref>HTTP-date</x:ref> = &lt;HTTP-date, defined in [Part2], Section 9.1&gt;
    14981498
    14991499<x:ref>If-Match</x:ref> = "*" / ( *( "," OWS ) entity-tag *( OWS "," [ OWS
  • draft-ietf-httpbis/latest/p5-range.html

    r1845 r1860  
    449449  }
    450450  @bottom-center {
    451        content: "Expires March 5, 2013";
     451       content: "Expires March 7, 2013";
    452452  }
    453453  @bottom-right {
     
    493493      <meta name="dct.creator" content="Reschke, J. F.">
    494494      <meta name="dct.identifier" content="urn:ietf:id:draft-ietf-httpbis-p5-range-latest">
    495       <meta name="dct.issued" scheme="ISO8601" content="2012-09-01">
     495      <meta name="dct.issued" scheme="ISO8601" content="2012-09-03">
    496496      <meta name="dct.replaces" content="urn:ietf:rfc:2616">
    497497      <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.">
     
    519519            </tr>
    520520            <tr>
    521                <td class="left">Expires: March 5, 2013</td>
     521               <td class="left">Expires: March 7, 2013</td>
    522522               <td class="right">J. Reschke, Editor</td>
    523523            </tr>
     
    528528            <tr>
    529529               <td class="left"></td>
    530                <td class="right">September 1, 2012</td>
     530               <td class="right">September 3, 2012</td>
    531531            </tr>
    532532         </tbody>
     
    553553         in progress”.
    554554      </p>
    555       <p>This Internet-Draft will expire on March 5, 2013.</p>
     555      <p>This Internet-Draft will expire on March 7, 2013.</p>
    556556      <h1><a id="rfc.copyrightnotice" href="#rfc.copyrightnotice">Copyright Notice</a></h1>
    557557      <p>Copyright © 2012 IETF Trust and the persons identified as the document authors. All rights reserved.</p>
     
    707707         </li>
    708708         <li>Date</li>
    709          <li> <a href="p6-cache.html#header.cache-control" class="smpl">Cache-Control</a>, <a href="p4-conditional.html#header.etag" class="smpl">ETag</a>, <a href="p6-cache.html#header.expires" class="smpl">Expires</a>, <a href="p2-semantics.html#header.content-location" class="smpl">Content-Location</a> and/or <a href="p6-cache.html#header.vary" class="smpl">Vary</a>, if the header field would have been sent in a <a href="p2-semantics.html#status.200" class="smpl">200 (OK)</a> response to the same request
     709         <li> <a href="p6-cache.html#header.cache-control" class="smpl">Cache-Control</a>, <a href="p4-conditional.html#header.etag" class="smpl">ETag</a>, <a href="p6-cache.html#header.expires" class="smpl">Expires</a>, <a href="p2-semantics.html#header.content-location" class="smpl">Content-Location</a> and/or <a href="p2-semantics.html#header.vary" class="smpl">Vary</a>, if the header field would have been sent in a <a href="p2-semantics.html#status.200" class="smpl">200 (OK)</a> response to the same request
    710710         </li>
    711711      </ul>
     
    12701270  <a href="#imported.abnf" class="smpl">token</a>      = &lt;token, defined in <a href="#Part1" id="rfc.xref.Part1.6"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>&gt;
    12711271</pre><p id="rfc.section.C.p.5">The rules below are defined in other parts:</p>
    1272       <div id="rfc.figure.u.25"></div><pre class="inline">  <a href="#imported.abnf" class="smpl">HTTP-date</a>  = &lt;HTTP-date, defined in <a href="#Part2" id="rfc.xref.Part2.1"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>, <a href="p2-semantics.html#http.date" title="Date/Time Formats">Section 6.1</a>&gt;
     1272      <div id="rfc.figure.u.25"></div><pre class="inline">  <a href="#imported.abnf" class="smpl">HTTP-date</a>  = &lt;HTTP-date, defined in <a href="#Part2" id="rfc.xref.Part2.1"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>, <a href="p2-semantics.html#http.date" title="Date/Time Formats">Section 9.1</a>&gt;
    12731273  <a href="#imported.abnf" class="smpl">entity-tag</a> = &lt;entity-tag, defined in <a href="#Part4" id="rfc.xref.Part4.5"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>, <a href="p4-conditional.html#header.etag" title="ETag">Section 2.3</a>&gt;
    12741274</pre><h1 id="rfc.section.D"><a href="#rfc.section.D">D.</a>&nbsp;<a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1>
     
    14201420                  </li>
    14211421                  <li><em>Part2</em>&nbsp;&nbsp;<a href="#Part2"><b>9.1</b></a>, <a href="#rfc.xref.Part2.1">C</a><ul>
    1422                         <li><em>Section 6.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.1">C</a></li>
     1422                        <li><em>Section 9.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.1">C</a></li>
    14231423                     </ul>
    14241424                  </li>
  • draft-ietf-httpbis/latest/p5-range.xml

    r1845 r1860  
    10091009    <x:defines>Content-Type</x:defines>
    10101010    <x:defines>Location</x:defines>
     1011    <x:defines>Vary</x:defines>
    10111012  </x:source>
    10121013</reference>
     
    10661067    <x:defines>Cache-Control</x:defines>
    10671068    <x:defines>Expires</x:defines>
    1068     <x:defines>Vary</x:defines>
    10691069  </x:source>
    10701070</reference>
  • draft-ietf-httpbis/latest/p6-cache.html

    r1858 r1860  
    650650               <li><a href="#rfc.section.7.3">7.3</a>&nbsp;&nbsp;&nbsp;<a href="#header.expires">Expires</a></li>
    651651               <li><a href="#rfc.section.7.4">7.4</a>&nbsp;&nbsp;&nbsp;<a href="#header.pragma">Pragma</a></li>
    652                <li><a href="#rfc.section.7.5">7.5</a>&nbsp;&nbsp;&nbsp;<a href="#header.vary">Vary</a></li>
    653                <li><a href="#rfc.section.7.6">7.6</a>&nbsp;&nbsp;&nbsp;<a href="#header.warning">Warning</a><ul>
    654                      <li><a href="#rfc.section.7.6.1">7.6.1</a>&nbsp;&nbsp;&nbsp;<a href="#warn.110">110 Response is Stale</a></li>
    655                      <li><a href="#rfc.section.7.6.2">7.6.2</a>&nbsp;&nbsp;&nbsp;<a href="#warn.111">111 Revalidation Failed</a></li>
    656                      <li><a href="#rfc.section.7.6.3">7.6.3</a>&nbsp;&nbsp;&nbsp;<a href="#warn.112">112 Disconnected Operation</a></li>
    657                      <li><a href="#rfc.section.7.6.4">7.6.4</a>&nbsp;&nbsp;&nbsp;<a href="#warn.113">113 Heuristic Expiration</a></li>
    658                      <li><a href="#rfc.section.7.6.5">7.6.5</a>&nbsp;&nbsp;&nbsp;<a href="#warn.199">199 Miscellaneous Warning</a></li>
    659                      <li><a href="#rfc.section.7.6.6">7.6.6</a>&nbsp;&nbsp;&nbsp;<a href="#warn.214">214 Transformation Applied</a></li>
    660                      <li><a href="#rfc.section.7.6.7">7.6.7</a>&nbsp;&nbsp;&nbsp;<a href="#warn.299">299 Miscellaneous Persistent Warning</a></li>
    661                      <li><a href="#rfc.section.7.6.8">7.6.8</a>&nbsp;&nbsp;&nbsp;<a href="#warn.code.extensions">Warn Code Extensions</a></li>
     652               <li><a href="#rfc.section.7.5">7.5</a>&nbsp;&nbsp;&nbsp;<a href="#header.warning">Warning</a><ul>
     653                     <li><a href="#rfc.section.7.5.1">7.5.1</a>&nbsp;&nbsp;&nbsp;<a href="#warn.110">110 Response is Stale</a></li>
     654                     <li><a href="#rfc.section.7.5.2">7.5.2</a>&nbsp;&nbsp;&nbsp;<a href="#warn.111">111 Revalidation Failed</a></li>
     655                     <li><a href="#rfc.section.7.5.3">7.5.3</a>&nbsp;&nbsp;&nbsp;<a href="#warn.112">112 Disconnected Operation</a></li>
     656                     <li><a href="#rfc.section.7.5.4">7.5.4</a>&nbsp;&nbsp;&nbsp;<a href="#warn.113">113 Heuristic Expiration</a></li>
     657                     <li><a href="#rfc.section.7.5.5">7.5.5</a>&nbsp;&nbsp;&nbsp;<a href="#warn.199">199 Miscellaneous Warning</a></li>
     658                     <li><a href="#rfc.section.7.5.6">7.5.6</a>&nbsp;&nbsp;&nbsp;<a href="#warn.214">214 Transformation Applied</a></li>
     659                     <li><a href="#rfc.section.7.5.7">7.5.7</a>&nbsp;&nbsp;&nbsp;<a href="#warn.299">299 Miscellaneous Persistent Warning</a></li>
     660                     <li><a href="#rfc.section.7.5.8">7.5.8</a>&nbsp;&nbsp;&nbsp;<a href="#warn.code.extensions">Warn Code Extensions</a></li>
    662661                  </ul>
    663662               </li>
     
    10661065         or doing so is explicitly allowed (e.g., by the max-stale request directive; see <a href="#cache-request-directive" title="Request Cache-Control Directives">Section&nbsp;7.2.1</a>).
    10671066      </p>
    1068       <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.1" title="Warning">Section&nbsp;7.6</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.
     1067      <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.1" 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.
    10691068      </p>
    10701069      <p id="rfc.section.4.1.4.p.5">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
     
    11141113      </p>
    11151114      <ul>
    1116          <li>delete any <a href="#header.warning" class="smpl">Warning</a> header fields in the stored response with warn-code 1xx (see <a href="#header.warning" id="rfc.xref.header.warning.2" title="Warning">Section&nbsp;7.6</a>);
     1115         <li>delete any <a href="#header.warning" class="smpl">Warning</a> header fields in the stored response with warn-code 1xx (see <a href="#header.warning" id="rfc.xref.header.warning.2" title="Warning">Section&nbsp;7.5</a>);
    11171116         </li>
    11181117         <li>retain any <a href="#header.warning" class="smpl">Warning</a> header fields in the stored response with warn-code 2xx; and,
     
    11221121      </ul>
    11231122      <h2 id="rfc.section.4.3"><a href="#rfc.section.4.3">4.3</a>&nbsp;<a id="caching.negotiated.responses" href="#caching.negotiated.responses">Using Negotiated Responses</a></h2>
    1124       <p id="rfc.section.4.3.p.1">When a cache receives a request that can be satisfied by a stored response that has a <a href="#header.vary" class="smpl">Vary</a> header field (<a href="#header.vary" id="rfc.xref.header.vary.1" title="Vary">Section&nbsp;7.5</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
     1123      <p id="rfc.section.4.3.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 8.2.2</a> of <a href="#Part2" id="rfc.xref.Part2.5"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[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
    11251124         request (i.e., that associated with the stored response), and the presented request.
    11261125      </p>
     
    11391138         if it is also absent there.
    11401139      </p>
    1141       <p id="rfc.section.4.3.p.4">A <a href="#header.vary" class="smpl">Vary</a> header field-value of "*" always fails to match, and subsequent requests to that resource can only be properly interpreted
     1140      <p id="rfc.section.4.3.p.4">A <a href="p2-semantics.html#header.vary" class="smpl">Vary</a> header field-value of "*" always fails to match, and subsequent requests to that resource can only be properly interpreted
    11421141         by the origin server.
    11431142      </p>
     
    11561155      </p>
    11571156      <ul>
    1158          <li>delete any <a href="#header.warning" class="smpl">Warning</a> header fields in the stored response with warn-code 1xx (see <a href="#header.warning" id="rfc.xref.header.warning.3" title="Warning">Section&nbsp;7.6</a>);
     1157         <li>delete any <a href="#header.warning" class="smpl">Warning</a> header fields in the stored response with warn-code 1xx (see <a href="#header.warning" id="rfc.xref.header.warning.3" title="Warning">Section&nbsp;7.5</a>);
    11591158         </li>
    11601159         <li>retain any <a href="#header.warning" class="smpl">Warning</a> header fields in the stored response with warn-code 2xx; and,
     
    11721171      </p>
    11731172      <ul>
    1174          <li>delete any <a href="#header.warning" class="smpl">Warning</a> header fields in the stored response with warn-code 1xx (see <a href="#header.warning" id="rfc.xref.header.warning.4" title="Warning">Section&nbsp;7.6</a>);
     1173         <li>delete any <a href="#header.warning" class="smpl">Warning</a> header fields in the stored response with warn-code 1xx (see <a href="#header.warning" id="rfc.xref.header.warning.4" title="Warning">Section&nbsp;7.5</a>);
    11751174         </li>
    11761175         <li>retain any <a href="#header.warning" class="smpl">Warning</a> header fields in the stored response with warn-code 2xx; and,
     
    11811180      </ul>
    11821181      <h1 id="rfc.section.6"><a href="#rfc.section.6">6.</a>&nbsp;<a id="invalidation.after.updates.or.deletions" href="#invalidation.after.updates.or.deletions">Request Methods that Invalidate</a></h1>
    1183       <p id="rfc.section.6.p.1">Because unsafe request methods (<a href="p2-semantics.html#safe.methods" title="Safe Methods">Section 5.2.1</a> of <a href="#Part2" id="rfc.xref.Part2.5"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>) such as PUT, POST or DELETE have the potential for changing state on the origin server, intervening caches can use them
     1182      <p id="rfc.section.6.p.1">Because unsafe request methods (<a href="p2-semantics.html#safe.methods" title="Safe Methods">Section 5.2.1</a> of <a href="#Part2" id="rfc.xref.Part2.6"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>) such as PUT, POST or DELETE have the potential for changing state on the origin server, intervening caches can use them
    11841183         to keep their contents up-to-date.
    11851184      </p>
     
    14681467         that time.
    14691468      </p>
    1470       <p id="rfc.section.7.3.p.3">The field-value is an absolute date and time as defined by HTTP-date in <a href="p2-semantics.html#http.date" title="Date/Time Formats">Section 9.1</a> of <a href="#Part2" id="rfc.xref.Part2.6"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>; a sender <em class="bcp14">MUST</em> use the rfc1123-date format.
     1469      <p id="rfc.section.7.3.p.3">The field-value is an absolute date and time as defined by HTTP-date in <a href="p2-semantics.html#http.date" title="Date/Time Formats">Section 9.1</a> of <a href="#Part2" id="rfc.xref.Part2.7"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>; a sender <em class="bcp14">MUST</em> use the rfc1123-date format.
    14711470      </p>
    14721471      <div id="rfc.figure.u.9"></div><pre class="inline"><span id="rfc.iref.g.5"></span>  <a href="#header.expires" class="smpl">Expires</a> = <a href="#imported.abnf" class="smpl">HTTP-date</a>
     
    15191518         </p>
    15201519      </div>
    1521       <div id="rfc.iref.v.3"></div>
     1520      <div id="rfc.iref.w.1"></div>
    15221521      <div id="rfc.iref.h.6"></div>
    1523       <h2 id="rfc.section.7.5"><a href="#rfc.section.7.5">7.5</a>&nbsp;<a id="header.vary" href="#header.vary">Vary</a></h2>
    1524       <p id="rfc.section.7.5.p.1">The "Vary" header field conveys the set of header fields that were used to select the representation.</p>
    1525       <p id="rfc.section.7.5.p.2">Caches use this information, in part, to determine whether a stored response can be used to satisfy a given request; see <a href="#caching.negotiated.responses" title="Using Negotiated Responses">Section&nbsp;4.3</a>.
    1526       </p>
    1527       <p id="rfc.section.7.5.p.3">In uncacheable or stale responses, the Vary field value advises the user agent about the criteria that were used to select
    1528          the representation.
    1529       </p>
    1530       <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.9"></span>  <a href="#header.vary" class="smpl">Vary</a> = "*" / 1#<a href="#imported.abnf" class="smpl">field-name</a>
    1531 </pre><p id="rfc.section.7.5.p.5">The set of header fields named by the Vary field value is known as the selecting header fields.</p>
    1532       <p id="rfc.section.7.5.p.6">A server <em class="bcp14">SHOULD</em> include a Vary header field with any cacheable response that is subject to proactive negotiation. Doing so allows a cache
    1533          to properly interpret future requests on that resource and informs the user agent about the presence of negotiation on that
    1534          resource. A server <em class="bcp14">MAY</em> include a Vary header field with a non-cacheable response that is subject to proactive negotiation, since this might provide
    1535          the user agent with useful information about the dimensions over which the response varies at the time of the response.
    1536       </p>
    1537       <p id="rfc.section.7.5.p.7">A Vary field value of "*" signals that unspecified parameters not limited to the header fields (e.g., the network address
    1538          of the client), play a role in the selection of the response representation; therefore, a cache cannot determine whether this
    1539          response is appropriate. A proxy <em class="bcp14">MUST NOT</em> generate the "*" value.
    1540       </p>
    1541       <p id="rfc.section.7.5.p.8">The field-names given are not limited to the set of standard header fields defined by this specification. Field names are
    1542          case-insensitive.
    1543       </p>
    1544       <div id="rfc.iref.w.1"></div>
    1545       <div id="rfc.iref.h.7"></div>
    1546       <h2 id="rfc.section.7.6"><a href="#rfc.section.7.6">7.6</a>&nbsp;<a id="header.warning" href="#header.warning">Warning</a></h2>
    1547       <p id="rfc.section.7.6.p.1">The "Warning" header field is used to carry additional information about the status or transformation of a message that might
     1522      <h2 id="rfc.section.7.5"><a href="#rfc.section.7.5">7.5</a>&nbsp;<a id="header.warning" href="#header.warning">Warning</a></h2>
     1523      <p id="rfc.section.7.5.p.1">The "Warning" header field is used to carry additional information about the status or transformation of a message that might
    15481524         not be reflected in the message. This information is typically used to warn about possible incorrectness introduced by caching
    15491525         operations or transformations applied to the payload of the message.
    15501526      </p>
    1551       <p id="rfc.section.7.6.p.2">Warnings can be used for other purposes, both cache-related and otherwise. The use of a warning, rather than an error status
     1527      <p id="rfc.section.7.5.p.2">Warnings can be used for other purposes, both cache-related and otherwise. The use of a warning, rather than an error status
    15521528         code, distinguishes these responses from true failures.
    15531529      </p>
    1554       <p id="rfc.section.7.6.p.3">Warning header fields can in general be applied to any message, however some warn-codes are specific to caches and can only
     1530      <p id="rfc.section.7.5.p.3">Warning header fields can in general be applied to any message, however some warn-codes are specific to caches and can only
    15551531         be applied to response messages.
    15561532      </p>
    1557       <div id="rfc.figure.u.14"></div><pre class="inline"><span id="rfc.iref.g.10"></span><span id="rfc.iref.g.11"></span><span id="rfc.iref.g.12"></span><span id="rfc.iref.g.13"></span><span id="rfc.iref.g.14"></span><span id="rfc.iref.g.15"></span>  <a href="#header.warning" class="smpl">Warning</a>       = 1#<a href="#header.warning" class="smpl">warning-value</a>
     1533      <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.9"></span><span id="rfc.iref.g.10"></span><span id="rfc.iref.g.11"></span><span id="rfc.iref.g.12"></span><span id="rfc.iref.g.13"></span><span id="rfc.iref.g.14"></span>  <a href="#header.warning" class="smpl">Warning</a>       = 1#<a href="#header.warning" class="smpl">warning-value</a>
    15581534 
    15591535  <a href="#header.warning" class="smpl">warning-value</a> = <a href="#header.warning" class="smpl">warn-code</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#header.warning" class="smpl">warn-agent</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#header.warning" class="smpl">warn-text</a>
     
    15661542  <a href="#header.warning" class="smpl">warn-text</a>  = <a href="#imported.abnf" class="smpl">quoted-string</a>
    15671543  <a href="#header.warning" class="smpl">warn-date</a>  = <a href="#imported.abnf" class="smpl">DQUOTE</a> <a href="#imported.abnf" class="smpl">HTTP-date</a> <a href="#imported.abnf" class="smpl">DQUOTE</a>
    1568 </pre><p id="rfc.section.7.6.p.5">Multiple warnings can be attached to a response (either by the origin server or by a cache), including multiple warnings with
     1544</pre><p id="rfc.section.7.5.p.5">Multiple warnings can be attached to a response (either by the origin server or by a cache), including multiple warnings with
    15691545         the same code number, only differing in warn-text.
    15701546      </p>
    1571       <p id="rfc.section.7.6.p.6">When this occurs, the user agent <em class="bcp14">SHOULD</em> inform the user of as many of them as possible, in the order that they appear in the response.
    1572       </p>
    1573       <p id="rfc.section.7.6.p.7">Systems that generate multiple Warning header fields are encouraged to order them with this user agent behavior in mind. New
     1547      <p id="rfc.section.7.5.p.6">When this occurs, the user agent <em class="bcp14">SHOULD</em> inform the user of as many of them as possible, in the order that they appear in the response.
     1548      </p>
     1549      <p id="rfc.section.7.5.p.7">Systems that generate multiple Warning header fields are encouraged to order them with this user agent behavior in mind. New
    15741550         Warning header fields are added after any existing Warning header fields.
    15751551      </p>
    1576       <p id="rfc.section.7.6.p.8">Warnings are assigned three digit warn-codes. The first digit indicates whether the Warning is required to be deleted from
     1552      <p id="rfc.section.7.5.p.8">Warnings are assigned three digit warn-codes. The first digit indicates whether the Warning is required to be deleted from
    15771553         a stored response after validation:
    15781554      </p>
     
    15841560         </li>
    15851561      </ul>
    1586       <p id="rfc.section.7.6.p.9">If an implementation sends a message with one or more Warning header fields to a receiver whose version is HTTP/1.0 or lower,
     1562      <p id="rfc.section.7.5.p.9">If an implementation sends a message with one or more Warning header fields to a receiver whose version is HTTP/1.0 or lower,
    15871563         then the sender <em class="bcp14">MUST</em> include in each warning-value a warn-date that matches the <a href="p2-semantics.html#header.date" class="smpl">Date</a> header field in the message.
    15881564      </p>
    1589       <p id="rfc.section.7.6.p.10">If a system receives a message with a warning-value that includes a warn-date, and that warn-date is different from the <a href="p2-semantics.html#header.date" class="smpl">Date</a> value in the response, then that warning-value <em class="bcp14">MUST</em> be deleted from the message before storing, forwarding, or using it. (preventing the consequences of naive caching of Warning
     1565      <p id="rfc.section.7.5.p.10">If a system receives a message with a warning-value that includes a warn-date, and that warn-date is different from the <a href="p2-semantics.html#header.date" class="smpl">Date</a> value in the response, then that warning-value <em class="bcp14">MUST</em> be deleted from the message before storing, forwarding, or using it. (preventing the consequences of naive caching of Warning
    15901566         header fields.) If all of the warning-values are deleted for this reason, the Warning header field <em class="bcp14">MUST</em> be deleted as well.
    15911567      </p>
    1592       <p id="rfc.section.7.6.p.11">The following warn-codes are defined by this specification, each with a recommended warn-text in English, and a description
     1568      <p id="rfc.section.7.5.p.11">The following warn-codes are defined by this specification, each with a recommended warn-text in English, and a description
    15931569         of its meaning.
    15941570      </p>
     1571      <div id="rfc.iref.73"></div>
     1572      <div id="rfc.iref.w.2"></div>
     1573      <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>
     1574      <p id="rfc.section.7.5.1.p.1">A cache <em class="bcp14">SHOULD</em> include this whenever the returned response is stale.
     1575      </p>
     1576      <div id="rfc.iref.74"></div>
     1577      <div id="rfc.iref.w.3"></div>
     1578      <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>
     1579      <p id="rfc.section.7.5.2.p.1">A cache <em class="bcp14">SHOULD</em> include this when returning a stale response because an attempt to validate the response failed, due to an inability to reach
     1580         the server.
     1581      </p>
     1582      <div id="rfc.iref.75"></div>
     1583      <div id="rfc.iref.w.4"></div>
     1584      <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>
     1585      <p id="rfc.section.7.5.3.p.1">A cache <em class="bcp14">SHOULD</em> include this if it is intentionally disconnected from the rest of the network for a period of time.
     1586      </p>
    15951587      <div id="rfc.iref.76"></div>
    1596       <div id="rfc.iref.w.2"></div>
    1597       <h3 id="rfc.section.7.6.1"><a href="#rfc.section.7.6.1">7.6.1</a>&nbsp;<a id="warn.110" href="#warn.110">110 Response is Stale</a></h3>
    1598       <p id="rfc.section.7.6.1.p.1">A cache <em class="bcp14">SHOULD</em> include this whenever the returned response is stale.
     1588      <div id="rfc.iref.w.5"></div>
     1589      <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>
     1590      <p id="rfc.section.7.5.4.p.1">A cache <em class="bcp14">SHOULD</em> include this if it heuristically chose a freshness lifetime greater than 24 hours and the response's age is greater than 24
     1591         hours.
    15991592      </p>
    16001593      <div id="rfc.iref.77"></div>
    1601       <div id="rfc.iref.w.3"></div>
    1602       <h3 id="rfc.section.7.6.2"><a href="#rfc.section.7.6.2">7.6.2</a>&nbsp;<a id="warn.111" href="#warn.111">111 Revalidation Failed</a></h3>
    1603       <p id="rfc.section.7.6.2.p.1">A cache <em class="bcp14">SHOULD</em> include this when returning a stale response because an attempt to validate the response failed, due to an inability to reach
    1604          the server.
     1594      <div id="rfc.iref.w.6"></div>
     1595      <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>
     1596      <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.
    16051597      </p>
    16061598      <div id="rfc.iref.78"></div>
    1607       <div id="rfc.iref.w.4"></div>
    1608       <h3 id="rfc.section.7.6.3"><a href="#rfc.section.7.6.3">7.6.3</a>&nbsp;<a id="warn.112" href="#warn.112">112 Disconnected Operation</a></h3>
    1609       <p id="rfc.section.7.6.3.p.1">A cache <em class="bcp14">SHOULD</em> include this if it is intentionally disconnected from the rest of the network for a period of time.
     1599      <div id="rfc.iref.w.7"></div>
     1600      <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>
     1601      <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,
     1602         or modifying the representation data, unless this Warning code already appears in the response.
    16101603      </p>
    16111604      <div id="rfc.iref.79"></div>
    1612       <div id="rfc.iref.w.5"></div>
    1613       <h3 id="rfc.section.7.6.4"><a href="#rfc.section.7.6.4">7.6.4</a>&nbsp;<a id="warn.113" href="#warn.113">113 Heuristic Expiration</a></h3>
    1614       <p id="rfc.section.7.6.4.p.1">A cache <em class="bcp14">SHOULD</em> include this if it heuristically chose a freshness lifetime greater than 24 hours and the response's age is greater than 24
    1615          hours.
    1616       </p>
    1617       <div id="rfc.iref.80"></div>
    1618       <div id="rfc.iref.w.6"></div>
    1619       <h3 id="rfc.section.7.6.5"><a href="#rfc.section.7.6.5">7.6.5</a>&nbsp;<a id="warn.199" href="#warn.199">199 Miscellaneous Warning</a></h3>
    1620       <p id="rfc.section.7.6.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.
    1621       </p>
    1622       <div id="rfc.iref.81"></div>
    1623       <div id="rfc.iref.w.7"></div>
    1624       <h3 id="rfc.section.7.6.6"><a href="#rfc.section.7.6.6">7.6.6</a>&nbsp;<a id="warn.214" href="#warn.214">214 Transformation Applied</a></h3>
    1625       <p id="rfc.section.7.6.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,
    1626          or modifying the representation data, unless this Warning code already appears in the response.
    1627       </p>
    1628       <div id="rfc.iref.82"></div>
    16291605      <div id="rfc.iref.w.8"></div>
    1630       <h3 id="rfc.section.7.6.7"><a href="#rfc.section.7.6.7">7.6.7</a>&nbsp;<a id="warn.299" href="#warn.299">299 Miscellaneous Persistent Warning</a></h3>
    1631       <p id="rfc.section.7.6.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.
    1632       </p>
    1633       <h3 id="rfc.section.7.6.8"><a href="#rfc.section.7.6.8">7.6.8</a>&nbsp;<a id="warn.code.extensions" href="#warn.code.extensions">Warn Code Extensions</a></h3>
    1634       <p id="rfc.section.7.6.8.p.1">The HTTP Warn Code Registry defines the name space for warn codes.</p>
    1635       <p id="rfc.section.7.6.8.p.2">A registration <em class="bcp14">MUST</em> include the following fields:
     1606      <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>
     1607      <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.
     1608      </p>
     1609      <h3 id="rfc.section.7.5.8"><a href="#rfc.section.7.5.8">7.5.8</a>&nbsp;<a id="warn.code.extensions" href="#warn.code.extensions">Warn Code Extensions</a></h3>
     1610      <p id="rfc.section.7.5.8.p.1">The HTTP Warn Code Registry defines the name space for warn codes.</p>
     1611      <p id="rfc.section.7.5.8.p.2">A registration <em class="bcp14">MUST</em> include the following fields:
    16361612      </p>
    16371613      <ul>
     
    16401616         <li>Pointer to specification text</li>
    16411617      </ul>
    1642       <p id="rfc.section.7.6.8.p.3">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>).
    1643       </p>
    1644       <p id="rfc.section.7.6.8.p.4">The registry itself is maintained at &lt;<a href="http://www.iana.org/assignments/http-warn-codes">http://www.iana.org/assignments/http-warn-codes</a>&gt;.
     1618      <p id="rfc.section.7.5.8.p.3">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>).
     1619      </p>
     1620      <p id="rfc.section.7.5.8.p.4">The registry itself is maintained at &lt;<a href="http://www.iana.org/assignments/http-warn-codes">http://www.iana.org/assignments/http-warn-codes</a>&gt;.
    16451621      </p>
    16461622      <h1 id="rfc.section.8"><a href="#rfc.section.8">8.</a>&nbsp;<a id="history.lists" href="#history.lists">History Lists</a></h1>
     
    17441720      </div>
    17451721      <h2 id="rfc.section.9.2"><a href="#rfc.section.9.2">9.2</a>&nbsp;<a id="warn.code.registration" href="#warn.code.registration">Warn Code Registry</a></h2>
    1746       <p id="rfc.section.9.2.p.1">The registration procedure for HTTP Warn Codes is defined by <a href="#warn.code.extensions" title="Warn Code Extensions">Section&nbsp;7.6.8</a> of this document.
     1722      <p id="rfc.section.9.2.p.1">The registration procedure for HTTP Warn Codes is defined by <a href="#warn.code.extensions" title="Warn Code Extensions">Section&nbsp;7.5.8</a> of this document.
    17471723      </p>
    17481724      <p id="rfc.section.9.2.p.2">The HTTP Warn Code Registry shall be created at &lt;<a href="http://www.iana.org/assignments/http-cache-directives">http://www.iana.org/assignments/http-cache-directives</a>&gt; and be populated with the registrations below:
     
    17621738                  <td class="left">110</td>
    17631739                  <td class="left">Response is Stale</td>
    1764                   <td class="left"> <a href="#warn.110" id="rfc.xref.warn.110.1" title="110 Response is Stale">Section&nbsp;7.6.1</a>
     1740                  <td class="left"> <a href="#warn.110" id="rfc.xref.warn.110.1" title="110 Response is Stale">Section&nbsp;7.5.1</a>
    17651741                  </td>
    17661742               </tr>
     
    17681744                  <td class="left">111</td>
    17691745                  <td class="left">Revalidation Failed</td>
    1770                   <td class="left"> <a href="#warn.111" id="rfc.xref.warn.111.1" title="111 Revalidation Failed">Section&nbsp;7.6.2</a>
     1746                  <td class="left"> <a href="#warn.111" id="rfc.xref.warn.111.1" title="111 Revalidation Failed">Section&nbsp;7.5.2</a>
    17711747                  </td>
    17721748               </tr>
     
    17741750                  <td class="left">112</td>
    17751751                  <td class="left">Disconnected Operation</td>
    1776                   <td class="left"> <a href="#warn.112" id="rfc.xref.warn.112.1" title="112 Disconnected Operation">Section&nbsp;7.6.3</a>
     1752                  <td class="left"> <a href="#warn.112" id="rfc.xref.warn.112.1" title="112 Disconnected Operation">Section&nbsp;7.5.3</a>
    17771753                  </td>
    17781754               </tr>
     
    17801756                  <td class="left">113</td>
    17811757                  <td class="left">Heuristic Expiration</td>
    1782                   <td class="left"> <a href="#warn.113" id="rfc.xref.warn.113.1" title="113 Heuristic Expiration">Section&nbsp;7.6.4</a>
     1758                  <td class="left"> <a href="#warn.113" id="rfc.xref.warn.113.1" title="113 Heuristic Expiration">Section&nbsp;7.5.4</a>
    17831759                  </td>
    17841760               </tr>
     
    17861762                  <td class="left">199</td>
    17871763                  <td class="left">Miscellaneous Warning</td>
    1788                   <td class="left"> <a href="#warn.199" id="rfc.xref.warn.199.1" title="199 Miscellaneous Warning">Section&nbsp;7.6.5</a>
     1764                  <td class="left"> <a href="#warn.199" id="rfc.xref.warn.199.1" title="199 Miscellaneous Warning">Section&nbsp;7.5.5</a>
    17891765                  </td>
    17901766               </tr>
     
    17921768                  <td class="left">214</td>
    17931769                  <td class="left">Transformation Applied</td>
    1794                   <td class="left"> <a href="#warn.214" id="rfc.xref.warn.214.1" title="214 Transformation Applied">Section&nbsp;7.6.6</a>
     1770                  <td class="left"> <a href="#warn.214" id="rfc.xref.warn.214.1" title="214 Transformation Applied">Section&nbsp;7.5.6</a>
    17951771                  </td>
    17961772               </tr>
     
    17981774                  <td class="left">299</td>
    17991775                  <td class="left">Miscellaneous Persistent Warning</td>
    1800                   <td class="left"> <a href="#warn.299" id="rfc.xref.warn.299.1" title="299 Miscellaneous Persistent Warning">Section&nbsp;7.6.7</a>
     1776                  <td class="left"> <a href="#warn.299" id="rfc.xref.warn.299.1" title="299 Miscellaneous Persistent Warning">Section&nbsp;7.5.7</a>
    18011777                  </td>
    18021778               </tr>
     
    18481824               </tr>
    18491825               <tr>
    1850                   <td class="left">Vary</td>
    1851                   <td class="left">http</td>
    1852                   <td class="left">standard</td>
    1853                   <td class="left"> <a href="#header.vary" id="rfc.xref.header.vary.2" title="Vary">Section&nbsp;7.5</a>
    1854                   </td>
    1855                </tr>
    1856                <tr>
    18571826                  <td class="left">Warning</td>
    18581827                  <td class="left">http</td>
    18591828                  <td class="left">standard</td>
    1860                   <td class="left"> <a href="#header.warning" id="rfc.xref.header.warning.5" title="Warning">Section&nbsp;7.6</a>
     1829                  <td class="left"> <a href="#header.warning" id="rfc.xref.header.warning.5" title="Warning">Section&nbsp;7.5</a>
    18611830                  </td>
    18621831               </tr>
     
    19681937      <p id="rfc.section.A.p.4">Change ABNF productions for header fields to only define the field value. (<a href="#header.field.definitions" title="Header Field Definitions">Section&nbsp;7</a>)
    19691938      </p>
    1970       <p id="rfc.section.A.p.5">Do not mention RFC 2047 encoding and multiple languages in <a href="#header.warning" class="smpl">Warning</a> header fields anymore, as these aspects never were implemented. (<a href="#header.warning" id="rfc.xref.header.warning.6" title="Warning">Section&nbsp;7.6</a>)
    1971       </p>
    1972       <p id="rfc.section.A.p.6">Introduce Cache Directive and Warn Code Registries. (<a href="#cache.control.extensions" title="Cache Control Extensions">Section&nbsp;7.2.3</a> and <a href="#warn.code.extensions" title="Warn Code Extensions">Section&nbsp;7.6.8</a>)
     1939      <p id="rfc.section.A.p.5">Do not mention RFC 2047 encoding and multiple languages in <a href="#header.warning" class="smpl">Warning</a> header fields anymore, as these aspects never were implemented. (<a href="#header.warning" id="rfc.xref.header.warning.6" title="Warning">Section&nbsp;7.5</a>)
     1940      </p>
     1941      <p id="rfc.section.A.p.6">Introduce Cache Directive and Warn Code Registries. (<a href="#cache.control.extensions" title="Cache Control Extensions">Section&nbsp;7.2.3</a> and <a href="#warn.code.extensions" title="Warn Code Extensions">Section&nbsp;7.5.8</a>)
    19731942      </p>
    19741943      <h1 id="rfc.section.B"><a href="#rfc.section.B">B.</a>&nbsp;<a id="imported.abnf" href="#imported.abnf">Imported ABNF</a></h1>
     
    19791948      <p id="rfc.section.B.p.2">The rules below are defined in <a href="#Part1" id="rfc.xref.Part1.10"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>:
    19801949      </p>
    1981       <div id="rfc.figure.u.15"></div><pre class="inline">  <a href="#imported.abnf" class="smpl">OWS</a>           = &lt;OWS, defined in <a href="#Part1" id="rfc.xref.Part1.11"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>&gt;
     1950      <div id="rfc.figure.u.14"></div><pre class="inline">  <a href="#imported.abnf" class="smpl">OWS</a>           = &lt;OWS, defined in <a href="#Part1" id="rfc.xref.Part1.11"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>&gt;
    19821951  <a href="#imported.abnf" class="smpl">field-name</a>    = &lt;field-name, defined in <a href="#Part1" id="rfc.xref.Part1.12"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, <a href="p1-messaging.html#header.fields" title="Header Fields">Section 3.2</a>&gt;
    19831952  <a href="#imported.abnf" class="smpl">quoted-string</a> = &lt;quoted-string, defined in <a href="#Part1" id="rfc.xref.Part1.13"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>&gt;
     
    19881957  <a href="#imported.abnf" class="smpl">uri-host</a>      = &lt;uri-host, defined in <a href="#Part1" id="rfc.xref.Part1.17"><cite title="HTTP/1.1, part 1: Message Routing and Syntax&#34;">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.7</a>&gt;
    19891958</pre><p id="rfc.section.B.p.4">The rules below are defined in other parts:</p>
    1990       <div id="rfc.figure.u.16"></div><pre class="inline">  <a href="#imported.abnf" class="smpl">HTTP-date</a>     = &lt;HTTP-date, defined in <a href="#Part2" id="rfc.xref.Part2.7"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>, <a href="p2-semantics.html#http.date" title="Date/Time Formats">Section 9.1</a>&gt;
     1959      <div id="rfc.figure.u.15"></div><pre class="inline">  <a href="#imported.abnf" class="smpl">HTTP-date</a>     = &lt;HTTP-date, defined in <a href="#Part2" id="rfc.xref.Part2.8"><cite title="HTTP/1.1, part 2: Semantics and Payloads">[Part2]</cite></a>, <a href="p2-semantics.html#http.date" title="Date/Time Formats">Section 9.1</a>&gt;
    19911960</pre><h1 id="rfc.section.C"><a href="#rfc.section.C">C.</a>&nbsp;<a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1>
    1992       <div id="rfc.figure.u.17"></div> <pre class="inline"><a href="#header.age" class="smpl">Age</a> = delta-seconds
     1961      <div id="rfc.figure.u.16"></div> <pre class="inline"><a href="#header.age" class="smpl">Age</a> = delta-seconds
    19931962
    19941963<a href="#header.cache-control" class="smpl">Cache-Control</a> = *( "," OWS ) cache-directive *( OWS "," [ OWS
     
    19971966<a href="#header.expires" class="smpl">Expires</a> = HTTP-date
    19981967
    1999 <a href="#imported.abnf" class="smpl">HTTP-date</a> = &lt;HTTP-date, defined in [Part2], Section 6.1&gt;
     1968<a href="#imported.abnf" class="smpl">HTTP-date</a> = &lt;HTTP-date, defined in [Part2], Section 9.1&gt;
    20001969
    20011970<a href="#imported.abnf" class="smpl">OWS</a> = &lt;OWS, defined in [Part1], Section 3.2.1&gt;
     
    20031972<a href="#header.pragma" class="smpl">Pragma</a> = *( "," OWS ) pragma-directive *( OWS "," [ OWS
    20041973 pragma-directive ] )
    2005 
    2006 <a href="#header.vary" class="smpl">Vary</a> = "*" / ( *( "," OWS ) field-name *( OWS "," [ OWS field-name ]
    2007  ) )
    20081974
    20091975<a href="#header.warning" class="smpl">Warning</a> = *( "," OWS ) warning-value *( OWS "," [ OWS warning-value ]
     
    20342000<a href="#header.warning" class="smpl">warning-value</a> = warn-code SP warn-agent SP warn-text [ SP warn-date
    20352001 ]
    2036 </pre> <h1 id="rfc.section.D"><a href="#rfc.section.D">D.</a>&nbsp;<a id="change.log" href="#change.log">Change Log (to be removed by RFC Editor before publication)</a></h1>
     2002</pre> <div id="rfc.figure.u.17"></div>
     2003      <p>ABNF diagnostics:</p><pre class="inline">; field-name defined but not used
     2004</pre><h1 id="rfc.section.D"><a href="#rfc.section.D">D.</a>&nbsp;<a id="change.log" href="#change.log">Change Log (to be removed by RFC Editor before publication)</a></h1>
    20372005      <p id="rfc.section.D.p.1">Changes up to the first Working Group Last Call draft are summarized in &lt;<a href="http://trac.tools.ietf.org/html/draft-ietf-httpbis-p6-cache-19#appendix-C">http://trac.tools.ietf.org/html/draft-ietf-httpbis-p6-cache-19#appendix-C</a>&gt;.
    20382006      </p>
     
    20692037         <ul class="ind">
    20702038            <li><a id="rfc.index.1" href="#rfc.index.1"><b>1</b></a><ul>
    2071                   <li>110 Response is Stale (warn code)&nbsp;&nbsp;<a href="#rfc.iref.76"><b>7.6.1</b></a>, <a href="#rfc.xref.warn.110.1">9.2</a></li>
    2072                   <li>111 Revalidation Failed (warn code)&nbsp;&nbsp;<a href="#rfc.iref.77"><b>7.6.2</b></a>, <a href="#rfc.xref.warn.111.1">9.2</a></li>
    2073                   <li>112 Disconnected Operation (warn code)&nbsp;&nbsp;<a href="#rfc.iref.78"><b>7.6.3</b></a>, <a href="#rfc.xref.warn.112.1">9.2</a></li>
    2074                   <li>113 Heuristic Expiration (warn code)&nbsp;&nbsp;<a href="#rfc.iref.79"><b>7.6.4</b></a>, <a href="#rfc.xref.warn.113.1">9.2</a></li>
    2075                   <li>199 Miscellaneous Warning (warn code)&nbsp;&nbsp;<a href="#rfc.iref.80"><b>7.6.5</b></a>, <a href="#rfc.xref.warn.199.1">9.2</a></li>
     2039                  <li>110 Response is Stale (warn code)&nbsp;&nbsp;<a href="#rfc.iref.73"><b>7.5.1</b></a>, <a href="#rfc.xref.warn.110.1">9.2</a></li>
     2040                  <li>111 Revalidation Failed (warn code)&nbsp;&nbsp;<a href="#rfc.iref.74"><b>7.5.2</b></a>, <a href="#rfc.xref.warn.111.1">9.2</a></li>
     2041                  <li>112 Disconnected Operation (warn code)&nbsp;&nbsp;<a href="#rfc.iref.75"><b>7.5.3</b></a>, <a href="#rfc.xref.warn.112.1">9.2</a></li>
     2042                  <li>113 Heuristic Expiration (warn code)&nbsp;&nbsp;<a href="#rfc.iref.76"><b>7.5.4</b></a>, <a href="#rfc.xref.warn.113.1">9.2</a></li>
     2043                  <li>199 Miscellaneous Warning (warn code)&nbsp;&nbsp;<a href="#rfc.iref.77"><b>7.5.5</b></a>, <a href="#rfc.xref.warn.199.1">9.2</a></li>
    20762044               </ul>
    20772045            </li>
    20782046            <li><a id="rfc.index.2" href="#rfc.index.2"><b>2</b></a><ul>
    2079                   <li>214 Transformation Applied (warn code)&nbsp;&nbsp;<a href="#rfc.iref.81"><b>7.6.6</b></a>, <a href="#rfc.xref.warn.214.1">9.2</a></li>
    2080                   <li>299 Miscellaneous Persistent Warning (warn code)&nbsp;&nbsp;<a href="#rfc.iref.82"><b>7.6.7</b></a>, <a href="#rfc.xref.warn.299.1">9.2</a></li>
     2047                  <li>214 Transformation Applied (warn code)&nbsp;&nbsp;<a href="#rfc.iref.78"><b>7.5.6</b></a>, <a href="#rfc.xref.warn.214.1">9.2</a></li>
     2048                  <li>299 Miscellaneous Persistent Warning (warn code)&nbsp;&nbsp;<a href="#rfc.iref.79"><b>7.5.7</b></a>, <a href="#rfc.xref.warn.299.1">9.2</a></li>
    20812049               </ul>
    20822050            </li>
     
    21322100                        <li><tt>Pragma</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.6"><b>7.4</b></a></li>
    21332101                        <li><tt>pragma-directive</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.7"><b>7.4</b></a></li>
    2134                         <li><tt>Vary</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.9"><b>7.5</b></a></li>
    2135                         <li><tt>warn-agent</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.13"><b>7.6</b></a></li>
    2136                         <li><tt>warn-code</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.12"><b>7.6</b></a></li>
    2137                         <li><tt>warn-date</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.15"><b>7.6</b></a></li>
    2138                         <li><tt>warn-text</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.14"><b>7.6</b></a></li>
    2139                         <li><tt>Warning</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.10"><b>7.6</b></a></li>
    2140                         <li><tt>warning-value</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.11"><b>7.6</b></a></li>
     2102                        <li><tt>warn-agent</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.12"><b>7.5</b></a></li>
     2103                        <li><tt>warn-code</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.11"><b>7.5</b></a></li>
     2104                        <li><tt>warn-date</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.14"><b>7.5</b></a></li>
     2105                        <li><tt>warn-text</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.13"><b>7.5</b></a></li>
     2106                        <li><tt>Warning</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.9"><b>7.5</b></a></li>
     2107                        <li><tt>warning-value</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.10"><b>7.5</b></a></li>
    21412108                     </ul>
    21422109                  </li>
     
    21502117                        <li>Expires&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.h.4"><b>7.3</b></a>, <a href="#rfc.xref.header.expires.4">9.3</a></li>
    21512118                        <li>Pragma&nbsp;&nbsp;<a href="#rfc.xref.header.pragma.1">4</a>, <a href="#rfc.xref.header.pragma.2">7.2</a>, <a href="#rfc.iref.h.5"><b>7.4</b></a>, <a href="#rfc.xref.header.pragma.3">9.3</a></li>
    2152                         <li>Vary&nbsp;&nbsp;<a href="#rfc.xref.header.vary.1">4.3</a>, <a href="#rfc.iref.h.6"><b>7.5</b></a>, <a href="#rfc.xref.header.vary.2">9.3</a></li>
    2153                         <li>Warning&nbsp;&nbsp;<a href="#rfc.xref.header.warning.1">4.1.4</a>, <a href="#rfc.xref.header.warning.2">4.2.1</a>, <a href="#rfc.xref.header.warning.3">4.4</a>, <a href="#rfc.xref.header.warning.4">5</a>, <a href="#rfc.iref.h.7"><b>7.6</b></a>, <a href="#rfc.xref.header.warning.5">9.3</a>, <a href="#rfc.xref.header.warning.6">A</a></li>
     2119                        <li>Warning&nbsp;&nbsp;<a href="#rfc.xref.header.warning.1">4.1.4</a>, <a href="#rfc.xref.header.warning.2">4.2.1</a>, <a href="#rfc.xref.header.warning.3">4.4</a>, <a href="#rfc.xref.header.warning.4">5</a>, <a href="#rfc.iref.h.6"><b>7.5</b></a>, <a href="#rfc.xref.header.warning.5">9.3</a>, <a href="#rfc.xref.header.warning.6">A</a></li>
    21542120                     </ul>
    21552121                  </li>
     
    22192185                     </ul>
    22202186                  </li>
    2221                   <li><em>Part2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.1">2</a>, <a href="#rfc.xref.Part2.2">4</a>, <a href="#rfc.xref.Part2.3">4.1.2</a>, <a href="#rfc.xref.Part2.4">4.1.3</a>, <a href="#rfc.xref.Part2.5">6</a>, <a href="#rfc.xref.Part2.6">7.3</a>, <a href="#Part2"><b>12.1</b></a>, <a href="#rfc.xref.Part2.7">B</a><ul>
    2222                         <li><em>Section 5.2.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.2">4</a>, <a href="#rfc.xref.Part2.5">6</a></li>
     2187                  <li><em>Part2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.1">2</a>, <a href="#rfc.xref.Part2.2">4</a>, <a href="#rfc.xref.Part2.3">4.1.2</a>, <a href="#rfc.xref.Part2.4">4.1.3</a>, <a href="#rfc.xref.Part2.5">4.3</a>, <a href="#rfc.xref.Part2.6">6</a>, <a href="#rfc.xref.Part2.7">7.3</a>, <a href="#Part2"><b>12.1</b></a>, <a href="#rfc.xref.Part2.8">B</a><ul>
     2188                        <li><em>Section 5.2.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.2">4</a>, <a href="#rfc.xref.Part2.6">6</a></li>
    22232189                        <li><em>Section 7</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.3">4.1.2</a></li>
    22242190                        <li><em>Section 8.2.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.4">4.1.3</a></li>
    2225                         <li><em>Section 9.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.6">7.3</a>, <a href="#rfc.xref.Part2.7">B</a></li>
     2191                        <li><em>Section 8.2.2</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.5">4.3</a></li>
     2192                        <li><em>Section 9.1</em>&nbsp;&nbsp;<a href="#rfc.xref.Part2.7">7.3</a>, <a href="#rfc.xref.Part2.8">B</a></li>
    22262193                     </ul>
    22272194                  </li>
     
    22682235                  </li>
    22692236                  <li><em>RFC3864</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC3864.1">9.3</a>, <a href="#RFC3864"><b>12.2</b></a></li>
    2270                   <li><em>RFC5226</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC5226.1">7.2.3</a>, <a href="#rfc.xref.RFC5226.2">7.6.8</a>, <a href="#RFC5226"><b>12.2</b></a><ul>
    2271                         <li><em>Section 4.1</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC5226.1">7.2.3</a>, <a href="#rfc.xref.RFC5226.2">7.6.8</a></li>
     2237                  <li><em>RFC5226</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC5226.1">7.2.3</a>, <a href="#rfc.xref.RFC5226.2">7.5.8</a>, <a href="#RFC5226"><b>12.2</b></a><ul>
     2238                        <li><em>Section 4.1</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC5226.1">7.2.3</a>, <a href="#rfc.xref.RFC5226.2">7.5.8</a></li>
    22722239                     </ul>
    22732240                  </li>
     
    22992266                     </ul>
    23002267                  </li>
    2301                   <li>Vary header field&nbsp;&nbsp;<a href="#rfc.xref.header.vary.1">4.3</a>, <a href="#rfc.iref.v.3"><b>7.5</b></a>, <a href="#rfc.xref.header.vary.2">9.3</a></li>
    23022268               </ul>
    23032269            </li>
     
    23052271                  <li>Warn Codes&nbsp;&nbsp;
    23062272                     <ul>
    2307                         <li>110 Response is Stale&nbsp;&nbsp;<a href="#rfc.iref.w.2"><b>7.6.1</b></a>, <a href="#rfc.xref.warn.110.1">9.2</a></li>
    2308                         <li>111 Revalidation Failed&nbsp;&nbsp;<a href="#rfc.iref.w.3"><b>7.6.2</b></a>, <a href="#rfc.xref.warn.111.1">9.2</a></li>
    2309                         <li>112 Disconnected Operation&nbsp;&nbsp;<a href="#rfc.iref.w.4"><b>7.6.3</b></a>, <a href="#rfc.xref.warn.112.1">9.2</a></li>
    2310                         <li>113 Heuristic Expiration&nbsp;&nbsp;<a href="#rfc.iref.w.5"><b>7.6.4</b></a>, <a href="#rfc.xref.warn.113.1">9.2</a></li>
    2311                         <li>199 Miscellaneous Warning&nbsp;&nbsp;<a href="#rfc.iref.w.6"><b>7.6.5</b></a>, <a href="#rfc.xref.warn.199.1">9.2</a></li>
    2312                         <li>214 Transformation Applied&nbsp;&nbsp;<a href="#rfc.iref.w.7"><b>7.6.6</b></a>, <a href="#rfc.xref.warn.214.1">9.2</a></li>
    2313                         <li>299 Miscellaneous Persistent Warning&nbsp;&nbsp;<a href="#rfc.iref.w.8"><b>7.6.7</b></a>, <a href="#rfc.xref.warn.299.1">9.2</a></li>
    2314                      </ul>
    2315                   </li>
    2316                   <li>Warning header field&nbsp;&nbsp;<a href="#rfc.xref.header.warning.1">4.1.4</a>, <a href="#rfc.xref.header.warning.2">4.2.1</a>, <a href="#rfc.xref.header.warning.3">4.4</a>, <a href="#rfc.xref.header.warning.4">5</a>, <a href="#rfc.iref.w.1"><b>7.6</b></a>, <a href="#rfc.xref.header.warning.5">9.3</a>, <a href="#rfc.xref.header.warning.6">A</a></li>
     2273                        <li>110 Response is Stale&nbsp;&nbsp;<a href="#rfc.iref.w.2"><b>7.5.1</b></a>, <a href="#rfc.xref.warn.110.1">9.2</a></li>
     2274                        <li>111 Revalidation Failed&nbsp;&nbsp;<a href="#rfc.iref.w.3"><b>7.5.2</b></a>, <a href="#rfc.xref.warn.111.1">9.2</a></li>
     2275                        <li>112 Disconnected Operation&nbsp;&nbsp;<a href="#rfc.iref.w.4"><b>7.5.3</b></a>, <a href="#rfc.xref.warn.112.1">9.2</a></li>
     2276                        <li>113 Heuristic Expiration&nbsp;&nbsp;<a href="#rfc.iref.w.5"><b>7.5.4</b></a>, <a href="#rfc.xref.warn.113.1">9.2</a></li>
     2277                        <li>199 Miscellaneous Warning&nbsp;&nbsp;<a href="#rfc.iref.w.6"><b>7.5.5</b></a>, <a href="#rfc.xref.warn.199.1">9.2</a></li>
     2278                        <li>214 Transformation Applied&nbsp;&nbsp;<a href="#rfc.iref.w.7"><b>7.5.6</b></a>, <a href="#rfc.xref.warn.214.1">9.2</a></li>
     2279                        <li>299 Miscellaneous Persistent Warning&nbsp;&nbsp;<a href="#rfc.iref.w.8"><b>7.5.7</b></a>, <a href="#rfc.xref.warn.299.1">9.2</a></li>
     2280                     </ul>
     2281                  </li>
     2282                  <li>Warning header field&nbsp;&nbsp;<a href="#rfc.xref.header.warning.1">4.1.4</a>, <a href="#rfc.xref.header.warning.2">4.2.1</a>, <a href="#rfc.xref.header.warning.3">4.4</a>, <a href="#rfc.xref.header.warning.4">5</a>, <a href="#rfc.iref.w.1"><b>7.5</b></a>, <a href="#rfc.xref.header.warning.5">9.3</a>, <a href="#rfc.xref.header.warning.6">A</a></li>
    23172283               </ul>
    23182284            </li>
  • draft-ietf-httpbis/latest/p6-cache.xml

    r1858 r1860  
    3333  <!ENTITY header-connection           "<xref target='Part1' x:rel='#header.connection' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    3434  <!ENTITY header-date                 "<xref target='Part2' x:rel='#header.date' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
     35  <!ENTITY header-last-modified        "<xref target='Part4' x:rel='#header.last-modified' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
     36  <!ENTITY header-vary                 "<xref target='Part2' x:rel='#header.vary' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    3537  <!ENTITY header-via                  "<xref target='Part1' x:rel='#header.via' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    36   <!ENTITY header-last-modified        "<xref target='Part4' x:rel='#header.last-modified' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    3738  <!ENTITY header-fields               "<xref target='Part1' x:rel='#header.fields' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    3839  <!ENTITY safe-methods                "<xref target='Part2' x:rel='#safe.methods' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
     
    977978<t>
    978979   When a cache receives a request that can be satisfied by a stored response
    979    that has a <x:ref>Vary</x:ref> header field (<xref target="header.vary"/>),
     980   that has a <x:ref>Vary</x:ref> header field (&header-vary;),
    980981   it &MUST-NOT; use that response unless all of the selecting header fields
    981982   nominated by the Vary header field match in both the original request
     
    17671768   </t>
    17681769</x:note>
    1769 </section>
    1770 
    1771 <section anchor="header.vary" title="Vary">
    1772    <iref item="Vary header field" primary="true" x:for-anchor="" />
    1773    <iref item="Header Fields" primary="true" subitem="Vary" x:for-anchor="" />
    1774    <x:anchor-alias value="Vary"/>
    1775 <t>
    1776    The "Vary" header field conveys the set of header fields
    1777    that were used to select the representation.
    1778 </t>
    1779 <t>
    1780    Caches use this information, in part, to determine whether a stored
    1781    response can be used to satisfy a given request; see <xref
    1782    target="caching.negotiated.responses" />.
    1783 </t>
    1784 <t>
    1785    In uncacheable or stale responses, the Vary field value advises the user
    1786    agent about the criteria that were used to select the representation.
    1787 </t>
    1788 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Vary"/>
    1789   <x:ref>Vary</x:ref> = "*" / 1#<x:ref>field-name</x:ref>
    1790 </artwork></figure>
    1791 <t>
    1792    The set of header fields named by the Vary field value is known as the
    1793    selecting header fields.
    1794 </t>
    1795 <t>
    1796    A server &SHOULD; include a Vary header field with any cacheable response
    1797    that is subject to proactive negotiation. Doing so allows a cache to
    1798    properly interpret future requests on that resource and informs the user
    1799    agent about the presence of negotiation on that resource. A server &MAY;
    1800    include a Vary header field with a non-cacheable response that is subject
    1801    to proactive negotiation, since this might provide the user agent with
    1802    useful information about the dimensions over which the response varies at
    1803    the time of the response.
    1804 </t>
    1805 <t>
    1806    A Vary field value of "*" signals that unspecified parameters not limited
    1807    to the header fields (e.g., the network address of the client), play a
    1808    role in the selection of the response representation; therefore, a cache
    1809    cannot determine whether this response is appropriate. A proxy &MUST-NOT;
    1810    generate the "*" value.
    1811 </t>
    1812 <t>
    1813    The field-names given are not limited to the set of standard header
    1814    fields defined by this specification. Field names are case-insensitive.
    1815 </t>
    18161770</section>
    18171771
     
    21912145      <xref target="header.pragma"/>
    21922146   </c>
    2193    <c>Vary</c>
    2194    <c>http</c>
    2195    <c>standard</c>
    2196    <c>
    2197       <xref target="header.vary"/>
    2198    </c>
    21992147   <c>Warning</c>
    22002148   <c>http</c>
     
    22932241      <x:defines>Date</x:defines>
    22942242      <x:defines>Location</x:defines>
     2243      <x:defines>Vary</x:defines>
    22952244    </x:source>
    22962245  </reference>
     
    25952544<x:ref>Expires</x:ref> = HTTP-date
    25962545
    2597 <x:ref>HTTP-date</x:ref> = &lt;HTTP-date, defined in [Part2], Section 6.1&gt;
     2546<x:ref>HTTP-date</x:ref> = &lt;HTTP-date, defined in [Part2], Section 9.1&gt;
    25982547
    25992548<x:ref>OWS</x:ref> = &lt;OWS, defined in [Part1], Section 3.2.1&gt;
     
    26012550<x:ref>Pragma</x:ref> = *( "," OWS ) pragma-directive *( OWS "," [ OWS
    26022551 pragma-directive ] )
    2603 
    2604 <x:ref>Vary</x:ref> = "*" / ( *( "," OWS ) field-name *( OWS "," [ OWS field-name ]
    2605  ) )
    26062552
    26072553<x:ref>Warning</x:ref> = *( "," OWS ) warning-value *( OWS "," [ OWS warning-value ]
     
    26342580</artwork>
    26352581</figure>
    2636 </section>
     2582<figure><preamble>ABNF diagnostics:</preamble><artwork type="inline">
     2583; field-name defined but not used
     2584</artwork></figure></section>
    26372585<?ENDINC p6-cache.abnf-appendix ?>
    26382586
Note: See TracChangeset for help on using the changeset viewer.