Changeset 1860 for draft-ietf-httpbis
- Timestamp:
- 03/09/12 23:03:33 (8 years ago)
- Location:
- draft-ietf-httpbis/latest
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p2-semantics.html
r1859 r1860 719 719 <li><a href="#rfc.section.8.2">8.2</a> <a href="#response.cache.related">Cache-related</a><ul> 720 720 <li><a href="#rfc.section.8.2.1">8.2.1</a> <a href="#header.date">Date</a></li> 721 <li><a href="#rfc.section.8.2.2">8.2.2</a> <a href="#header.vary">Vary</a></li> 721 722 </ul> 722 723 </li> … … 1171 1172 </p> 1172 1173 </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 8.2.2</a>) can be used to express the parameters the server uses to select a representation that is subject to proactive negotiation. 1174 1175 </p> 1175 1176 <h3 id="rfc.section.3.5.2"><a href="#rfc.section.3.5.2">3.5.2</a> <a id="reactive.negotiation" href="#reactive.negotiation">Reactive Negotiation</a></h3> … … 1359 1360 are defined to be cacheable. In general, safe methods that do not depend on a current or authoritative response are cacheable, 1360 1361 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>. 1362 1363 </p> 1363 1364 <h2 id="rfc.section.5.3"><a href="#rfc.section.5.3">5.3</a> <a id="method.definitions" href="#method.definitions">Method Definitions</a></h2> … … 1379 1380 to reject the request. 1380 1381 </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>). 1382 1383 </p> 1383 1384 <p id="rfc.section.5.3.1.p.7">See <a href="#encoding.sensitive.information.in.uris" title="Encoding Sensitive Information in URIs">Section 11.2</a> for security considerations when used for forms. … … 1390 1391 hypertext links for validity, accessibility, and recent modification. 1391 1392 </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>. 1393 1394 </p> 1394 1395 <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 … … 1415 1416 <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 8.1.1</a>). 1416 1417 </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 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 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 1419 </p> 1419 1420 <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. … … 1481 1482 </p> 1482 1483 <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>). 1484 1485 </p> 1485 1486 <h3 id="rfc.section.5.3.5"><a href="#rfc.section.5.3.5">5.3.5</a> <a id="DELETE" href="#DELETE">DELETE</a></h3> … … 1497 1498 </p> 1498 1499 <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>). 1500 1501 </p> 1501 1502 <div id="rfc.iref.c.7"></div> … … 2380 2381 <dd>a representation containing the request message as received by the end server.</dd> 2381 2382 </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. 2383 2384 </p> 2384 2385 <div id="rfc.iref.80"></div> … … 2410 2411 <div id="rfc.iref.s.10"></div> 2411 2412 <h3 id="rfc.section.7.3.4"><a href="#rfc.section.7.3.4">7.3.4</a> <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"">[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"">[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>). 2413 2414 </p> 2414 2415 <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.1 2"><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. 2418 2419 </p> 2419 2420 <div id="rfc.iref.83"></div> … … 2507 2508 <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. 2508 2509 </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.1 3"><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. 2510 2511 </p> 2511 2512 <div id="rfc.iref.87"></div> … … 2515 2516 request URI to one or more of the new references returned by the server, where possible. 2516 2517 </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.1 4"><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. 2518 2519 </p> 2519 2520 <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). … … 2664 2665 — that is left to the discretion of the server owner. 2665 2666 </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.1 5"><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. 2667 2668 </p> 2668 2669 <div id="rfc.iref.103"></div> … … 2856 2857 <tbody> 2857 2858 <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> 2858 2863 <td class="left">Date</td> 2859 2864 <td class="left"><a href="#header.date" id="rfc.xref.header.date.1" title="Date">Section 8.2.1</a></td> 2860 2865 </tr> 2861 2866 <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>2866 2867 <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 8.2.2</a></td> 2868 2869 </tr> 2869 2870 </tbody> … … 2900 2901 value. 2901 2902 </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> <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> 2902 2926 <h2 id="rfc.section.8.3"><a href="#rfc.section.8.3">8.3</a> <a id="response.auth" href="#response.auth">Authentication Challenges</a></h2> 2903 2927 <p id="rfc.section.8.3.p.1">Authentication challenges indicate what mechanisms are available for the client to provide authentication credentials in future … … 2951 2975 </div> 2952 2976 <div id="rfc.iref.a.5"></div> 2953 <div id="rfc.iref.h.1 8"></div>2977 <div id="rfc.iref.h.19"></div> 2954 2978 <h3 id="rfc.section.8.4.1"><a href="#rfc.section.8.4.1">8.4.1</a> <a id="header.allow" href="#header.allow">Allow</a></h3> 2955 2979 <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 2956 2980 is strictly to inform the recipient of valid request methods associated with the resource. 2957 2981 </p> 2958 <div id="rfc.figure.u.4 2"></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> 2959 2983 </pre><p id="rfc.section.8.4.1.p.3">Example of use:</p> 2960 <div id="rfc.figure.u.4 3"></div><pre class="text"> Allow: GET, HEAD, PUT2984 <div id="rfc.figure.u.44"></div><pre class="text"> Allow: GET, HEAD, PUT 2961 2985 </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> 2962 2986 <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 … … 2964 2988 </p> 2965 2989 <div id="rfc.iref.s.44"></div> 2966 <div id="rfc.iref.h. 19"></div>2990 <div id="rfc.iref.h.20"></div> 2967 2991 <h3 id="rfc.section.8.4.2"><a href="#rfc.section.8.4.2">8.4.2</a> <a id="header.server" href="#header.server">Server</a></h3> 2968 2992 <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> … … 2970 2994 identifying the application. 2971 2995 </p> 2972 <div id="rfc.figure.u.4 4"></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> ) ) 2973 2997 </pre><p id="rfc.section.8.4.2.p.4">Example:</p> 2974 <div id="rfc.figure.u.4 5"></div><pre class="text"> Server: CERN/3.0 libwww/2.172998 <div id="rfc.figure.u.46"></div><pre class="text"> Server: CERN/3.0 libwww/2.17 2975 2999 </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"">[Part1]</cite></a>). 2976 3000 </p> … … 2986 3010 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>: 2987 3011 </p> 2988 <div id="rfc.figure.u.4 6"></div><pre class="text">Sun, 06 Nov 1994 08:49:37 GMT ; RFC 11233012 <div id="rfc.figure.u.47"></div><pre class="text">Sun, 06 Nov 1994 08:49:37 GMT ; RFC 1123 2989 3013 </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.4 7"></div><pre class="text">Sunday, 06-Nov-94 08:49:37 GMT ; obsolete RFC 850 format3014 <div id="rfc.figure.u.48"></div><pre class="text">Sunday, 06-Nov-94 08:49:37 GMT ; obsolete RFC 850 format 2991 3015 Sun Nov 6 08:49:37 1994 ; ANSI C's asctime() format 2992 3016 </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. … … 2996 3020 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. 2997 3021 </p> 2998 <div id="rfc.figure.u.4 8"></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> 2999 3023 </pre><div id="preferred.date.format"> 3000 3024 <p id="rfc.section.9.1.p.8"> Preferred format:</p> 3001 3025 </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> 3003 3027 ; fixed length subset of the format defined in 3004 3028 ; <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> … … 3043 3067 <p id="rfc.section.9.1.p.11"> Obsolete formats:</p> 3044 3068 </div> 3045 <div id="rfc.figure.u.5 0"></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.5 1"></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> 3047 3071 <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> 3048 3072 ; day-month-year (e.g., 02-Jun-82) … … 3055 3079 / %x53.61.74.75.72.64.61.79 ; "Saturday", case-sensitive 3056 3080 / %x53.75.6E.64.61.79 ; "Sunday", case-sensitive 3057 </pre><div id="rfc.figure.u.5 2"></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> 3058 3082 <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> )) 3059 3083 ; month day (e.g., Jun 2) … … 3073 3097 By convention, the products are listed in order of their significance for identifying the application. 3074 3098 </p> 3075 <div id="rfc.figure.u.5 3"></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>] 3076 3100 <a href="#product.tokens" class="smpl">product-version</a> = <a href="#imported.abnf" class="smpl">token</a> 3077 3101 </pre><p id="rfc.section.9.2.p.3">Examples:</p> 3078 <div id="rfc.figure.u.5 4"></div><pre class="text"> User-Agent: CERN-LineMode/2.15 libwww/2.17b33102 <div id="rfc.figure.u.55"></div><pre class="text"> User-Agent: CERN-LineMode/2.15 libwww/2.17b3 3079 3103 Server: Apache/0.8.4 3080 3104 </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). … … 3087 3111 </p> 3088 3112 </div> 3089 <div id="rfc.figure.u.5 5"></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> 3090 3114 </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 3091 3115 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. … … 3101 3125 directly, and only decoded by the recipient. 3102 3126 </p> 3103 <div id="rfc.figure.u.5 6"></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> 3104 3128 </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 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 3.2.2</a>) header fields. Although the value describes the content-coding, what is more important is that it indicates what decoding 3105 3129 mechanism will be required to remove the encoding. … … 3117 3141 </li> 3118 3142 </ul> 3119 <p id="rfc.section.9.4.p.6">gzip<span id="rfc.iref.g.5 3"></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> 3120 3144 </p> 3121 3145 <ul class="empty"> … … 3126 3150 <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 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 6.3.2</a>) header fields in order to provide open and extensible data typing and type negotiation. 3127 3151 </p> 3128 <div id="rfc.figure.u.5 7"></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> ) 3129 3153 <a href="#media.types" class="smpl">type</a> = <a href="#imported.abnf" class="smpl">token</a> 3130 3154 <a href="#media.types" class="smpl">subtype</a> = <a href="#imported.abnf" class="smpl">token</a> … … 3133 3157 </p> 3134 3158 </div> 3135 <div id="rfc.figure.u.5 8"></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> 3136 3160 <a href="#rule.parameter" class="smpl">attribute</a> = <a href="#imported.abnf" class="smpl">token</a> 3137 3161 <a href="#rule.parameter" class="smpl">value</a> = <a href="#imported.abnf" class="smpl">word</a> … … 3183 3207 of subtags: 3184 3208 </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> = <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>>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> = <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>> 3186 3210 </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 3187 3211 by the IANA (see <<a href="http://www.iana.org/assignments/language-subtag-registry">http://www.iana.org/assignments/language-subtag-registry</a>>). 3188 3212 </p> 3189 <div id="rfc.figure.u.6 0"></div>3213 <div id="rfc.figure.u.61"></div> 3190 3214 <p>Example tags include:</p> <pre class="text"> en, en-US, es-419, az-Arab, x-pig-latin, man-Nkoo-GN 3191 3215 </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. … … 3319 3343 a zero-length response body. They can require the presence of one or more particular HTTP response header field(s). 3320 3344 </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.1 8"><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 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 3.1</a>; by default, it is anonymous). 3322 3346 </p> 3323 3347 <h3 id="rfc.section.10.2.3"><a href="#rfc.section.10.2.3">10.2.3</a> <a id="status.code.registration" href="#status.code.registration">Registrations</a></h3> … … 3573 3597 these: 3574 3598 </p> 3575 <div id="rfc.figure.u.6 1"></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", 3576 3600 "http://without-a-comma.example.com/" 3577 3601 Example-Date-Field: "Sat, 04 May 1996", "Wed, 14 Sep 2005" … … 3609 3633 </li> 3610 3634 <li> 3611 <p>How the header field might interact with caching (see <a href="#Part6" id="rfc.xref.Part6.1 9"><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>). 3612 3636 </p> 3613 3637 </li> … … 3765 3789 <td class="left">standard</td> 3766 3790 <td class="left"> <a href="#header.user-agent" id="rfc.xref.header.user-agent.3" title="User-Agent">Section 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 8.2.2</a> 3767 3798 </td> 3768 3799 </tr> … … 3895 3926 <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 3896 3927 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. 3898 3929 </p> 3899 3930 <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 … … 4126 4157 </p> 4127 4158 <div id="rfc.iref.m.10"></div> 4128 <div id="rfc.iref.h.2 0"></div>4159 <div id="rfc.iref.h.21"></div> 4129 4160 <h2 id="rfc.section.A.1"><a href="#rfc.section.A.1">A.1</a> <a id="mime-version" href="#mime-version">MIME-Version</a></h2> 4130 4161 <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. … … 4133 4164 MIME environments. 4134 4165 </p> 4135 <div id="rfc.figure.u.6 2"></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> 4136 4167 </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 4137 4168 document and not the MIME specification. … … 4158 4189 </p> 4159 4190 <div id="rfc.iref.c.12"></div> 4160 <div id="rfc.iref.h.2 1"></div>4191 <div id="rfc.iref.h.22"></div> 4161 4192 <h2 id="rfc.section.A.5"><a href="#rfc.section.A.5">A.5</a> <a id="no.content-transfer-encoding" href="#no.content-transfer-encoding">No Content-Transfer-Encoding</a></h2> 4162 4193 <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. … … 4248 4279 <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"">[Part1]</cite></a>: 4249 4280 </p> 4250 <div id="rfc.figure.u.6 3"></div><pre class="inline"> <a href="#imported.abnf" class="smpl">BWS</a> = <BWS, defined in <a href="#Part1" id="rfc.xref.Part1.46"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>>4281 <div id="rfc.figure.u.64"></div><pre class="inline"> <a href="#imported.abnf" class="smpl">BWS</a> = <BWS, defined in <a href="#Part1" id="rfc.xref.Part1.46"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>> 4251 4282 <a href="#imported.abnf" class="smpl">OWS</a> = <OWS, defined in <a href="#Part1" id="rfc.xref.Part1.47"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>> 4252 4283 <a href="#imported.abnf" class="smpl">RWS</a> = <RWS, defined in <a href="#Part1" id="rfc.xref.Part1.48"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>> … … 4260 4291 <a href="#imported.abnf" class="smpl">URI-reference</a> = <URI-reference, defined in <a href="#Part1" id="rfc.xref.Part1.55"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.7</a>> 4261 4292 </pre><h1 id="rfc.section.E"><a href="#rfc.section.E">E.</a> <a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1> 4262 <div id="rfc.figure.u.6 4"></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 "," [ 4263 4294 OWS ( media-range [ accept-params ] ) ] ) ] 4264 4295 <a href="#header.accept-charset" class="smpl">Accept-Charset</a> = *( "," OWS ) ( ( charset / "*" ) [ weight ] ) *( OWS … … 4305 4336 <a href="#header.user-agent" class="smpl">User-Agent</a> = product *( RWS ( product / comment ) ) 4306 4337 4338 <a href="#header.vary" class="smpl">Vary</a> = "*" / ( *( "," OWS ) field-name *( OWS "," [ OWS field-name ] 4339 ) ) 4340 4307 4341 <a href="#imported.abnf" class="smpl">absolute-URI</a> = <absolute-URI, defined in [Part1], Section 2.7> 4342 4308 4343 <a href="#header.accept" class="smpl">accept-ext</a> = OWS ";" OWS token [ "=" word ] 4309 4344 <a href="#header.accept" class="smpl">accept-params</a> = weight *accept-ext … … 4312 4347 4313 4348 <a href="#rule.charset" class="smpl">charset</a> = token 4349 4314 4350 <a href="#header.accept-encoding" class="smpl">codings</a> = content-coding / "identity" / "*" 4315 4351 <a href="#imported.abnf" class="smpl">comment</a> = <comment, defined in [Part1], Section 3.2.4> … … 4317 4353 4318 4354 <a href="#obsolete.date.formats" class="smpl">date1</a> = day SP month SP year 4355 4319 4356 <a href="#obsolete.date.formats" class="smpl">date2</a> = day "-" month "-" 2DIGIT 4320 4357 <a href="#obsolete.date.formats" class="smpl">date3</a> = month SP ( 2DIGIT / ( SP DIGIT ) ) … … 4337 4374 4338 4375 <a href="#header.expect" class="smpl">expect-name</a> = token 4376 4339 4377 <a href="#header.expect" class="smpl">expect-param</a> = expect-name [ BWS "=" BWS expect-value ] 4340 4378 <a href="#header.expect" class="smpl">expect-value</a> = token / quoted-string … … 4345 4383 4346 4384 <a href="#header.accept-language" class="smpl">language-range</a> = <language-range, defined in [RFC4647], Section 2.1> 4385 4347 4386 <a href="#language.tags" class="smpl">language-tag</a> = <Language-Tag, defined in [RFC5646], Section 2.1> 4348 4387 4349 4388 <a href="#header.from" class="smpl">mailbox</a> = <mailbox, defined in [RFC5322], Section 3.4> 4389 4350 4390 <a href="#header.accept" class="smpl">media-range</a> = ( "*/*" / ( type "/*" ) / ( type "/" subtype ) ) *( OWS 4351 4391 ";" OWS parameter ) … … 4369 4409 4370 4410 <a href="#rule.parameter" class="smpl">parameter</a> = attribute "=" value 4411 4371 4412 <a href="#imported.abnf" class="smpl">partial-URI</a> = <partial-URI, defined in [Part1], Section 2.7> 4372 4413 <a href="#product.tokens" class="smpl">product</a> = token [ "/" product-version ] … … 4374 4415 4375 4416 <a href="#imported.abnf" class="smpl">quoted-string</a> = <quoted-string, defined in [Part1], Section 3.2.4> 4417 4376 4418 <a href="#quality.values" class="smpl">qvalue</a> = ( "0" [ "." *3DIGIT ] ) / ( "1" [ "." *3"0" ] ) 4377 4419 4378 4420 <a href="#preferred.date.format" class="smpl">rfc1123-date</a> = day-name "," SP date1 SP time-of-day SP GMT 4421 4379 4422 <a href="#obsolete.date.formats" class="smpl">rfc850-date</a> = day-name-l "," SP date2 SP time-of-day SP GMT 4380 4423 4381 4424 <a href="#preferred.date.format" class="smpl">second</a> = 2DIGIT 4425 4382 4426 <a href="#media.types" class="smpl">subtype</a> = token 4383 4427 4384 4428 <a href="#preferred.date.format" class="smpl">time-of-day</a> = hour ":" minute ":" second 4429 4385 4430 <a href="#imported.abnf" class="smpl">token</a> = <token, defined in [Part1], Section 3.2.4> 4386 4431 <a href="#media.types" class="smpl">type</a> = token … … 4389 4434 4390 4435 <a href="#quality.values" class="smpl">weight</a> = OWS ";" OWS "q=" qvalue 4436 4391 4437 <a href="#imported.abnf" class="smpl">word</a> = <word, defined in [Part1], Section 3.2.4> 4392 4438 4393 4439 <a href="#preferred.date.format" class="smpl">year</a> = 4DIGIT 4394 </pre> <h1 id="rfc.section.F"><a href="#rfc.section.F">F.</a> <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> <a id="change.log" href="#change.log">Change Log (to be removed by RFC Editor before publication)</a></h1> 4395 4443 <h2 id="rfc.section.F.1"><a href="#rfc.section.F.1">F.1</a> Since RFC 2616 4396 4444 </h2> … … 4959 5007 <p id="rfc.section.F.41.p.1">None yet.</p> 4960 5008 <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> 4962 5010 </p> 4963 5011 <div class="print2col"> … … 5076 5124 <li><tt>Accept-Language</tt> <a href="#rfc.iref.g.22"><b>6.3.5</b></a></li> 5077 5125 <li><tt>accept-params</tt> <a href="#rfc.iref.g.17"><b>6.3.2</b></a></li> 5078 <li><tt>Allow</tt> <a href="#rfc.iref.g.3 1"><b>8.4.1</b></a></li>5079 <li><tt>asctime-date</tt> <a href="#rfc.iref.g.4 8"><b>9.1</b></a></li>5080 <li><tt>attribute</tt> <a href="#rfc.iref.g.5 8"><b>9.5</b></a></li>5081 <li><tt>charset</tt> <a href="#rfc.iref.g.5 1"><b>9.3</b></a></li>5126 <li><tt>Allow</tt> <a href="#rfc.iref.g.32"><b>8.4.1</b></a></li> 5127 <li><tt>asctime-date</tt> <a href="#rfc.iref.g.49"><b>9.1</b></a></li> 5128 <li><tt>attribute</tt> <a href="#rfc.iref.g.59"><b>9.5</b></a></li> 5129 <li><tt>charset</tt> <a href="#rfc.iref.g.52"><b>9.3</b></a></li> 5082 5130 <li><tt>codings</tt> <a href="#rfc.iref.g.21"><b>6.3.4</b></a></li> 5083 <li><tt>content-coding</tt> <a href="#rfc.iref.g.5 2"><b>9.4</b></a></li>5131 <li><tt>content-coding</tt> <a href="#rfc.iref.g.53"><b>9.4</b></a></li> 5084 5132 <li><tt>Content-Encoding</tt> <a href="#rfc.iref.g.2"><b>3.2.2</b></a></li> 5085 5133 <li><tt>Content-Language</tt> <a href="#rfc.iref.g.3"><b>3.2.3</b></a></li> … … 5087 5135 <li><tt>Content-Type</tt> <a href="#rfc.iref.g.1"><b>3.2.1</b></a></li> 5088 5136 <li><tt>Date</tt> <a href="#rfc.iref.g.30"><b>8.2.1</b></a></li> 5089 <li><tt>date1</tt> <a href="#rfc.iref.g.3 5"><b>9.1</b></a></li>5090 <li><tt>day</tt> <a href="#rfc.iref.g.4 2"><b>9.1</b></a></li>5091 <li><tt>day-name</tt> <a href="#rfc.iref.g.4 0"><b>9.1</b></a></li>5092 <li><tt>day-name-l</tt> <a href="#rfc.iref.g.4 1"><b>9.1</b></a></li>5137 <li><tt>date1</tt> <a href="#rfc.iref.g.36"><b>9.1</b></a></li> 5138 <li><tt>day</tt> <a href="#rfc.iref.g.43"><b>9.1</b></a></li> 5139 <li><tt>day-name</tt> <a href="#rfc.iref.g.41"><b>9.1</b></a></li> 5140 <li><tt>day-name-l</tt> <a href="#rfc.iref.g.42"><b>9.1</b></a></li> 5093 5141 <li><tt>delta-seconds</tt> <a href="#rfc.iref.g.29"><b>8.1.2</b></a></li> 5094 5142 <li><tt>Expect</tt> <a href="#rfc.iref.g.8"><b>6.1.2</b></a></li> … … 5098 5146 <li><tt>expectation</tt> <a href="#rfc.iref.g.9"><b>6.1.2</b></a></li> 5099 5147 <li><tt>From</tt> <a href="#rfc.iref.g.24"><b>6.5.1</b></a></li> 5100 <li><tt>GMT</tt> <a href="#rfc.iref.g.4 5"><b>9.1</b></a></li>5101 <li><tt>hour</tt> <a href="#rfc.iref.g.3 7"><b>9.1</b></a></li>5102 <li><tt>HTTP-date</tt> <a href="#rfc.iref.g.3 3"><b>9.1</b></a></li>5148 <li><tt>GMT</tt> <a href="#rfc.iref.g.46"><b>9.1</b></a></li> 5149 <li><tt>hour</tt> <a href="#rfc.iref.g.38"><b>9.1</b></a></li> 5150 <li><tt>HTTP-date</tt> <a href="#rfc.iref.g.34"><b>9.1</b></a></li> 5103 5151 <li><tt>language-range</tt> <a href="#rfc.iref.g.23"><b>6.3.5</b></a></li> 5104 <li><tt>language-tag</tt> <a href="#rfc.iref.g.6 0"><b>9.6</b></a></li>5152 <li><tt>language-tag</tt> <a href="#rfc.iref.g.61"><b>9.6</b></a></li> 5105 5153 <li><tt>Location</tt> <a href="#rfc.iref.g.27"><b>8.1.1</b></a></li> 5106 5154 <li><tt>Max-Forwards</tt> <a href="#rfc.iref.g.7"><b>6.1.1</b></a></li> 5107 5155 <li><tt>media-range</tt> <a href="#rfc.iref.g.16"><b>6.3.2</b></a></li> 5108 <li><tt>media-type</tt> <a href="#rfc.iref.g.5 4"><b>9.5</b></a></li>5156 <li><tt>media-type</tt> <a href="#rfc.iref.g.55"><b>9.5</b></a></li> 5109 5157 <li><tt>method</tt> <a href="#rfc.iref.g.5"><b>5.1</b></a></li> 5110 <li><tt>MIME-Version</tt> <a href="#rfc.iref.g.6 1"><b>A.1</b></a></li>5111 <li><tt>minute</tt> <a href="#rfc.iref.g.3 8"><b>9.1</b></a></li>5112 <li><tt>month</tt> <a href="#rfc.iref.g.4 3"><b>9.1</b></a></li>5113 <li><tt>obs-date</tt> <a href="#rfc.iref.g.4 6"><b>9.1</b></a></li>5114 <li><tt>parameter</tt> <a href="#rfc.iref.g.5 7"><b>9.5</b></a></li>5115 <li><tt>product</tt> <a href="#rfc.iref.g. 49"><b>9.2</b></a></li>5116 <li><tt>product-version</tt> <a href="#rfc.iref.g.5 0"><b>9.2</b></a></li>5158 <li><tt>MIME-Version</tt> <a href="#rfc.iref.g.62"><b>A.1</b></a></li> 5159 <li><tt>minute</tt> <a href="#rfc.iref.g.39"><b>9.1</b></a></li> 5160 <li><tt>month</tt> <a href="#rfc.iref.g.44"><b>9.1</b></a></li> 5161 <li><tt>obs-date</tt> <a href="#rfc.iref.g.47"><b>9.1</b></a></li> 5162 <li><tt>parameter</tt> <a href="#rfc.iref.g.58"><b>9.5</b></a></li> 5163 <li><tt>product</tt> <a href="#rfc.iref.g.50"><b>9.2</b></a></li> 5164 <li><tt>product-version</tt> <a href="#rfc.iref.g.51"><b>9.2</b></a></li> 5117 5165 <li><tt>qvalue</tt> <a href="#rfc.iref.g.14"><b>6.3.1</b></a></li> 5118 5166 <li><tt>Referer</tt> <a href="#rfc.iref.g.25"><b>6.5.2</b></a></li> 5119 5167 <li><tt>Retry-After</tt> <a href="#rfc.iref.g.28"><b>8.1.2</b></a></li> 5120 <li><tt>rfc1123-date</tt> <a href="#rfc.iref.g.3 4"><b>9.1</b></a></li>5121 <li><tt>rfc850-date</tt> <a href="#rfc.iref.g.4 7"><b>9.1</b></a></li>5122 <li><tt>second</tt> <a href="#rfc.iref.g. 39"><b>9.1</b></a></li>5123 <li><tt>Server</tt> <a href="#rfc.iref.g.3 2"><b>8.4.2</b></a></li>5124 <li><tt>subtype</tt> <a href="#rfc.iref.g.5 6"><b>9.5</b></a></li>5125 <li><tt>time-of-day</tt> <a href="#rfc.iref.g.3 6"><b>9.1</b></a></li>5126 <li><tt>type</tt> <a href="#rfc.iref.g.5 5"><b>9.5</b></a></li>5168 <li><tt>rfc1123-date</tt> <a href="#rfc.iref.g.35"><b>9.1</b></a></li> 5169 <li><tt>rfc850-date</tt> <a href="#rfc.iref.g.48"><b>9.1</b></a></li> 5170 <li><tt>second</tt> <a href="#rfc.iref.g.40"><b>9.1</b></a></li> 5171 <li><tt>Server</tt> <a href="#rfc.iref.g.33"><b>8.4.2</b></a></li> 5172 <li><tt>subtype</tt> <a href="#rfc.iref.g.57"><b>9.5</b></a></li> 5173 <li><tt>time-of-day</tt> <a href="#rfc.iref.g.37"><b>9.1</b></a></li> 5174 <li><tt>type</tt> <a href="#rfc.iref.g.56"><b>9.5</b></a></li> 5127 5175 <li><tt>User-Agent</tt> <a href="#rfc.iref.g.26"><b>6.5.3</b></a></li> 5128 <li><tt>value</tt> <a href="#rfc.iref.g.59"><b>9.5</b></a></li> 5176 <li><tt>value</tt> <a href="#rfc.iref.g.60"><b>9.5</b></a></li> 5177 <li><tt>Vary</tt> <a href="#rfc.iref.g.31"><b>8.2.2</b></a></li> 5129 5178 <li><tt>weight</tt> <a href="#rfc.iref.g.13"><b>6.3.1</b></a></li> 5130 <li><tt>year</tt> <a href="#rfc.iref.g.4 4"><b>9.1</b></a></li>5179 <li><tt>year</tt> <a href="#rfc.iref.g.45"><b>9.1</b></a></li> 5131 5180 </ul> 5132 5181 </li> 5133 <li>gzip (Coding Format) <a href="#rfc.iref.g.5 3">9.4</a></li>5182 <li>gzip (Coding Format) <a href="#rfc.iref.g.54">9.4</a></li> 5134 5183 </ul> 5135 5184 </li> … … 5142 5191 <li>Accept-Encoding <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> 5143 5192 <li>Accept-Language <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 <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.1 8"><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 <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> 5145 5194 <li>Content-Encoding <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> 5146 5195 <li>Content-Language <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> 5147 5196 <li>Content-Location <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 <a href="#rfc.iref.h.2 1">A.5</a>, <a href="#rfc.xref.no.content-transfer-encoding.1">C</a></li>5197 <li>Content-Transfer-Encoding <a href="#rfc.iref.h.22">A.5</a>, <a href="#rfc.xref.no.content-transfer-encoding.1">C</a></li> 5149 5198 <li>Content-Type <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> 5150 5199 <li>Date <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> … … 5153 5202 <li>Location <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> 5154 5203 <li>Max-Forwards <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 <a href="#rfc.xref.mime-version.1">10.3.2</a>, <a href="#rfc.iref.h.2 0"><b>A.1</b></a></li>5204 <li>MIME-Version <a href="#rfc.xref.mime-version.1">10.3.2</a>, <a href="#rfc.iref.h.21"><b>A.1</b></a></li> 5156 5205 <li>Referer <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> 5157 5206 <li>Retry-After <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 <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 <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> 5159 5208 <li>User-Agent <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 <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> 5160 5210 </ul> 5161 5211 </li> … … 5243 5293 </ul> 5244 5294 </li> 5245 <li><em>Part6</em> <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> <a href="#rfc.xref.Part6.6">5.3.3</a></li> 5247 <li><em>Section 4.1.2</em> <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> <a href="#rfc.xref.Part6.5">5.3.2</a></li> 5249 <li><em>Section 6</em> <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> <a href="#rfc.xref.Part6.16">8.2</a></li> 5251 <li><em>Section 7.2</em> <a href="#rfc.xref.Part6.10">7.3.4</a></li> 5295 <li><em>Part6</em> <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> <a href="#rfc.xref.Part6.5">5.3.3</a></li> 5297 <li><em>Section 4.1.2</em> <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> <a href="#rfc.xref.Part6.16">8.2.2</a></li> 5299 <li><em>Section 5</em> <a href="#rfc.xref.Part6.4">5.3.2</a></li> 5300 <li><em>Section 6</em> <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> <a href="#rfc.xref.Part6.15">8.2</a></li> 5302 <li><em>Section 7.2</em> <a href="#rfc.xref.Part6.9">7.3.4</a></li> 5252 5303 <li><em>Section 7.3</em> <a href="#rfc.xref.Part6.1">3.2</a></li> 5253 <li><em>Section 7.5</em> <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> <a href="#rfc.xref.Part6.11">7.3.4</a></li> 5304 <li><em>Section 7.5</em> <a href="#rfc.xref.Part6.10">7.3.4</a></li> 5255 5305 </ul> 5256 5306 </li> … … 5425 5475 </ul> 5426 5476 </li> 5477 <li><a id="rfc.index.V" href="#rfc.index.V"><b>V</b></a><ul> 5478 <li>Vary header field <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> 5427 5481 </ul> 5428 5482 </div> -
draft-ietf-httpbis/latest/p2-semantics.xml
r1859 r1860 69 69 <!ENTITY header-upgrade "<xref target='Part1' x:rel='#header.upgrade' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> 70 70 <!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'/>">72 71 <!ENTITY header-via "<xref target='Part1' x:rel='#header.via' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> 73 72 <!ENTITY header-warning "<xref target='Part6' x:rel='#header.warning' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> … … 802 801 </x:note> 803 802 <t> 804 The <x:ref>Vary</x:ref> header field ( &header-vary;) can be used to express805 the parameters the server uses to select a representation that is subject to806 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. 807 806 </t> 808 807 </section> … … 3452 3451 <ttcol>Header Field Name</ttcol><ttcol>Defined in...</ttcol> 3453 3452 3453 <c>Age</c> <c>&header-age;</c> 3454 3454 <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> 3457 3456 </texttable> 3458 3457 … … 3514 3513 practice, the date can be generated at any time during the message 3515 3514 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. 3516 3561 </t> 3517 3562 </section> … … 4614 4659 <xref target="header.user-agent"/> 4615 4660 </c> 4661 <c>Vary</c> 4662 <c>http</c> 4663 <c>standard</c> 4664 <c> 4665 <xref target="header.vary"/> 4666 </c> 4616 4667 </texttable> 4617 4668 <!--(END)--> … … 4893 4944 <x:defines>Upgrade</x:defines> 4894 4945 <x:defines>Via</x:defines> 4946 <x:defines>field-name</x:defines> 4895 4947 </x:source> 4896 4948 </reference> … … 4973 5025 </front> 4974 5026 <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"/> 4978 5028 </reference> 4979 5029 … … 5962 6012 <x:ref>User-Agent</x:ref> = product *( RWS ( product / comment ) ) 5963 6013 6014 <x:ref>Vary</x:ref> = "*" / ( *( "," OWS ) field-name *( OWS "," [ OWS field-name ] 6015 ) ) 6016 5964 6017 <x:ref>absolute-URI</x:ref> = <absolute-URI, defined in [Part1], Section 2.7> 6018 5965 6019 <x:ref>accept-ext</x:ref> = OWS ";" OWS token [ "=" word ] 5966 6020 <x:ref>accept-params</x:ref> = weight *accept-ext … … 5969 6023 5970 6024 <x:ref>charset</x:ref> = token 6025 5971 6026 <x:ref>codings</x:ref> = content-coding / "identity" / "*" 5972 6027 <x:ref>comment</x:ref> = <comment, defined in [Part1], Section 3.2.4> … … 5974 6029 5975 6030 <x:ref>date1</x:ref> = day SP month SP year 6031 5976 6032 <x:ref>date2</x:ref> = day "-" month "-" 2DIGIT 5977 6033 <x:ref>date3</x:ref> = month SP ( 2DIGIT / ( SP DIGIT ) ) … … 5994 6050 5995 6051 <x:ref>expect-name</x:ref> = token 6052 5996 6053 <x:ref>expect-param</x:ref> = expect-name [ BWS "=" BWS expect-value ] 5997 6054 <x:ref>expect-value</x:ref> = token / quoted-string … … 6002 6059 6003 6060 <x:ref>language-range</x:ref> = <language-range, defined in [RFC4647], Section 2.1> 6061 6004 6062 <x:ref>language-tag</x:ref> = <Language-Tag, defined in [RFC5646], Section 2.1> 6005 6063 6006 6064 <x:ref>mailbox</x:ref> = <mailbox, defined in [RFC5322], Section 3.4> 6065 6007 6066 <x:ref>media-range</x:ref> = ( "*/*" / ( type "/*" ) / ( type "/" subtype ) ) *( OWS 6008 6067 ";" OWS parameter ) … … 6026 6085 6027 6086 <x:ref>parameter</x:ref> = attribute "=" value 6087 6028 6088 <x:ref>partial-URI</x:ref> = <partial-URI, defined in [Part1], Section 2.7> 6029 6089 <x:ref>product</x:ref> = token [ "/" product-version ] … … 6031 6091 6032 6092 <x:ref>quoted-string</x:ref> = <quoted-string, defined in [Part1], Section 3.2.4> 6093 6033 6094 <x:ref>qvalue</x:ref> = ( "0" [ "." *3DIGIT ] ) / ( "1" [ "." *3"0" ] ) 6034 6095 6035 6096 <x:ref>rfc1123-date</x:ref> = day-name "," SP date1 SP time-of-day SP GMT 6097 6036 6098 <x:ref>rfc850-date</x:ref> = day-name-l "," SP date2 SP time-of-day SP GMT 6037 6099 6038 6100 <x:ref>second</x:ref> = 2DIGIT 6101 6039 6102 <x:ref>subtype</x:ref> = token 6040 6103 6041 6104 <x:ref>time-of-day</x:ref> = hour ":" minute ":" second 6105 6042 6106 <x:ref>token</x:ref> = <token, defined in [Part1], Section 3.2.4> 6043 6107 <x:ref>type</x:ref> = token … … 6046 6110 6047 6111 <x:ref>weight</x:ref> = OWS ";" OWS "q=" qvalue 6112 6048 6113 <x:ref>word</x:ref> = <word, defined in [Part1], Section 3.2.4> 6049 6114 … … 6051 6116 </artwork> 6052 6117 </figure> 6053 </section> 6118 <figure><preamble>ABNF diagnostics:</preamble><artwork type="inline"> 6119 ; field-name UNDEFINED 6120 </artwork></figure></section> 6054 6121 <?ENDINC p2-semantics.abnf-appendix ?> 6055 6122 -
draft-ietf-httpbis/latest/p4-conditional.html
r1845 r1860 449 449 } 450 450 @bottom-center { 451 content: "Expires March 5, 2013";451 content: "Expires March 7, 2013"; 452 452 } 453 453 @bottom-right { … … 492 492 <meta name="dct.creator" content="Reschke, J. F."> 493 493 <meta name="dct.identifier" content="urn:ietf:id:draft-ietf-httpbis-p4-conditional-latest"> 494 <meta name="dct.issued" scheme="ISO8601" content="2012-09-0 1">494 <meta name="dct.issued" scheme="ISO8601" content="2012-09-03"> 495 495 <meta name="dct.replaces" content="urn:ietf:rfc:2616"> 496 496 <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."> … … 518 518 </tr> 519 519 <tr> 520 <td class="left">Expires: March 5, 2013</td>520 <td class="left">Expires: March 7, 2013</td> 521 521 <td class="right">J. Reschke, Editor</td> 522 522 </tr> … … 527 527 <tr> 528 528 <td class="left"></td> 529 <td class="right">September 1, 2012</td>529 <td class="right">September 3, 2012</td> 530 530 </tr> 531 531 </tbody> … … 554 554 in progress”. 555 555 </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> 557 557 <h1><a id="rfc.copyrightnotice" href="#rfc.copyrightnotice">Copyright Notice</a></h1> 558 558 <p>Copyright © 2012 IETF Trust and the persons identified as the document authors. All rights reserved.</p> … … 884 884 </div> 885 885 <h3 id="rfc.section.2.3.3"><a href="#rfc.section.2.3.3">2.3.3</a> <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>): 887 887 </p> 888 888 <div id="rfc.figure.u.5"></div> … … 1093 1093 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. 1094 1094 </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">2001096 (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="p 6-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. 1097 1097 </p> 1098 1098 <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, … … 1346 1346 <a href="#imported.abnf" class="smpl">obs-text</a> = <obs-text, defined in <a href="#Part1" id="rfc.xref.Part1.9"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>> 1347 1347 </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> = <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>>1348 <div id="rfc.figure.u.17"></div><pre class="inline"> <a href="#imported.abnf" class="smpl">HTTP-date</a> = <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>> 1349 1349 </pre><h1 id="rfc.section.C"><a href="#rfc.section.C">C.</a> <a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1> 1350 1350 <div id="rfc.figure.u.18"></div> <pre class="inline"><a href="#header.etag" class="smpl">ETag</a> = entity-tag 1351 1351 1352 <a href="#imported.abnf" class="smpl">HTTP-date</a> = <HTTP-date, defined in [Part2], Section 6.1>1352 <a href="#imported.abnf" class="smpl">HTTP-date</a> = <HTTP-date, defined in [Part2], Section 9.1> 1353 1353 1354 1354 <a href="#header.if-match" class="smpl">If-Match</a> = "*" / ( *( "," OWS ) entity-tag *( OWS "," [ OWS … … 1471 1471 </li> 1472 1472 <li><em>Part2</em> <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> <a href="#rfc.xref.Part2.5">B</a></li>1474 <li><em>Section 9</em> <a href="#rfc.xref.Part2.2">2.3.3</a></li>1475 <li><em>Section 10.3</em> <a href="#rfc.xref.Part2.3">2.3.3</a></li>1476 <li><em>Section 10.10</em> <a href="#rfc.xref.Part2.4">4.1</a></li>1473 <li><em>Section 3.5</em> <a href="#rfc.xref.Part2.2">2.3.3</a></li> 1474 <li><em>Section 6.3.4</em> <a href="#rfc.xref.Part2.3">2.3.3</a></li> 1475 <li><em>Section 8.2.1</em> <a href="#rfc.xref.Part2.4">4.1</a></li> 1476 <li><em>Section 9.1</em> <a href="#rfc.xref.Part2.5">B</a></li> 1477 1477 </ul> 1478 1478 </li> -
draft-ietf-httpbis/latest/p4-conditional.xml
r1845 r1860 28 28 <!ENTITY header-if-range "<xref target='Part5' x:rel='#header.if-range' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> 29 29 <!ENTITY header-range "<xref target='Part5' x:rel='#header.range' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> 30 <!ENTITY header-vary "<xref target='Part 6' 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'/>"> 31 31 <!ENTITY http-date "<xref target='Part2' x:rel='#http.date' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> 32 32 <!ENTITY transfer-codings "<xref target='Part1' x:rel='#transfer.codings' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> … … 1272 1272 <x:defines>Date</x:defines> 1273 1273 <x:defines>Location</x:defines> 1274 <x:defines>Vary</x:defines> 1274 1275 </x:source> 1275 1276 </reference> … … 1324 1325 <x:defines>Cache-Control</x:defines> 1325 1326 <x:defines>Expires</x:defines> 1326 <x:defines>Vary</x:defines>1327 1327 </x:source> 1328 1328 </reference> … … 1495 1495 <x:ref>ETag</x:ref> = entity-tag 1496 1496 1497 <x:ref>HTTP-date</x:ref> = <HTTP-date, defined in [Part2], Section 6.1>1497 <x:ref>HTTP-date</x:ref> = <HTTP-date, defined in [Part2], Section 9.1> 1498 1498 1499 1499 <x:ref>If-Match</x:ref> = "*" / ( *( "," OWS ) entity-tag *( OWS "," [ OWS -
draft-ietf-httpbis/latest/p5-range.html
r1845 r1860 449 449 } 450 450 @bottom-center { 451 content: "Expires March 5, 2013";451 content: "Expires March 7, 2013"; 452 452 } 453 453 @bottom-right { … … 493 493 <meta name="dct.creator" content="Reschke, J. F."> 494 494 <meta name="dct.identifier" content="urn:ietf:id:draft-ietf-httpbis-p5-range-latest"> 495 <meta name="dct.issued" scheme="ISO8601" content="2012-09-0 1">495 <meta name="dct.issued" scheme="ISO8601" content="2012-09-03"> 496 496 <meta name="dct.replaces" content="urn:ietf:rfc:2616"> 497 497 <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."> … … 519 519 </tr> 520 520 <tr> 521 <td class="left">Expires: March 5, 2013</td>521 <td class="left">Expires: March 7, 2013</td> 522 522 <td class="right">J. Reschke, Editor</td> 523 523 </tr> … … 528 528 <tr> 529 529 <td class="left"></td> 530 <td class="right">September 1, 2012</td>530 <td class="right">September 3, 2012</td> 531 531 </tr> 532 532 </tbody> … … 553 553 in progress”. 554 554 </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> 556 556 <h1><a id="rfc.copyrightnotice" href="#rfc.copyrightnotice">Copyright Notice</a></h1> 557 557 <p>Copyright © 2012 IETF Trust and the persons identified as the document authors. All rights reserved.</p> … … 707 707 </li> 708 708 <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="p 6-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 request709 <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 710 710 </li> 711 711 </ul> … … 1270 1270 <a href="#imported.abnf" class="smpl">token</a> = <token, defined in <a href="#Part1" id="rfc.xref.Part1.6"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>> 1271 1271 </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> = <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>>1272 <div id="rfc.figure.u.25"></div><pre class="inline"> <a href="#imported.abnf" class="smpl">HTTP-date</a> = <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>> 1273 1273 <a href="#imported.abnf" class="smpl">entity-tag</a> = <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>> 1274 1274 </pre><h1 id="rfc.section.D"><a href="#rfc.section.D">D.</a> <a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1> … … 1420 1420 </li> 1421 1421 <li><em>Part2</em> <a href="#Part2"><b>9.1</b></a>, <a href="#rfc.xref.Part2.1">C</a><ul> 1422 <li><em>Section 6.1</em> <a href="#rfc.xref.Part2.1">C</a></li>1422 <li><em>Section 9.1</em> <a href="#rfc.xref.Part2.1">C</a></li> 1423 1423 </ul> 1424 1424 </li> -
draft-ietf-httpbis/latest/p5-range.xml
r1845 r1860 1009 1009 <x:defines>Content-Type</x:defines> 1010 1010 <x:defines>Location</x:defines> 1011 <x:defines>Vary</x:defines> 1011 1012 </x:source> 1012 1013 </reference> … … 1066 1067 <x:defines>Cache-Control</x:defines> 1067 1068 <x:defines>Expires</x:defines> 1068 <x:defines>Vary</x:defines>1069 1069 </x:source> 1070 1070 </reference> -
draft-ietf-httpbis/latest/p6-cache.html
r1858 r1860 650 650 <li><a href="#rfc.section.7.3">7.3</a> <a href="#header.expires">Expires</a></li> 651 651 <li><a href="#rfc.section.7.4">7.4</a> <a href="#header.pragma">Pragma</a></li> 652 <li><a href="#rfc.section.7.5">7.5</a> <a href="#header.vary">Vary</a></li> 653 <li><a href="#rfc.section.7.6">7.6</a> <a href="#header.warning">Warning</a><ul> 654 <li><a href="#rfc.section.7.6.1">7.6.1</a> <a href="#warn.110">110 Response is Stale</a></li> 655 <li><a href="#rfc.section.7.6.2">7.6.2</a> <a href="#warn.111">111 Revalidation Failed</a></li> 656 <li><a href="#rfc.section.7.6.3">7.6.3</a> <a href="#warn.112">112 Disconnected Operation</a></li> 657 <li><a href="#rfc.section.7.6.4">7.6.4</a> <a href="#warn.113">113 Heuristic Expiration</a></li> 658 <li><a href="#rfc.section.7.6.5">7.6.5</a> <a href="#warn.199">199 Miscellaneous Warning</a></li> 659 <li><a href="#rfc.section.7.6.6">7.6.6</a> <a href="#warn.214">214 Transformation Applied</a></li> 660 <li><a href="#rfc.section.7.6.7">7.6.7</a> <a href="#warn.299">299 Miscellaneous Persistent Warning</a></li> 661 <li><a href="#rfc.section.7.6.8">7.6.8</a> <a href="#warn.code.extensions">Warn Code Extensions</a></li> 652 <li><a href="#rfc.section.7.5">7.5</a> <a href="#header.warning">Warning</a><ul> 653 <li><a href="#rfc.section.7.5.1">7.5.1</a> <a href="#warn.110">110 Response is Stale</a></li> 654 <li><a href="#rfc.section.7.5.2">7.5.2</a> <a href="#warn.111">111 Revalidation Failed</a></li> 655 <li><a href="#rfc.section.7.5.3">7.5.3</a> <a href="#warn.112">112 Disconnected Operation</a></li> 656 <li><a href="#rfc.section.7.5.4">7.5.4</a> <a href="#warn.113">113 Heuristic Expiration</a></li> 657 <li><a href="#rfc.section.7.5.5">7.5.5</a> <a href="#warn.199">199 Miscellaneous Warning</a></li> 658 <li><a href="#rfc.section.7.5.6">7.5.6</a> <a href="#warn.214">214 Transformation Applied</a></li> 659 <li><a href="#rfc.section.7.5.7">7.5.7</a> <a href="#warn.299">299 Miscellaneous Persistent Warning</a></li> 660 <li><a href="#rfc.section.7.5.8">7.5.8</a> <a href="#warn.code.extensions">Warn Code Extensions</a></li> 662 661 </ul> 663 662 </li> … … 1066 1065 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 7.2.1</a>). 1067 1066 </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 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 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. 1069 1068 </p> 1070 1069 <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 … … 1114 1113 </p> 1115 1114 <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 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 7.5</a>); 1117 1116 </li> 1118 1117 <li>retain any <a href="#header.warning" class="smpl">Warning</a> header fields in the stored response with warn-code 2xx; and, … … 1122 1121 </ul> 1123 1122 <h2 id="rfc.section.4.3"><a href="#rfc.section.4.3">4.3</a> <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 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 original1123 <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 1125 1124 request (i.e., that associated with the stored response), and the presented request. 1126 1125 </p> … … 1139 1138 if it is also absent there. 1140 1139 </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 interpreted1140 <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 1142 1141 by the origin server. 1143 1142 </p> … … 1156 1155 </p> 1157 1156 <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 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 7.5</a>); 1159 1158 </li> 1160 1159 <li>retain any <a href="#header.warning" class="smpl">Warning</a> header fields in the stored response with warn-code 2xx; and, … … 1172 1171 </p> 1173 1172 <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 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 7.5</a>); 1175 1174 </li> 1176 1175 <li>retain any <a href="#header.warning" class="smpl">Warning</a> header fields in the stored response with warn-code 2xx; and, … … 1181 1180 </ul> 1182 1181 <h1 id="rfc.section.6"><a href="#rfc.section.6">6.</a> <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 them1182 <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 1184 1183 to keep their contents up-to-date. 1185 1184 </p> … … 1468 1467 that time. 1469 1468 </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. 1471 1470 </p> 1472 1471 <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> … … 1519 1518 </p> 1520 1519 </div> 1521 <div id="rfc.iref. v.3"></div>1520 <div id="rfc.iref.w.1"></div> 1522 1521 <div id="rfc.iref.h.6"></div> 1523 <h2 id="rfc.section.7.5"><a href="#rfc.section.7.5">7.5</a> <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 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> <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> <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 1548 1524 not be reflected in the message. This information is typically used to warn about possible incorrectness introduced by caching 1549 1525 operations or transformations applied to the payload of the message. 1550 1526 </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 status1527 <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 1552 1528 code, distinguishes these responses from true failures. 1553 1529 </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 only1530 <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 1555 1531 be applied to response messages. 1556 1532 </p> 1557 <div id="rfc.figure.u.1 4"></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> 1558 1534 1559 1535 <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> … … 1566 1542 <a href="#header.warning" class="smpl">warn-text</a> = <a href="#imported.abnf" class="smpl">quoted-string</a> 1567 1543 <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 with1544 </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 1569 1545 the same code number, only differing in warn-text. 1570 1546 </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. New1547 <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 1574 1550 Warning header fields are added after any existing Warning header fields. 1575 1551 </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 from1552 <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 1577 1553 a stored response after validation: 1578 1554 </p> … … 1584 1560 </li> 1585 1561 </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, 1587 1563 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. 1588 1564 </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 Warning1565 <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 1590 1566 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. 1591 1567 </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 description1568 <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 1593 1569 of its meaning. 1594 1570 </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> <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> <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> <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> 1595 1587 <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> <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> <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. 1599 1592 </p> 1600 1593 <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> <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> <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. 1605 1597 </p> 1606 1598 <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> <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> <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. 1610 1603 </p> 1611 1604 <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> <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 241615 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> <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> <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>1629 1605 <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> <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> <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> <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> <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: 1636 1612 </p> 1637 1613 <ul> … … 1640 1616 <li>Pointer to specification text</li> 1641 1617 </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 <<a href="http://www.iana.org/assignments/http-warn-codes">http://www.iana.org/assignments/http-warn-codes</a>>.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 <<a href="http://www.iana.org/assignments/http-warn-codes">http://www.iana.org/assignments/http-warn-codes</a>>. 1645 1621 </p> 1646 1622 <h1 id="rfc.section.8"><a href="#rfc.section.8">8.</a> <a id="history.lists" href="#history.lists">History Lists</a></h1> … … 1744 1720 </div> 1745 1721 <h2 id="rfc.section.9.2"><a href="#rfc.section.9.2">9.2</a> <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 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 7.5.8</a> of this document. 1747 1723 </p> 1748 1724 <p id="rfc.section.9.2.p.2">The HTTP Warn Code Registry shall be created at <<a href="http://www.iana.org/assignments/http-cache-directives">http://www.iana.org/assignments/http-cache-directives</a>> and be populated with the registrations below: … … 1762 1738 <td class="left">110</td> 1763 1739 <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 7. 6.1</a>1740 <td class="left"> <a href="#warn.110" id="rfc.xref.warn.110.1" title="110 Response is Stale">Section 7.5.1</a> 1765 1741 </td> 1766 1742 </tr> … … 1768 1744 <td class="left">111</td> 1769 1745 <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 7. 6.2</a>1746 <td class="left"> <a href="#warn.111" id="rfc.xref.warn.111.1" title="111 Revalidation Failed">Section 7.5.2</a> 1771 1747 </td> 1772 1748 </tr> … … 1774 1750 <td class="left">112</td> 1775 1751 <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 7. 6.3</a>1752 <td class="left"> <a href="#warn.112" id="rfc.xref.warn.112.1" title="112 Disconnected Operation">Section 7.5.3</a> 1777 1753 </td> 1778 1754 </tr> … … 1780 1756 <td class="left">113</td> 1781 1757 <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 7. 6.4</a>1758 <td class="left"> <a href="#warn.113" id="rfc.xref.warn.113.1" title="113 Heuristic Expiration">Section 7.5.4</a> 1783 1759 </td> 1784 1760 </tr> … … 1786 1762 <td class="left">199</td> 1787 1763 <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 7. 6.5</a>1764 <td class="left"> <a href="#warn.199" id="rfc.xref.warn.199.1" title="199 Miscellaneous Warning">Section 7.5.5</a> 1789 1765 </td> 1790 1766 </tr> … … 1792 1768 <td class="left">214</td> 1793 1769 <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 7. 6.6</a>1770 <td class="left"> <a href="#warn.214" id="rfc.xref.warn.214.1" title="214 Transformation Applied">Section 7.5.6</a> 1795 1771 </td> 1796 1772 </tr> … … 1798 1774 <td class="left">299</td> 1799 1775 <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 7. 6.7</a>1776 <td class="left"> <a href="#warn.299" id="rfc.xref.warn.299.1" title="299 Miscellaneous Persistent Warning">Section 7.5.7</a> 1801 1777 </td> 1802 1778 </tr> … … 1848 1824 </tr> 1849 1825 <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 7.5</a>1854 </td>1855 </tr>1856 <tr>1857 1826 <td class="left">Warning</td> 1858 1827 <td class="left">http</td> 1859 1828 <td class="left">standard</td> 1860 <td class="left"> <a href="#header.warning" id="rfc.xref.header.warning.5" title="Warning">Section 7. 6</a>1829 <td class="left"> <a href="#header.warning" id="rfc.xref.header.warning.5" title="Warning">Section 7.5</a> 1861 1830 </td> 1862 1831 </tr> … … 1968 1937 <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 7</a>) 1969 1938 </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 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 7.2.3</a> and <a href="#warn.code.extensions" title="Warn Code Extensions">Section 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 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 7.2.3</a> and <a href="#warn.code.extensions" title="Warn Code Extensions">Section 7.5.8</a>) 1973 1942 </p> 1974 1943 <h1 id="rfc.section.B"><a href="#rfc.section.B">B.</a> <a id="imported.abnf" href="#imported.abnf">Imported ABNF</a></h1> … … 1979 1948 <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"">[Part1]</cite></a>: 1980 1949 </p> 1981 <div id="rfc.figure.u.1 5"></div><pre class="inline"> <a href="#imported.abnf" class="smpl">OWS</a> = <OWS, defined in <a href="#Part1" id="rfc.xref.Part1.11"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>>1950 <div id="rfc.figure.u.14"></div><pre class="inline"> <a href="#imported.abnf" class="smpl">OWS</a> = <OWS, defined in <a href="#Part1" id="rfc.xref.Part1.11"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>> 1982 1951 <a href="#imported.abnf" class="smpl">field-name</a> = <field-name, defined in <a href="#Part1" id="rfc.xref.Part1.12"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#header.fields" title="Header Fields">Section 3.2</a>> 1983 1952 <a href="#imported.abnf" class="smpl">quoted-string</a> = <quoted-string, defined in <a href="#Part1" id="rfc.xref.Part1.13"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>> … … 1988 1957 <a href="#imported.abnf" class="smpl">uri-host</a> = <uri-host, defined in <a href="#Part1" id="rfc.xref.Part1.17"><cite title="HTTP/1.1, part 1: Message Routing and Syntax"">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.7</a>> 1989 1958 </pre><p id="rfc.section.B.p.4">The rules below are defined in other parts:</p> 1990 <div id="rfc.figure.u.1 6"></div><pre class="inline"> <a href="#imported.abnf" class="smpl">HTTP-date</a> = <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>>1959 <div id="rfc.figure.u.15"></div><pre class="inline"> <a href="#imported.abnf" class="smpl">HTTP-date</a> = <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>> 1991 1960 </pre><h1 id="rfc.section.C"><a href="#rfc.section.C">C.</a> <a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1> 1992 <div id="rfc.figure.u.1 7"></div> <pre class="inline"><a href="#header.age" class="smpl">Age</a> = delta-seconds1961 <div id="rfc.figure.u.16"></div> <pre class="inline"><a href="#header.age" class="smpl">Age</a> = delta-seconds 1993 1962 1994 1963 <a href="#header.cache-control" class="smpl">Cache-Control</a> = *( "," OWS ) cache-directive *( OWS "," [ OWS … … 1997 1966 <a href="#header.expires" class="smpl">Expires</a> = HTTP-date 1998 1967 1999 <a href="#imported.abnf" class="smpl">HTTP-date</a> = <HTTP-date, defined in [Part2], Section 6.1>1968 <a href="#imported.abnf" class="smpl">HTTP-date</a> = <HTTP-date, defined in [Part2], Section 9.1> 2000 1969 2001 1970 <a href="#imported.abnf" class="smpl">OWS</a> = <OWS, defined in [Part1], Section 3.2.1> … … 2003 1972 <a href="#header.pragma" class="smpl">Pragma</a> = *( "," OWS ) pragma-directive *( OWS "," [ OWS 2004 1973 pragma-directive ] ) 2005 2006 <a href="#header.vary" class="smpl">Vary</a> = "*" / ( *( "," OWS ) field-name *( OWS "," [ OWS field-name ]2007 ) )2008 1974 2009 1975 <a href="#header.warning" class="smpl">Warning</a> = *( "," OWS ) warning-value *( OWS "," [ OWS warning-value ] … … 2034 2000 <a href="#header.warning" class="smpl">warning-value</a> = warn-code SP warn-agent SP warn-text [ SP warn-date 2035 2001 ] 2036 </pre> <h1 id="rfc.section.D"><a href="#rfc.section.D">D.</a> <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> <a id="change.log" href="#change.log">Change Log (to be removed by RFC Editor before publication)</a></h1> 2037 2005 <p id="rfc.section.D.p.1">Changes up to the first Working Group Last Call draft are summarized in <<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>>. 2038 2006 </p> … … 2069 2037 <ul class="ind"> 2070 2038 <li><a id="rfc.index.1" href="#rfc.index.1"><b>1</b></a><ul> 2071 <li>110 Response is Stale (warn code) <a href="#rfc.iref.7 6"><b>7.6.1</b></a>, <a href="#rfc.xref.warn.110.1">9.2</a></li>2072 <li>111 Revalidation Failed (warn code) <a href="#rfc.iref.7 7"><b>7.6.2</b></a>, <a href="#rfc.xref.warn.111.1">9.2</a></li>2073 <li>112 Disconnected Operation (warn code) <a href="#rfc.iref.7 8"><b>7.6.3</b></a>, <a href="#rfc.xref.warn.112.1">9.2</a></li>2074 <li>113 Heuristic Expiration (warn code) <a href="#rfc.iref.7 9"><b>7.6.4</b></a>, <a href="#rfc.xref.warn.113.1">9.2</a></li>2075 <li>199 Miscellaneous Warning (warn code) <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) <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) <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) <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) <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) <a href="#rfc.iref.77"><b>7.5.5</b></a>, <a href="#rfc.xref.warn.199.1">9.2</a></li> 2076 2044 </ul> 2077 2045 </li> 2078 2046 <li><a id="rfc.index.2" href="#rfc.index.2"><b>2</b></a><ul> 2079 <li>214 Transformation Applied (warn code) <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) <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) <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) <a href="#rfc.iref.79"><b>7.5.7</b></a>, <a href="#rfc.xref.warn.299.1">9.2</a></li> 2081 2049 </ul> 2082 2050 </li> … … 2132 2100 <li><tt>Pragma</tt> <a href="#rfc.iref.g.6"><b>7.4</b></a></li> 2133 2101 <li><tt>pragma-directive</tt> <a href="#rfc.iref.g.7"><b>7.4</b></a></li> 2134 <li><tt>Vary</tt> <a href="#rfc.iref.g.9"><b>7.5</b></a></li> 2135 <li><tt>warn-agent</tt> <a href="#rfc.iref.g.13"><b>7.6</b></a></li> 2136 <li><tt>warn-code</tt> <a href="#rfc.iref.g.12"><b>7.6</b></a></li> 2137 <li><tt>warn-date</tt> <a href="#rfc.iref.g.15"><b>7.6</b></a></li> 2138 <li><tt>warn-text</tt> <a href="#rfc.iref.g.14"><b>7.6</b></a></li> 2139 <li><tt>Warning</tt> <a href="#rfc.iref.g.10"><b>7.6</b></a></li> 2140 <li><tt>warning-value</tt> <a href="#rfc.iref.g.11"><b>7.6</b></a></li> 2102 <li><tt>warn-agent</tt> <a href="#rfc.iref.g.12"><b>7.5</b></a></li> 2103 <li><tt>warn-code</tt> <a href="#rfc.iref.g.11"><b>7.5</b></a></li> 2104 <li><tt>warn-date</tt> <a href="#rfc.iref.g.14"><b>7.5</b></a></li> 2105 <li><tt>warn-text</tt> <a href="#rfc.iref.g.13"><b>7.5</b></a></li> 2106 <li><tt>Warning</tt> <a href="#rfc.iref.g.9"><b>7.5</b></a></li> 2107 <li><tt>warning-value</tt> <a href="#rfc.iref.g.10"><b>7.5</b></a></li> 2141 2108 </ul> 2142 2109 </li> … … 2150 2117 <li>Expires <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> 2151 2118 <li>Pragma <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 <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 <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 <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> 2154 2120 </ul> 2155 2121 </li> … … 2219 2185 </ul> 2220 2186 </li> 2221 <li><em>Part2</em> <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> <a href="#rfc.xref.Part2.2">4</a>, <a href="#rfc.xref.Part2. 5">6</a></li>2187 <li><em>Part2</em> <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> <a href="#rfc.xref.Part2.2">4</a>, <a href="#rfc.xref.Part2.6">6</a></li> 2223 2189 <li><em>Section 7</em> <a href="#rfc.xref.Part2.3">4.1.2</a></li> 2224 2190 <li><em>Section 8.2.1</em> <a href="#rfc.xref.Part2.4">4.1.3</a></li> 2225 <li><em>Section 9.1</em> <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> <a href="#rfc.xref.Part2.5">4.3</a></li> 2192 <li><em>Section 9.1</em> <a href="#rfc.xref.Part2.7">7.3</a>, <a href="#rfc.xref.Part2.8">B</a></li> 2226 2193 </ul> 2227 2194 </li> … … 2268 2235 </li> 2269 2236 <li><em>RFC3864</em> <a href="#rfc.xref.RFC3864.1">9.3</a>, <a href="#RFC3864"><b>12.2</b></a></li> 2270 <li><em>RFC5226</em> <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> <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> <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> <a href="#rfc.xref.RFC5226.1">7.2.3</a>, <a href="#rfc.xref.RFC5226.2">7.5.8</a></li> 2272 2239 </ul> 2273 2240 </li> … … 2299 2266 </ul> 2300 2267 </li> 2301 <li>Vary header field <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>2302 2268 </ul> 2303 2269 </li> … … 2305 2271 <li>Warn Codes 2306 2272 <ul> 2307 <li>110 Response is Stale <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 <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 <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 <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 <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 <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 <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 <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 <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 <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 <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 <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 <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 <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 <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 <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> 2317 2283 </ul> 2318 2284 </li> -
draft-ietf-httpbis/latest/p6-cache.xml
r1858 r1860 33 33 <!ENTITY header-connection "<xref target='Part1' x:rel='#header.connection' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> 34 34 <!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'/>"> 35 37 <!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'/>">37 38 <!ENTITY header-fields "<xref target='Part1' x:rel='#header.fields' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> 38 39 <!ENTITY safe-methods "<xref target='Part2' x:rel='#safe.methods' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> … … 977 978 <t> 978 979 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;), 980 981 it &MUST-NOT; use that response unless all of the selecting header fields 981 982 nominated by the Vary header field match in both the original request … … 1767 1768 </t> 1768 1769 </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 fields1777 that were used to select the representation.1778 </t>1779 <t>1780 Caches use this information, in part, to determine whether a stored1781 response can be used to satisfy a given request; see <xref1782 target="caching.negotiated.responses" />.1783 </t>1784 <t>1785 In uncacheable or stale responses, the Vary field value advises the user1786 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 the1793 selecting header fields.1794 </t>1795 <t>1796 A server &SHOULD; include a Vary header field with any cacheable response1797 that is subject to proactive negotiation. Doing so allows a cache to1798 properly interpret future requests on that resource and informs the user1799 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 subject1801 to proactive negotiation, since this might provide the user agent with1802 useful information about the dimensions over which the response varies at1803 the time of the response.1804 </t>1805 <t>1806 A Vary field value of "*" signals that unspecified parameters not limited1807 to the header fields (e.g., the network address of the client), play a1808 role in the selection of the response representation; therefore, a cache1809 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 header1814 fields defined by this specification. Field names are case-insensitive.1815 </t>1816 1770 </section> 1817 1771 … … 2191 2145 <xref target="header.pragma"/> 2192 2146 </c> 2193 <c>Vary</c>2194 <c>http</c>2195 <c>standard</c>2196 <c>2197 <xref target="header.vary"/>2198 </c>2199 2147 <c>Warning</c> 2200 2148 <c>http</c> … … 2293 2241 <x:defines>Date</x:defines> 2294 2242 <x:defines>Location</x:defines> 2243 <x:defines>Vary</x:defines> 2295 2244 </x:source> 2296 2245 </reference> … … 2595 2544 <x:ref>Expires</x:ref> = HTTP-date 2596 2545 2597 <x:ref>HTTP-date</x:ref> = <HTTP-date, defined in [Part2], Section 6.1>2546 <x:ref>HTTP-date</x:ref> = <HTTP-date, defined in [Part2], Section 9.1> 2598 2547 2599 2548 <x:ref>OWS</x:ref> = <OWS, defined in [Part1], Section 3.2.1> … … 2601 2550 <x:ref>Pragma</x:ref> = *( "," OWS ) pragma-directive *( OWS "," [ OWS 2602 2551 pragma-directive ] ) 2603 2604 <x:ref>Vary</x:ref> = "*" / ( *( "," OWS ) field-name *( OWS "," [ OWS field-name ]2605 ) )2606 2552 2607 2553 <x:ref>Warning</x:ref> = *( "," OWS ) warning-value *( OWS "," [ OWS warning-value ] … … 2634 2580 </artwork> 2635 2581 </figure> 2636 </section> 2582 <figure><preamble>ABNF diagnostics:</preamble><artwork type="inline"> 2583 ; field-name defined but not used 2584 </artwork></figure></section> 2637 2585 <?ENDINC p6-cache.abnf-appendix ?> 2638 2586
Note: See TracChangeset
for help on using the changeset viewer.