Source: http://trac.tools.ietf.org/wg/httpbis/trac/changeset/1470
Timestamp: 2015-03-29 16:03:17
Document Index: 250558797

Matched Legal Cases: ['art 4', 'art 4', 'art1', 'art1', 'art 1', 'art1', 'art1', 'art1', 'art 1', 'art1', 'art1', 'art1', 'art 1', 'art1', 'art2', 'art2', 'art 2', 'art2', 'art1', 'art1', 'art1', 'art1']

Changeset 1470 – httpbis
2011-11-02 05:33:39
126126delta-seconds = 1*DIGIT 127127entity-tag = [ weak ] opaque-tag 128etagc = "!" / %x23-7E ; '#'-'~' 129 / obs-text 128130expect-params = ";" token [ "=" ( token / quoted-string ) ] 129131expectation = "100-continue" / expectation-extension …
164166obs-fold = CRLF ( SP / HTAB ) 165167obs-text = %x80-FF 166 opaque-tag = quoted-string 168opaque-tag = DQUOTE *etagc DQUOTE 167169other-content-range-spec = other-range-unit SP other-range-resp-spec 168170other-range-resp-spec = *CHAR draft-ietf-httpbis/latest/p4-conditional.html
359359 } 360360 @bottom-center { 361 content: "Expires May 4, 2012"; 361 content: "Expires May 5, 2012"; 362362 } 363363 @bottom-right { …
404404 <meta name="dct.creator" content="Reschke, J. F."> 405405 <meta name="dct.identifier" content="urn:ietf:id:draft-ietf-httpbis-p4-conditional-latest"> 406 <meta name="dct.issued" scheme="ISO8601" content="2011-11-01"> 406 <meta name="dct.issued" scheme="ISO8601" content="2011-11-02"> 407407 <meta name="dct.replaces" content="urn:ietf:rfc:2616"> 408408 <meta name="dct.abstract" content="The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypertext information systems. HTTP has been in use by the World Wide Web global information initiative since 1990. This document is Part 4 of the seven-part specification that defines the protocol referred to as &#34;HTTP/1.1&#34; and, taken together, obsoletes RFC 2616. Part 4 defines request header fields for indicating conditional requests and the rules for constructing responses to those requests."> …
430430 </tr> 431431 <tr> 432 <td class="left">Expires: May 4, 2012</td> 432 <td class="left">Expires: May 5, 2012</td> 433433 <td class="right">J. Mogul</td> 434434 </tr> …
487487 <tr> 488488 <td class="left"></td> 489 <td class="right">November 1, 2011</td> 489 <td class="right">November 2, 2011</td> 490490 </tr> 491491 </tbody> …
517517 in progress”. 518518 </p> 519 <p>This Internet-Draft will expire on May 4, 2012.</p> 519 <p>This Internet-Draft will expire on May 5, 2012.</p> 520520 <h1><a id="rfc.copyrightnotice" href="#rfc.copyrightnotice">Copyright Notice</a></h1> 521521 <p>Copyright © 2011 IETF Trust and the persons identified as the document authors. All rights reserved.</p> …
654654 </p> 655655 <div id="rfc.figure.u.1"></div><pre class="inline"> <a href="#notation" class="smpl">OWS</a> = &lt;OWS, defined in <a href="#Part1" id="rfc.xref.Part1.4"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>&gt; 656 <a href="#notation" class="smpl">quoted-string</a> = &lt;quoted-string, defined in <a href="#Part1" id="rfc.xref.Part1.5"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#field.rules" title="Common Field ABNF Rules">Section 3.2.3</a>&gt; 656 <a href="#notation" class="smpl">obs-text</a> = &lt;obs-text, defined in <a href="#Part1" id="rfc.xref.Part1.5"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#field.rules" title="Common Field ABNF Rules">Section 3.2.3</a>&gt; 657657 <a href="#notation" class="smpl">HTTP-date</a> = &lt;HTTP-date, defined in <a href="#Part2" id="rfc.xref.Part2.2"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>, <a href="p2-semantics.html#http.date" title="Date/Time Formats">Section 8</a>&gt; 658658</pre><div id="rfc.iref.m.1"></div> …
777777 same time, or both. An entity-tag consists of an opaque quoted string, possibly prefixed by a weakness indicator. 778778 </p> 779 <div id="rfc.figure.u.4"></div><pre class="inline"><span id="rfc.iref.g.2"></span><span id="rfc.iref.g.3"></span><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span> <a href="#header.etag" class="smpl">ETag</a> = <a href="#header.etag" class="smpl">entity-tag</a> 779 <div id="rfc.figure.u.4"></div><pre class="inline"><span id="rfc.iref.g.2"></span><span id="rfc.iref.g.3"></span><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span><span id="rfc.iref.g.6"></span> <a href="#header.etag" class="smpl">ETag</a> = <a href="#header.etag" class="smpl">entity-tag</a> 780780 781781 <a href="#header.etag" class="smpl">entity-tag</a> = [ <a href="#header.etag" class="smpl">weak</a> ] <a href="#header.etag" class="smpl">opaque-tag</a> 782782 <a href="#header.etag" class="smpl">weak</a> = %x57.2F ; "W/", case-sensitive 783 <a href="#header.etag" class="smpl">opaque-tag</a> = <a href="#notation" class="smpl">quoted-string</a> 784 </pre><p id="rfc.section.2.3.p.3">An entity-tag can be more reliable for validation than a modification date in situations where it is inconvenient to store 783 <a href="#header.etag" class="smpl">opaque-tag</a> = <a href="#notation" class="smpl">DQUOTE</a> *<a href="#header.etag" class="smpl">etagc</a> <a href="#notation" class="smpl">DQUOTE</a> 784 <a href="#header.etag" class="smpl">etagc</a> = %x21 / %x23-7E / <a href="#notation" class="smpl">obs-text</a> 785 ; <a href="#">VCHAR</a> except double quotes, plus obs-text 786</pre><div class="note" id="rfc.section.2.3.p.3"> 787 <p> <b>Note:</b> Previously, opaque-tag was defined to be a quoted-string (<a href="#RFC2616" id="rfc.xref.RFC2616.1"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a>, <a href="http://tools.ietf.org/html/rfc2616#section-3.11">Section 3.11</a>), thus some recipients might perform backslash unescaping. Servers therefore ought to avoid backslash characters in entity 788 tags. 789 </p> 790 </div> 791 <p id="rfc.section.2.3.p.4">An entity-tag can be more reliable for validation than a modification date in situations where it is inconvenient to store 785792 modification dates, where the one-second resolution of HTTP date values is not sufficient, or where modification dates are 786793 not consistently maintained. …
790797 ETag: W/"xyzzy" 791798 ETag: "" 792 </pre><p id="rfc.section.2.3.p.5">An entity-tag can be either a weak or strong validator, with strong being the default. If an origin server provides an entity-tag 799</pre><p id="rfc.section.2.3.p.6">An entity-tag can be either a weak or strong validator, with strong being the default. If an origin server provides an entity-tag 793800 for a representation and the generation of that entity-tag does not satisfy the requirements for a strong validator (<a href="#weak.and.strong.validators" title="Weak versus Strong">Section&nbsp;2.1</a>), then that entity-tag <em class="bcp14">MUST</em> be marked as weak by prefixing its opaque value with "W/" (case-sensitive). 794801 </p> …
957964 An If-Match field-value of "*" places the precondition on the existence of any current representation for the target resource. 958965 </p> 959 <div id="rfc.figure.u.9"></div><pre class="inline"><span id="rfc.iref.g.6"></span> <a href="#header.if-match" class="smpl">If-Match</a> = "*" / 1#<a href="#header.etag" class="smpl">entity-tag</a> 966 <div id="rfc.figure.u.9"></div><pre class="inline"><span id="rfc.iref.g.7"></span> <a href="#header.if-match" class="smpl">If-Match</a> = "*" / 1#<a href="#header.etag" class="smpl">entity-tag</a> 960967</pre><p id="rfc.section.3.1.p.3">If any of the entity-tags listed in the If-Match field value match (as per <a href="#entity.tag.comparison" title="Comparison">Section&nbsp;2.3.2</a>) the entity-tag of the selected representation for the target resource, or if "*" is given and any current representation 961968 exists for the target resource, then the server <em class="bcp14">MAY</em> perform the request method as if the If-Match header field was not present. …
987994 for the target resource. 988995 </p> 989 <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.7"></span> <a href="#header.if-none-match" class="smpl">If-None-Match</a> = "*" / 1#<a href="#header.etag" class="smpl">entity-tag</a> 996 <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.8"></span> <a href="#header.if-none-match" class="smpl">If-None-Match</a> = "*" / 1#<a href="#header.etag" class="smpl">entity-tag</a> 990997</pre><p id="rfc.section.3.2.p.4">If any of the entity-tags listed in the If-None-Match field-value match (as per <a href="#entity.tag.comparison" title="Comparison">Section&nbsp;2.3.2</a>) the entity-tag of the selected representation, or if "*" is given and any current representation exists for that resource, 991998 then the server <em class="bcp14">MUST NOT</em> perform the requested method. Instead, if the request method was GET or HEAD, the server <em class="bcp14">SHOULD</em> respond with a 304 (Not Modified) status code, including the cache-related header fields (particularly ETag) of the selected …
10121019 the time specified in this field, then do not perform the request method; instead, respond as detailed below. 10131020 </p> 1014 <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.8"></span> <a href="#header.if-modified-since" class="smpl">If-Modified-Since</a> = <a href="#notation" class="smpl">HTTP-date</a> 1021 <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.9"></span> <a href="#header.if-modified-since" class="smpl">If-Modified-Since</a> = <a href="#notation" class="smpl">HTTP-date</a> 10151022</pre><p id="rfc.section.3.3.p.3">An example of the field is:</p> 10161023 <div id="rfc.figure.u.14"></div><pre class="text"> If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT …
10601067 the time specified in this field, the server <em class="bcp14">SHOULD</em> perform the request method as if the If-Unmodified-Since header field were not present. 10611068 </p> 1062 <div id="rfc.figure.u.15"></div><pre class="inline"><span id="rfc.iref.g.9"></span> <a href="#header.if-unmodified-since" class="smpl">If-Unmodified-Since</a> = <a href="#notation" class="smpl">HTTP-date</a> 1069 <div id="rfc.figure.u.15"></div><pre class="inline"><span id="rfc.iref.g.10"></span> <a href="#header.if-unmodified-since" class="smpl">If-Unmodified-Since</a> = <a href="#notation" class="smpl">HTTP-date</a> 10631070</pre><p id="rfc.section.3.4.p.3">An example of the field is:</p> 10641071 <div id="rfc.figure.u.16"></div><pre class="text"> If-Unmodified-Since: Sat, 29 Oct 1994 19:43:31 GMT …
10761083 </p> 10771084 <h1 id="rfc.section.4"><a href="#rfc.section.4">4.</a>&nbsp;<a id="status.code.definitions" href="#status.code.definitions">Status Code Definitions</a></h1> 1078 <div id="rfc.iref.26"></div> 1085 <div id="rfc.iref.27"></div> 10791086 <div id="rfc.iref.s.2"></div> 10801087 <h2 id="rfc.section.4.1"><a href="#rfc.section.4.1">4.1</a>&nbsp;<a id="status.304" href="#status.304">304 Not Modified</a></h2> …
10991106 <p id="rfc.section.4.1.p.5">If a cache uses a received 304 response to update a cache entry, the cache <em class="bcp14">MUST</em> update the entry to reflect any new field values given in the response. 11001107 </p> 1101 <div id="rfc.iref.27"></div> 1108 <div id="rfc.iref.28"></div> 11021109 <div id="rfc.iref.s.3"></div> 11031110 <h2 id="rfc.section.4.2"><a href="#rfc.section.4.2">4.2</a>&nbsp;<a id="status.412" href="#status.412">412 Precondition Failed</a></h2> …
12841291 <p id="rfc.section.A.p.1">Allow weak entity-tags in all requests except range requests (Sections <a href="#weak.and.strong.validators" title="Weak versus Strong">2.1</a> and <a href="#header.if-none-match" id="rfc.xref.header.if-none-match.2" title="If-None-Match">3.2</a>). 12851292 </p> 1286 <p id="rfc.section.A.p.2">Change ABNF productions for header fields to only define the field value. (<a href="#header.field.definitions" title="Precondition Header Fields">Section&nbsp;3</a>) 1293 <p id="rfc.section.A.p.2">Change ETag header field ABNF not to use quoted-string, thus avoiding escaping issues. (<a href="#header.etag" id="rfc.xref.header.etag.2" title="ETag">Section&nbsp;2.3</a>) 1294 </p> 1295 <p id="rfc.section.A.p.3">Change ABNF productions for header fields to only define the field value. (<a href="#header.field.definitions" title="Precondition Header Fields">Section&nbsp;3</a>) 12871296 </p> 12881297 <h1 id="rfc.section.B"><a href="#rfc.section.B">B.</a>&nbsp;<a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1> …
13031312 13041313<a href="#header.etag" class="smpl">entity-tag</a> = [ weak ] opaque-tag 1305 1306 <a href="#header.etag" class="smpl">opaque-tag</a> = quoted-string 1307 1308 <a href="#notation" class="smpl">quoted-string</a> = &lt;quoted-string, defined in [Part1], Section 3.2.3&gt; 1314<a href="#header.etag" class="smpl">etagc</a> = "!" / %x23-7E ; '#'-'~' 1315 / obs-text 1316 1317<a href="#notation" class="smpl">obs-text</a> = &lt;obs-text, defined in [Part1], Section 3.2.3&gt; 1318<a href="#header.etag" class="smpl">opaque-tag</a> = DQUOTE *etagc DQUOTE 13091319 13101320<a href="#header.etag" class="smpl">weak</a> = %x57.2F ; W/ …
13191329 <h2 id="rfc.section.C.1"><a href="#rfc.section.C.1">C.1</a>&nbsp;Since RFC 2616 13201330 </h2> 1321 <p id="rfc.section.C.1.p.1">Extracted relevant partitions from <a href="#RFC2616" id="rfc.xref.RFC2616.1"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a>. 1331 <p id="rfc.section.C.1.p.1">Extracted relevant partitions from <a href="#RFC2616" id="rfc.xref.RFC2616.2"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a>. 13221332 </p> 13231333 <h2 id="rfc.section.C.2"><a href="#rfc.section.C.2">C.2</a>&nbsp;Since draft-ietf-httpbis-p4-conditional-00 …
14371447 </ul> 14381448 <h2 id="rfc.section.C.19"><a href="#rfc.section.C.19">C.19</a>&nbsp;<a id="changes.since.17" href="#changes.since.17">Since draft-ietf-httpbis-p4-conditional-17</a></h2> 1439 <p id="rfc.section.C.19.p.1">No changes yet.</p> 1449 <p id="rfc.section.C.19.p.1">Closed issues: </p> 1450 <ul> 1451 <li> &lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/306">http://tools.ietf.org/wg/httpbis/trac/ticket/306</a>&gt;: "does etag value really use quoted-string" 1452 </li> 1453 </ul> 14401454 <h1 id="rfc.index"><a href="#rfc.index">Index</a></h1> 14411455 <p class="noprint"><a href="#rfc.index.3">3</a> <a href="#rfc.index.4">4</a> <a href="#rfc.index.E">E</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.P">P</a> <a href="#rfc.index.R">R</a> <a href="#rfc.index.S">S</a> <a href="#rfc.index.V">V</a> …
14441458 <ul class="ind"> 14451459 <li><a id="rfc.index.3" href="#rfc.index.3"><b>3</b></a><ul> 1446 <li>304 Not Modified (status code)&nbsp;&nbsp;<a href="#rfc.iref.26"><b>4.1</b></a>, <a href="#rfc.xref.status.304.1">5.1</a></li> 1460 <li>304 Not Modified (status code)&nbsp;&nbsp;<a href="#rfc.iref.27"><b>4.1</b></a>, <a href="#rfc.xref.status.304.1">5.1</a></li> 14471461 </ul> 14481462 </li> 14491463 <li><a id="rfc.index.4" href="#rfc.index.4"><b>4</b></a><ul> 1450 <li>412 Precondition Failed (status code)&nbsp;&nbsp;<a href="#rfc.iref.27"><b>4.2</b></a>, <a href="#rfc.xref.status.412.1">5.1</a></li> 1464 <li>412 Precondition Failed (status code)&nbsp;&nbsp;<a href="#rfc.iref.28"><b>4.2</b></a>, <a href="#rfc.xref.status.412.1">5.1</a></li> 14511465 </ul> 14521466 </li> 14531467 <li><a id="rfc.index.E" href="#rfc.index.E"><b>E</b></a><ul> 1454 <li>ETag header field&nbsp;&nbsp;<a href="#rfc.iref.e.1"><b>2.3</b></a>, <a href="#rfc.xref.header.etag.1">5.2</a></li> 1468 <li>ETag header field&nbsp;&nbsp;<a href="#rfc.iref.e.1"><b>2.3</b></a>, <a href="#rfc.xref.header.etag.1">5.2</a>, <a href="#rfc.xref.header.etag.2">A</a></li> 14551469 </ul> 14561470 </li> …
14601474 <li><tt>entity-tag</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.3"><b>2.3</b></a></li> 14611475 <li><tt>ETag</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.2"><b>2.3</b></a></li> 1462 <li><tt>If-Match</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.6"><b>3.1</b></a></li> 1463 <li><tt>If-Modified-Since</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.8"><b>3.3</b></a></li> 1464 <li><tt>If-None-Match</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.7"><b>3.2</b></a></li> 1465 <li><tt>If-Unmodified-Since</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.9"><b>3.4</b></a></li> 1476 <li><tt>etagc</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.6"><b>2.3</b></a></li> 1477 <li><tt>If-Match</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.7"><b>3.1</b></a></li> 1478 <li><tt>If-Modified-Since</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.9"><b>3.3</b></a></li> 1479 <li><tt>If-None-Match</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.8"><b>3.2</b></a></li> 1480 <li><tt>If-Unmodified-Since</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.10"><b>3.4</b></a></li> 14661481 <li><tt>Last-Modified</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.1"><b>2.2</b></a></li> 14671482 <li><tt>opaque-tag</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.5"><b>2.3</b></a></li> …
14741489 <li>Header Fields&nbsp;&nbsp; 14751490 <ul> 1476 <li>ETag&nbsp;&nbsp;<a href="#rfc.iref.h.2"><b>2.3</b></a>, <a href="#rfc.xref.header.etag.1">5.2</a></li> 1491 <li>ETag&nbsp;&nbsp;<a href="#rfc.iref.h.2"><b>2.3</b></a>, <a href="#rfc.xref.header.etag.1">5.2</a>, <a href="#rfc.xref.header.etag.2">A</a></li> 14771492 <li>If-Match&nbsp;&nbsp;<a href="#rfc.iref.h.3"><b>3.1</b></a>, <a href="#rfc.xref.header.if-match.1">5.2</a></li> 14781493 <li>If-Modified-Since&nbsp;&nbsp;<a href="#rfc.iref.h.5"><b>3.3</b></a>, <a href="#rfc.xref.header.if-modified-since.1">5.2</a></li> …
15291544 <li><a id="rfc.index.R" href="#rfc.index.R"><b>R</b></a><ul> 15301545 <li><em>RFC2119</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC2119.1">1.1</a>, <a href="#RFC2119"><b>8.1</b></a></li> 1531 <li><em>RFC2616</em>&nbsp;&nbsp;<a href="#RFC2616"><b>8.2</b></a>, <a href="#rfc.xref.RFC2616.1">C.1</a></li> 1546 <li><em>RFC2616</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC2616.1">2.3</a>, <a href="#RFC2616"><b>8.2</b></a>, <a href="#rfc.xref.RFC2616.2">C.1</a><ul> 1547 <li><em>Section 3.11</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC2616.1">2.3</a></li> 1548 </ul> 1549 </li> 15321550 <li><em>RFC3864</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC3864.1">5.2</a>, <a href="#RFC3864"><b>8.2</b></a></li> 15331551 <li><em>RFC4918</em>&nbsp;&nbsp;<a href="#rfc.xref.RFC4918.1">2</a>, <a href="#RFC4918"><b>8.2</b></a></li> draft-ietf-httpbis/latest/p4-conditional.xml
293293 <x:anchor-alias value="CR"/> 294294 <x:anchor-alias value="DIGIT"/> 295 <x:anchor-alias value="DQUOTE"/> 295296 <x:anchor-alias value="LF"/> 296297 <x:anchor-alias value="OCTET"/> 297298 <x:anchor-alias value="VCHAR"/> 298299 <x:anchor-alias value="core.rules"/> 299 <x:anchor-alias value="quoted-string"/> 300 <x:anchor-alias value="obs-text"/> 300301 <x:anchor-alias value="OWS"/> 301302 <x:anchor-alias value="HTTP-date"/> …
321322<figure><artwork type="abnf2616"> 322323 <x:ref>OWS</x:ref> = &lt;OWS, defined in &basic-rules;&gt; 323 <x:ref>quoted-string</x:ref> = &lt;quoted-string, defined in &field-rules;&gt; 324 <x:ref>obs-text</x:ref> = &lt;obs-text, defined in &field-rules;&gt; 324325 <x:ref>HTTP-date</x:ref> = &lt;HTTP-date, defined in &http-date;&gt; 325326</artwork></figure> …
548549 <x:anchor-alias value="opaque-tag"/> 549550 <x:anchor-alias value="weak"/> 551 <x:anchor-alias value="etagc"/> 550552<t> 551553 The ETag header field provides the current entity-tag for the …
558560 quoted string, possibly prefixed by a weakness indicator. 559561</t> 560 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="ETag"/><iref primary="true" item="Grammar" subitem="entity-tag"/><iref primary="true" item="Grammar" subitem="weak"/><iref primary="true" item="Grammar" subitem="opaque-tag"/> 562<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="ETag"/><iref primary="true" item="Grammar" subitem="entity-tag"/><iref primary="true" item="Grammar" subitem="weak"/><iref primary="true" item="Grammar" subitem="opaque-tag"/><iref primary="true" item="Grammar" subitem="etagc"/> 561563 <x:ref>ETag</x:ref> = <x:ref>entity-tag</x:ref> 562564 563565 <x:ref>entity-tag</x:ref> = [ <x:ref>weak</x:ref> ] <x:ref>opaque-tag</x:ref> 564566 <x:ref>weak</x:ref> = <x:abnf-char-sequence>"W/"</x:abnf-char-sequence> ; "W/", case-sensitive 565 <x:ref>opaque-tag</x:ref> = <x:ref>quoted-string</x:ref> 567 <x:ref>opaque-tag</x:ref> = <x:ref>DQUOTE</x:ref> *<x:ref>etagc</x:ref> <x:ref>DQUOTE</x:ref> 568 <x:ref>etagc</x:ref> = %x21 / %x23-7E / <x:ref>obs-text</x:ref> 569 ; <xref>VCHAR</xref> except double quotes, plus obs-text 566570</artwork></figure> 571<x:note> 572 <t> 573 <x:h>Note:</x:h> Previously, opaque-tag was defined to be a quoted-string 574 (<xref target="RFC2616" x:fmt="," x:sec="3.11"/>), thus some recipients 575 might perform backslash unescaping. Servers therefore ought to avoid 576 backslash characters in entity tags. 577 </t> 578</x:note> 567579<t> 568580 An entity-tag can be more reliable for validation than a modification …
15671579</t> 15681580<t> 1581 Change ETag header field ABNF not to use quoted-string, thus avoiding 1582 escaping issues. 1583 (<xref target="header.etag"/>) 1584</t> 1585<t> 15691586 Change ABNF productions for header fields to only define the field value. 15701587 (<xref target="header.field.definitions"/>) …
15921609 15931610<x:ref>entity-tag</x:ref> = [ weak ] opaque-tag 1594 1595 <x:ref>opaque-tag</x:ref> = quoted-string 1596 1597 <x:ref>quoted-string</x:ref> = &lt;quoted-string, defined in [Part1], Section 3.2.3&gt; 1611<x:ref>etagc</x:ref> = "!" / %x23-7E ; '#'-'~' 1612 / obs-text 1613 1614<x:ref>obs-text</x:ref> = &lt;obs-text, defined in [Part1], Section 3.2.3&gt; 1615<x:ref>opaque-tag</x:ref> = DQUOTE *etagc DQUOTE 15981616 15991617<x:ref>weak</x:ref> = %x57.2F ; W/ …
18551873<section title="Since draft-ietf-httpbis-p4-conditional-17" anchor="changes.since.17"> 18561874<t> 1857 No changes yet. 1875 Closed issues: 1876 <list style="symbols"> 1877 <t> 1878 <eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/306"/>: 1879 "does etag value really use quoted-string" 1880 </t> 1881 </list> 18581882</t> 18591883</section> Note: See TracChangeset