source: draft-ietf-httpbis/latest/auth48/rfc7232.diff.html @ 2681

Last change on this file since 2681 was 2681, checked in by julian.reschke@…, 6 years ago

minor editorial changes (#553)

  • Property svn:eol-style set to native
File size: 94.5 KB
Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<!-- Generated by rfcdiff 1.38: rfcdiff  -->
3<!-- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional" > -->
4<html> 
5<head> 
6  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
7  <meta http-equiv="Content-Style-Type" content="text/css" />
8  <title>Diff: p4-conditional.unpg.txt - rfc7232-to-be.unpg.txt</title>
9  <style type="text/css">
10    body    { margin: 0.4ex; margin-right: auto; }
11    tr      { }
12    td      { white-space: pre; font-family: monospace; vertical-align: top; font-size: 0.86em;}
13    th      { font-size: 0.86em; }
14    .small  { font-size: 0.6em; font-style: italic; font-family: Verdana, Helvetica, sans-serif; }
15    .left   { background-color: #EEE; }
16    .right  { background-color: #FFF; }
17    .diff   { background-color: #CCF; }
18    .lblock { background-color: #BFB; }
19    .rblock { background-color: #FF8; }
20    .insert { background-color: #8FF; }
21    .delete { background-color: #ACF; }
22    .void   { background-color: #FFB; }
23    .cont   { background-color: #EEE; }
24    .linebr { background-color: #AAA; }
25    .lineno { color: red; background-color: #FFF; font-size: 0.7em; text-align: right; padding: 0 2px; }
26    .elipsis{ background-color: #AAA; }
27    .left .cont { background-color: #DDD; }
28    .right .cont { background-color: #EEE; }
29    .lblock .cont { background-color: #9D9; }
30    .rblock .cont { background-color: #DD6; }
31    .insert .cont { background-color: #0DD; }
32    .delete .cont { background-color: #8AD; }
33    .stats, .stats td, .stats th { background-color: #EEE; padding: 2px 0; }
34  </style>
35</head>
36<body > 
37  <table border="0" cellpadding="0" cellspacing="0">
38  <tr bgcolor="orange"><th></th><th>&nbsp;p4-conditional.unpg.txt&nbsp;</th><th> </th><th>&nbsp;rfc7232-to-be.unpg.txt&nbsp;</th><th></th></tr>
39      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
40      <tr><td><a name="diff0001" /></td></tr>
41      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">HTTPbis Working Group</span>                                   R. Fielding, Ed.</td><td> </td><td class="rblock"><span class="insert">Internet Engineering Task Force (IETF)</span>                  R. Fielding, Ed.</td><td class="lineno" valign="top"></td></tr>
42      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">Internet-Draft</span>                                                     Adobe</td><td> </td><td class="rblock"><span class="insert">Request for Comments: 7232</span>                                         Adobe</td><td class="lineno" valign="top"></td></tr>
43      <tr><td class="lineno" valign="top"></td><td class="lblock">Obsoletes: 2616 <span class="delete">(if approved)</span>                            J. Reschke, Ed.</td><td> </td><td class="rblock">Obsoletes: 2616                                          J. Reschke, Ed.</td><td class="lineno" valign="top"></td></tr>
44      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">Intended status:</span> Standards Track                              greenbytes</td><td> </td><td class="rblock"><span class="insert">Category:</span> Standards Track                                     greenbytes</td><td class="lineno" valign="top"></td></tr>
45      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">Expires: November 20, 2014</span>                                  May <span class="delete">19,</span> 2014</td><td> </td><td class="rblock"><span class="insert">ISSN: 2070-1721</span>                                                 May 2014</td><td class="lineno" valign="top"></td></tr>
46      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
47      <tr><td class="lineno" valign="top"></td><td class="left">      Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests</td><td> </td><td class="right">      Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests</td><td class="lineno" valign="top"></td></tr>
48      <tr><td><a name="diff0002" /></td></tr>
49      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">                draft-ietf-httpbis-p4-conditional-latest</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
50      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
51      <tr><td class="lineno" valign="top"></td><td class="left">Abstract</td><td> </td><td class="right">Abstract</td><td class="lineno" valign="top"></td></tr>
52      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
53      <tr><td class="lineno" valign="top"></td><td class="left">   The Hypertext Transfer Protocol (HTTP) is a stateless application-</td><td> </td><td class="right">   The Hypertext Transfer Protocol (HTTP) is a stateless application-</td><td class="lineno" valign="top"></td></tr>
54      <tr><td class="lineno" valign="top"></td><td class="left">   level protocol for distributed, collaborative, hypertext information</td><td> </td><td class="right">   level protocol for distributed, collaborative, hypertext information</td><td class="lineno" valign="top"></td></tr>
55      <tr><td class="lineno" valign="top"></td><td class="left">   systems.  This document defines HTTP/1.1 conditional requests,</td><td> </td><td class="right">   systems.  This document defines HTTP/1.1 conditional requests,</td><td class="lineno" valign="top"></td></tr>
56      <tr><td class="lineno" valign="top"></td><td class="left">   including metadata header fields for indicating state changes,</td><td> </td><td class="right">   including metadata header fields for indicating state changes,</td><td class="lineno" valign="top"></td></tr>
57      <tr><td class="lineno" valign="top"></td><td class="left">   request header fields for making preconditions on such state, and</td><td> </td><td class="right">   request header fields for making preconditions on such state, and</td><td class="lineno" valign="top"></td></tr>
58      <tr><td class="lineno" valign="top"></td><td class="left">   rules for constructing the responses to a conditional request when</td><td> </td><td class="right">   rules for constructing the responses to a conditional request when</td><td class="lineno" valign="top"></td></tr>
59      <tr><td class="lineno" valign="top"></td><td class="left">   one or more preconditions evaluate to false.</td><td> </td><td class="right">   one or more preconditions evaluate to false.</td><td class="lineno" valign="top"></td></tr>
60      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
61      <tr><td><a name="diff0003" /></td></tr>
62      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">Editorial Note (To be removed by RFC Editor)</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
63      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"></span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
64      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   Discussion of this draft takes place on the HTTPBIS working group</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
65      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   mailing list (ietf-http-wg@w3.org), which is archived at</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
66      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   &lt;http://lists.w3.org/Archives/Public/ietf-http-wg/&gt;.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
67      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"></span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
68      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   The current issues list is at</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
69      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   &lt;http://tools.ietf.org/wg/httpbis/trac/report/3&gt; and related</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
70      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   documents (including fancy diffs) can be found at</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
71      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   &lt;http://tools.ietf.org/wg/httpbis/&gt;.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
72      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"></span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
73      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   _This is a temporary document for the purpose of tracking the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
74      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   editorial changes made during the AUTH48 (RFC publication) phase._</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
75      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                         </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
76      <tr><td class="lineno" valign="top"></td><td class="left">Status of This Memo</td><td> </td><td class="right">Status of This Memo</td><td class="lineno" valign="top"></td></tr>
77      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
78      <tr><td><a name="diff0004" /></td></tr>
79      <tr><td class="lineno" valign="top"></td><td class="lblock">   This <span class="delete">Internet-Draft</span> is <span class="delete">submitted in full conformance with the</span></td><td> </td><td class="rblock">   This is <span class="insert">an Internet Standards Track document.</span></td><td class="lineno" valign="top"></td></tr>
80      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   provisions of BCP 78 and BCP 79.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
81      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
82      <tr><td><a name="diff0005" /></td></tr>
83      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">Internet-Drafts are working documents</span> of the Internet Engineering</td><td> </td><td class="rblock">   <span class="insert">This document is a product</span> of the Internet Engineering Task Force</td><td class="lineno" valign="top"></td></tr>
84      <tr><td class="lineno" valign="top"></td><td class="lblock">   Task Force (IETF).  <span class="delete">Note that other groups may also distribute</span></td><td> </td><td class="rblock">   (IETF).  <span class="insert">It represents the consensus</span> of <span class="insert">the IETF community.  It has</span></td><td class="lineno" valign="top"></td></tr>
85      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   working documents as Internet-Drafts.  The list</span> of <span class="delete">current Internet-</span></td><td> </td><td class="rblock"><span class="insert">   received public review and has been approved for publication by the</span></td><td class="lineno" valign="top"></td></tr>
86      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   Drafts</span> is <span class="delete">at http://datatracker.ietf.org/drafts/current/.</span></td><td> </td><td class="rblock"><span class="insert">   Internet Engineering Steering Group (IESG).  Further information on</span></td><td class="lineno" valign="top"></td></tr>
87      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   Internet Standards</span> is <span class="insert">available in Section 2 of RFC 5741.</span></td><td class="lineno" valign="top"></td></tr>
88      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
89      <tr><td><a name="diff0006" /></td></tr>
90      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">Internet-Drafts are draft documents valid for a maximum</span> of <span class="delete">six months</span></td><td> </td><td class="rblock">   <span class="insert">Information about the current status</span> of <span class="insert">this document, any errata,</span></td><td class="lineno" valign="top"></td></tr>
91      <tr><td class="lineno" valign="top"></td><td class="lblock">   and may be <span class="delete">updated, replaced, or obsoleted by other documents</span> at <span class="delete">any</span></td><td> </td><td class="rblock">   and <span class="insert">how to provide feedback on it</span> may be <span class="insert">obtained</span> at</td><td class="lineno" valign="top"></td></tr>
92      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   time.  It is inappropriate to use Internet-Drafts as reference</span></td><td> </td><td class="rblock">   <span class="insert">http://www.rfc-editor.org/info/rfc7232.</span></td><td class="lineno" valign="top"></td></tr>
93      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   material or to cite them other than as "work in progress."</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
94      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   This Internet-Draft will expire on November 20, 2014.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
95      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
96      <tr><td class="lineno" valign="top"></td><td class="left">Copyright Notice</td><td> </td><td class="right">Copyright Notice</td><td class="lineno" valign="top"></td></tr>
97      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
98      <tr><td class="lineno" valign="top"></td><td class="left">   Copyright (c) 2014 IETF Trust and the persons identified as the</td><td> </td><td class="right">   Copyright (c) 2014 IETF Trust and the persons identified as the</td><td class="lineno" valign="top"></td></tr>
99      <tr><td class="lineno" valign="top"></td><td class="left">   document authors.  All rights reserved.</td><td> </td><td class="right">   document authors.  All rights reserved.</td><td class="lineno" valign="top"></td></tr>
100      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
101      <tr><td class="lineno" valign="top"></td><td class="left">   This document is subject to BCP 78 and the IETF Trust's Legal</td><td> </td><td class="right">   This document is subject to BCP 78 and the IETF Trust's Legal</td><td class="lineno" valign="top"></td></tr>
102      <tr><td class="lineno" valign="top"></td><td class="left">   Provisions Relating to IETF Documents</td><td> </td><td class="right">   Provisions Relating to IETF Documents</td><td class="lineno" valign="top"></td></tr>
103      <tr><td class="lineno" valign="top"></td><td class="left">   (http://trustee.ietf.org/license-info) in effect on the date of</td><td> </td><td class="right">   (http://trustee.ietf.org/license-info) in effect on the date of</td><td class="lineno" valign="top"></td></tr>
104      <tr><td class="lineno" valign="top"></td><td class="left">   publication of this document.  Please review these documents</td><td> </td><td class="right">   publication of this document.  Please review these documents</td><td class="lineno" valign="top"></td></tr>
105      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
106      <tr bgcolor="gray" ><td></td><th><a name="part-l2" /><small>skipping to change at</small><em> page 5, line 13</em></th><th> </th><th><a name="part-r2" /><small>skipping to change at</small><em> page 5, line 13</em></th><td></td></tr>
107      <tr><td class="lineno" valign="top"></td><td class="left">   documents.  Appendix C shows the collected grammar with all list</td><td> </td><td class="right">   documents.  Appendix C shows the collected grammar with all list</td><td class="lineno" valign="top"></td></tr>
108      <tr><td class="lineno" valign="top"></td><td class="left">   operators expanded to standard ABNF notation.</td><td> </td><td class="right">   operators expanded to standard ABNF notation.</td><td class="lineno" valign="top"></td></tr>
109      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
110      <tr><td class="lineno" valign="top"></td><td class="left">2.  Validators</td><td> </td><td class="right">2.  Validators</td><td class="lineno" valign="top"></td></tr>
111      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
112      <tr><td class="lineno" valign="top"></td><td class="left">   This specification defines two forms of metadata that are commonly</td><td> </td><td class="right">   This specification defines two forms of metadata that are commonly</td><td class="lineno" valign="top"></td></tr>
113      <tr><td class="lineno" valign="top"></td><td class="left">   used to observe resource state and test for preconditions:</td><td> </td><td class="right">   used to observe resource state and test for preconditions:</td><td class="lineno" valign="top"></td></tr>
114      <tr><td class="lineno" valign="top"></td><td class="left">   modification dates (Section 2.2) and opaque entity tags</td><td> </td><td class="right">   modification dates (Section 2.2) and opaque entity tags</td><td class="lineno" valign="top"></td></tr>
115      <tr><td class="lineno" valign="top"></td><td class="left">   (Section 2.3).  Additional metadata that reflects resource state has</td><td> </td><td class="right">   (Section 2.3).  Additional metadata that reflects resource state has</td><td class="lineno" valign="top"></td></tr>
116      <tr><td class="lineno" valign="top"></td><td class="left">   been defined by various extensions of HTTP, such as Web Distributed</td><td> </td><td class="right">   been defined by various extensions of HTTP, such as Web Distributed</td><td class="lineno" valign="top"></td></tr>
117      <tr><td><a name="diff0007" /></td></tr>
118      <tr><td class="lineno" valign="top"></td><td class="lblock">   Authoring and Versioning (WebDAV<span class="delete">, [RFC4918])</span>, that are beyond the</td><td> </td><td class="rblock">   Authoring and Versioning (WebDAV<span class="insert">) [RFC4918]</span>, that are beyond the</td><td class="lineno" valign="top"></td></tr>
119      <tr><td class="lineno" valign="top"></td><td class="left">   scope of this specification.  A resource metadata value is referred</td><td> </td><td class="right">   scope of this specification.  A resource metadata value is referred</td><td class="lineno" valign="top"></td></tr>
120      <tr><td class="lineno" valign="top"></td><td class="left">   to as a "validator" when it is used within a precondition.</td><td> </td><td class="right">   to as a "validator" when it is used within a precondition.</td><td class="lineno" valign="top"></td></tr>
121      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
122      <tr><td class="lineno" valign="top"></td><td class="left">2.1.  Weak versus Strong</td><td> </td><td class="right">2.1.  Weak versus Strong</td><td class="lineno" valign="top"></td></tr>
123      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
124      <tr><td class="lineno" valign="top"></td><td class="left">   Validators come in two flavors: strong or weak.  Weak validators are</td><td> </td><td class="right">   Validators come in two flavors: strong or weak.  Weak validators are</td><td class="lineno" valign="top"></td></tr>
125      <tr><td class="lineno" valign="top"></td><td class="left">   easy to generate but are far less useful for comparisons.  Strong</td><td> </td><td class="right">   easy to generate but are far less useful for comparisons.  Strong</td><td class="lineno" valign="top"></td></tr>
126      <tr><td class="lineno" valign="top"></td><td class="left">   validators are ideal for comparisons but can be very difficult (and</td><td> </td><td class="right">   validators are ideal for comparisons but can be very difficult (and</td><td class="lineno" valign="top"></td></tr>
127      <tr><td class="lineno" valign="top"></td><td class="left">   occasionally impossible) to generate efficiently.  Rather than impose</td><td> </td><td class="right">   occasionally impossible) to generate efficiently.  Rather than impose</td><td class="lineno" valign="top"></td></tr>
128      <tr><td class="lineno" valign="top"></td><td class="left">   that all forms of resource adhere to the same strength of validator,</td><td> </td><td class="right">   that all forms of resource adhere to the same strength of validator,</td><td class="lineno" valign="top"></td></tr>
129      <tr><td class="lineno" valign="top"></td><td class="left">   HTTP exposes the type of validator in use and imposes restrictions on</td><td> </td><td class="right">   HTTP exposes the type of validator in use and imposes restrictions on</td><td class="lineno" valign="top"></td></tr>
130      <tr><td class="lineno" valign="top"></td><td class="left">   when weak validators can be used as preconditions.</td><td> </td><td class="right">   when weak validators can be used as preconditions.</td><td class="lineno" valign="top"></td></tr>
131      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
132      <tr><td class="lineno" valign="top"></td><td class="left">   A "strong validator" is representation metadata that changes value</td><td> </td><td class="right">   A "strong validator" is representation metadata that changes value</td><td class="lineno" valign="top"></td></tr>
133      <tr><td class="lineno" valign="top"></td><td class="left">   whenever a change occurs to the representation data that would be</td><td> </td><td class="right">   whenever a change occurs to the representation data that would be</td><td class="lineno" valign="top"></td></tr>
134      <tr><td class="lineno" valign="top"></td><td class="left">   observable in the payload body of a 200 (OK) response to GET.</td><td> </td><td class="right">   observable in the payload body of a 200 (OK) response to GET.</td><td class="lineno" valign="top"></td></tr>
135      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
136      <tr><td class="lineno" valign="top"></td><td class="left">   A strong validator might change for reasons other than a change to</td><td> </td><td class="right">   A strong validator might change for reasons other than a change to</td><td class="lineno" valign="top"></td></tr>
137      <tr><td class="lineno" valign="top"></td><td class="left">   the representation data, such as when a semantically significant part</td><td> </td><td class="right">   the representation data, such as when a semantically significant part</td><td class="lineno" valign="top"></td></tr>
138      <tr><td class="lineno" valign="top"></td><td class="left">   of the representation metadata is changed (e.g., Content-Type), but</td><td> </td><td class="right">   of the representation metadata is changed (e.g., Content-Type), but</td><td class="lineno" valign="top"></td></tr>
139      <tr><td><a name="diff0008" /></td></tr>
140      <tr><td class="lineno" valign="top"></td><td class="lblock">   it is in the best interests of the origin server to <span class="delete">only change</span> the</td><td> </td><td class="rblock">   it is in the best interests of the origin server to <span class="insert">change only</span> the</td><td class="lineno" valign="top"></td></tr>
141      <tr><td class="lineno" valign="top"></td><td class="left">   value when it is necessary to invalidate the stored responses held by</td><td> </td><td class="right">   value when it is necessary to invalidate the stored responses held by</td><td class="lineno" valign="top"></td></tr>
142      <tr><td class="lineno" valign="top"></td><td class="left">   remote caches and authoring tools.</td><td> </td><td class="right">   remote caches and authoring tools.</td><td class="lineno" valign="top"></td></tr>
143      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
144      <tr><td class="lineno" valign="top"></td><td class="left">   Cache entries might persist for arbitrarily long periods, regardless</td><td> </td><td class="right">   Cache entries might persist for arbitrarily long periods, regardless</td><td class="lineno" valign="top"></td></tr>
145      <tr><td class="lineno" valign="top"></td><td class="left">   of expiration times.  Thus, a cache might attempt to validate an</td><td> </td><td class="right">   of expiration times.  Thus, a cache might attempt to validate an</td><td class="lineno" valign="top"></td></tr>
146      <tr><td class="lineno" valign="top"></td><td class="left">   entry using a validator that it obtained in the distant past.  A</td><td> </td><td class="right">   entry using a validator that it obtained in the distant past.  A</td><td class="lineno" valign="top"></td></tr>
147      <tr><td class="lineno" valign="top"></td><td class="left">   strong validator is unique across all versions of all representations</td><td> </td><td class="right">   strong validator is unique across all versions of all representations</td><td class="lineno" valign="top"></td></tr>
148      <tr><td class="lineno" valign="top"></td><td class="left">   associated with a particular resource over time.  However, there is</td><td> </td><td class="right">   associated with a particular resource over time.  However, there is</td><td class="lineno" valign="top"></td></tr>
149      <tr><td class="lineno" valign="top"></td><td class="left">   no implication of uniqueness across representations of different</td><td> </td><td class="right">   no implication of uniqueness across representations of different</td><td class="lineno" valign="top"></td></tr>
150      <tr><td class="lineno" valign="top"></td><td class="left">   resources (i.e., the same strong validator might be in use for</td><td> </td><td class="right">   resources (i.e., the same strong validator might be in use for</td><td class="lineno" valign="top"></td></tr>
151      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
152      <tr bgcolor="gray" ><td></td><th><a name="part-l3" /><small>skipping to change at</small><em> page 8, line 25</em></th><th> </th><th><a name="part-r3" /><small>skipping to change at</small><em> page 8, line 25</em></th><td></td></tr>
153      <tr><td class="lineno" valign="top"></td><td class="left">   o  The validator is being compared by an origin server to the actual</td><td> </td><td class="right">   o  The validator is being compared by an origin server to the actual</td><td class="lineno" valign="top"></td></tr>
154      <tr><td class="lineno" valign="top"></td><td class="left">      current validator for the representation and,</td><td> </td><td class="right">      current validator for the representation and,</td><td class="lineno" valign="top"></td></tr>
155      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
156      <tr><td class="lineno" valign="top"></td><td class="left">   o  That origin server reliably knows that the associated</td><td> </td><td class="right">   o  That origin server reliably knows that the associated</td><td class="lineno" valign="top"></td></tr>
157      <tr><td class="lineno" valign="top"></td><td class="left">      representation did not change twice during the second covered by</td><td> </td><td class="right">      representation did not change twice during the second covered by</td><td class="lineno" valign="top"></td></tr>
158      <tr><td class="lineno" valign="top"></td><td class="left">      the presented validator.</td><td> </td><td class="right">      the presented validator.</td><td class="lineno" valign="top"></td></tr>
159      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
160      <tr><td class="lineno" valign="top"></td><td class="left">   or</td><td> </td><td class="right">   or</td><td class="lineno" valign="top"></td></tr>
161      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
162      <tr><td class="lineno" valign="top"></td><td class="left">   o  The validator is about to be used by a client in an If-Modified-</td><td> </td><td class="right">   o  The validator is about to be used by a client in an If-Modified-</td><td class="lineno" valign="top"></td></tr>
163      <tr><td><a name="diff0009" /></td></tr>
164      <tr><td class="lineno" valign="top"></td><td class="lblock">      <span class="delete">Since, If-Unmodified-Since,</span> or <span class="delete">If-Range</span> header field, because the</td><td> </td><td class="rblock">      <span class="insert">Since</span> or <span class="insert">If-Unmodified-Since</span> header field, because the client has</td><td class="lineno" valign="top"></td></tr>
165      <tr><td class="lineno" valign="top"></td><td class="lblock">      client has a cache <span class="delete">entry</span> for the associated representation, and</td><td> </td><td class="rblock">      a cache <span class="insert">entry, or If-Range</span> for the associated representation, and</td><td class="lineno" valign="top"></td></tr>
166      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
167      <tr><td class="lineno" valign="top"></td><td class="left">   o  That cache entry includes a Date value, which gives the time when</td><td> </td><td class="right">   o  That cache entry includes a Date value, which gives the time when</td><td class="lineno" valign="top"></td></tr>
168      <tr><td class="lineno" valign="top"></td><td class="left">      the origin server sent the original response, and</td><td> </td><td class="right">      the origin server sent the original response, and</td><td class="lineno" valign="top"></td></tr>
169      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
170      <tr><td class="lineno" valign="top"></td><td class="left">   o  The presented Last-Modified time is at least 60 seconds before the</td><td> </td><td class="right">   o  The presented Last-Modified time is at least 60 seconds before the</td><td class="lineno" valign="top"></td></tr>
171      <tr><td class="lineno" valign="top"></td><td class="left">      Date value.</td><td> </td><td class="right">      Date value.</td><td class="lineno" valign="top"></td></tr>
172      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
173      <tr><td class="lineno" valign="top"></td><td class="left">   or</td><td> </td><td class="right">   or</td><td class="lineno" valign="top"></td></tr>
174      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
175      <tr><td class="lineno" valign="top"></td><td class="left">   o  The validator is being compared by an intermediate cache to the</td><td> </td><td class="right">   o  The validator is being compared by an intermediate cache to the</td><td class="lineno" valign="top"></td></tr>
176      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
177      <tr bgcolor="gray" ><td></td><th><a name="part-l4" /><small>skipping to change at</small><em> page 13, line 51</em></th><th> </th><th><a name="part-r4" /><small>skipping to change at</small><em> page 13, line 51</em></th><td></td></tr>
178      <tr><td class="lineno" valign="top"></td><td class="left">   An origin server that receives an If-Match header field MUST evaluate</td><td> </td><td class="right">   An origin server that receives an If-Match header field MUST evaluate</td><td class="lineno" valign="top"></td></tr>
179      <tr><td class="lineno" valign="top"></td><td class="left">   the condition prior to performing the method (Section 5).  If the</td><td> </td><td class="right">   the condition prior to performing the method (Section 5).  If the</td><td class="lineno" valign="top"></td></tr>
180      <tr><td class="lineno" valign="top"></td><td class="left">   field-value is "*", the condition is false if the origin server does</td><td> </td><td class="right">   field-value is "*", the condition is false if the origin server does</td><td class="lineno" valign="top"></td></tr>
181      <tr><td class="lineno" valign="top"></td><td class="left">   not have a current representation for the target resource.  If the</td><td> </td><td class="right">   not have a current representation for the target resource.  If the</td><td class="lineno" valign="top"></td></tr>
182      <tr><td class="lineno" valign="top"></td><td class="left">   field-value is a list of entity-tags, the condition is false if none</td><td> </td><td class="right">   field-value is a list of entity-tags, the condition is false if none</td><td class="lineno" valign="top"></td></tr>
183      <tr><td class="lineno" valign="top"></td><td class="left">   of the listed tags match the entity-tag of the selected</td><td> </td><td class="right">   of the listed tags match the entity-tag of the selected</td><td class="lineno" valign="top"></td></tr>
184      <tr><td class="lineno" valign="top"></td><td class="left">   representation.</td><td> </td><td class="right">   representation.</td><td class="lineno" valign="top"></td></tr>
185      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
186      <tr><td class="lineno" valign="top"></td><td class="left">   An origin server MUST NOT perform the requested method if a received</td><td> </td><td class="right">   An origin server MUST NOT perform the requested method if a received</td><td class="lineno" valign="top"></td></tr>
187      <tr><td class="lineno" valign="top"></td><td class="left">   If-Match condition evaluates to false; instead, the origin server</td><td> </td><td class="right">   If-Match condition evaluates to false; instead, the origin server</td><td class="lineno" valign="top"></td></tr>
188      <tr><td><a name="diff0010" /></td></tr>
189      <tr><td class="lineno" valign="top"></td><td class="lblock">   MUST respond with <span class="delete">either</span> a) the 412 (Precondition Failed) status code</td><td> </td><td class="rblock">   MUST respond with <span class="insert">either:</span> a) the 412 (Precondition Failed) status</td><td class="lineno" valign="top"></td></tr>
190      <tr><td class="lineno" valign="top"></td><td class="lblock">   or b) one of the 2xx (Successful) status codes if the origin server</td><td> </td><td class="rblock">   code or b) one of the 2xx (Successful) status codes if the origin</td><td class="lineno" valign="top"></td></tr>
191      <tr><td class="lineno" valign="top"></td><td class="lblock">   has verified that a state change is being requested and the final</td><td> </td><td class="rblock">   server has verified that a state change is being requested and the</td><td class="lineno" valign="top"></td></tr>
192      <tr><td class="lineno" valign="top"></td><td class="lblock">   state is already reflected in the current state of the target</td><td> </td><td class="rblock">   final state is already reflected in the current state of the target</td><td class="lineno" valign="top"></td></tr>
193      <tr><td class="lineno" valign="top"></td><td class="left">   resource (i.e., the change requested by the user agent has already</td><td> </td><td class="right">   resource (i.e., the change requested by the user agent has already</td><td class="lineno" valign="top"></td></tr>
194      <tr><td class="lineno" valign="top"></td><td class="left">   succeeded, but the user agent might not be aware of it, perhaps</td><td> </td><td class="right">   succeeded, but the user agent might not be aware of it, perhaps</td><td class="lineno" valign="top"></td></tr>
195      <tr><td class="lineno" valign="top"></td><td class="left">   because the prior response was lost or a compatible change was made</td><td> </td><td class="right">   because the prior response was lost or a compatible change was made</td><td class="lineno" valign="top"></td></tr>
196      <tr><td class="lineno" valign="top"></td><td class="left">   by some other user agent).  In the latter case, the origin server</td><td> </td><td class="right">   by some other user agent).  In the latter case, the origin server</td><td class="lineno" valign="top"></td></tr>
197      <tr><td class="lineno" valign="top"></td><td class="left">   MUST NOT send a validator header field in the response unless it can</td><td> </td><td class="right">   MUST NOT send a validator header field in the response unless it can</td><td class="lineno" valign="top"></td></tr>
198      <tr><td class="lineno" valign="top"></td><td class="left">   verify that the request is a duplicate of an immediately prior change</td><td> </td><td class="right">   verify that the request is a duplicate of an immediately prior change</td><td class="lineno" valign="top"></td></tr>
199      <tr><td class="lineno" valign="top"></td><td class="left">   made by the same user agent.</td><td> </td><td class="right">   made by the same user agent.</td><td class="lineno" valign="top"></td></tr>
200      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
201      <tr><td class="lineno" valign="top"></td><td class="left">   The If-Match header field can be ignored by caches and intermediaries</td><td> </td><td class="right">   The If-Match header field can be ignored by caches and intermediaries</td><td class="lineno" valign="top"></td></tr>
202      <tr><td class="lineno" valign="top"></td><td class="left">   because it is not applicable to a stored response.</td><td> </td><td class="right">   because it is not applicable to a stored response.</td><td class="lineno" valign="top"></td></tr>
203      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
204      <tr bgcolor="gray" ><td></td><th><a name="part-l5" /><small>skipping to change at</small><em> page 15, line 43</em></th><th> </th><th><a name="part-r5" /><small>skipping to change at</small><em> page 15, line 43</em></th><td></td></tr>
205      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
206      <tr><td class="lineno" valign="top"></td><td class="left">     If-Modified-Since = HTTP-date</td><td> </td><td class="right">     If-Modified-Since = HTTP-date</td><td class="lineno" valign="top"></td></tr>
207      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
208      <tr><td class="lineno" valign="top"></td><td class="left">   An example of the field is:</td><td> </td><td class="right">   An example of the field is:</td><td class="lineno" valign="top"></td></tr>
209      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
210      <tr><td class="lineno" valign="top"></td><td class="left">     If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT</td><td> </td><td class="right">     If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT</td><td class="lineno" valign="top"></td></tr>
211      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
212      <tr><td class="lineno" valign="top"></td><td class="left">   A recipient MUST ignore If-Modified-Since if the request contains an</td><td> </td><td class="right">   A recipient MUST ignore If-Modified-Since if the request contains an</td><td class="lineno" valign="top"></td></tr>
213      <tr><td class="lineno" valign="top"></td><td class="left">   If-None-Match header field; the condition in If-None-Match is</td><td> </td><td class="right">   If-None-Match header field; the condition in If-None-Match is</td><td class="lineno" valign="top"></td></tr>
214      <tr><td class="lineno" valign="top"></td><td class="left">   considered to be a more accurate replacement for the condition in If-</td><td> </td><td class="right">   considered to be a more accurate replacement for the condition in If-</td><td class="lineno" valign="top"></td></tr>
215      <tr><td><a name="diff0011" /></td></tr>
216      <tr><td class="lineno" valign="top"></td><td class="lblock">   Modified-Since<span class="delete">,</span> and the two are only combined for the sake of</td><td> </td><td class="rblock">   Modified-Since and the two are only combined for the sake of</td><td class="lineno" valign="top"></td></tr>
217      <tr><td class="lineno" valign="top"></td><td class="left">   interoperating with older intermediaries that might not implement If-</td><td> </td><td class="right">   interoperating with older intermediaries that might not implement If-</td><td class="lineno" valign="top"></td></tr>
218      <tr><td class="lineno" valign="top"></td><td class="left">   None-Match.</td><td> </td><td class="right">   None-Match.</td><td class="lineno" valign="top"></td></tr>
219      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
220      <tr><td class="lineno" valign="top"></td><td class="left">   A recipient MUST ignore the If-Modified-Since header field if the</td><td> </td><td class="right">   A recipient MUST ignore the If-Modified-Since header field if the</td><td class="lineno" valign="top"></td></tr>
221      <tr><td class="lineno" valign="top"></td><td class="left">   received field-value is not a valid HTTP-date, or if the request</td><td> </td><td class="right">   received field-value is not a valid HTTP-date, or if the request</td><td class="lineno" valign="top"></td></tr>
222      <tr><td class="lineno" valign="top"></td><td class="left">   method is neither GET nor HEAD.</td><td> </td><td class="right">   method is neither GET nor HEAD.</td><td class="lineno" valign="top"></td></tr>
223      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
224      <tr><td class="lineno" valign="top"></td><td class="left">   A recipient MUST interpret an If-Modified-Since field-value's</td><td> </td><td class="right">   A recipient MUST interpret an If-Modified-Since field-value's</td><td class="lineno" valign="top"></td></tr>
225      <tr><td class="lineno" valign="top"></td><td class="left">   timestamp in terms of the origin server's clock.</td><td> </td><td class="right">   timestamp in terms of the origin server's clock.</td><td class="lineno" valign="top"></td></tr>
226      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
227      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
228      <tr bgcolor="gray" ><td></td><th><a name="part-l6" /><small>skipping to change at</small><em> page 18, line 28</em></th><th> </th><th><a name="part-r6" /><small>skipping to change at</small><em> page 18, line 28</em></th><td></td></tr>
229      <tr><td class="lineno" valign="top"></td><td class="left">   The 304 (Not Modified) status code indicates that a conditional GET</td><td> </td><td class="right">   The 304 (Not Modified) status code indicates that a conditional GET</td><td class="lineno" valign="top"></td></tr>
230      <tr><td class="lineno" valign="top"></td><td class="left">   or HEAD request has been received and would have resulted in a 200</td><td> </td><td class="right">   or HEAD request has been received and would have resulted in a 200</td><td class="lineno" valign="top"></td></tr>
231      <tr><td class="lineno" valign="top"></td><td class="left">   (OK) response if it were not for the fact that the condition</td><td> </td><td class="right">   (OK) response if it were not for the fact that the condition</td><td class="lineno" valign="top"></td></tr>
232      <tr><td class="lineno" valign="top"></td><td class="left">   evaluated to false.  In other words, there is no need for the server</td><td> </td><td class="right">   evaluated to false.  In other words, there is no need for the server</td><td class="lineno" valign="top"></td></tr>
233      <tr><td class="lineno" valign="top"></td><td class="left">   to transfer a representation of the target resource because the</td><td> </td><td class="right">   to transfer a representation of the target resource because the</td><td class="lineno" valign="top"></td></tr>
234      <tr><td class="lineno" valign="top"></td><td class="left">   request indicates that the client, which made the request</td><td> </td><td class="right">   request indicates that the client, which made the request</td><td class="lineno" valign="top"></td></tr>
235      <tr><td class="lineno" valign="top"></td><td class="left">   conditional, already has a valid representation; the server is</td><td> </td><td class="right">   conditional, already has a valid representation; the server is</td><td class="lineno" valign="top"></td></tr>
236      <tr><td class="lineno" valign="top"></td><td class="left">   therefore redirecting the client to make use of that stored</td><td> </td><td class="right">   therefore redirecting the client to make use of that stored</td><td class="lineno" valign="top"></td></tr>
237      <tr><td class="lineno" valign="top"></td><td class="left">   representation as if it were the payload of a 200 (OK) response.</td><td> </td><td class="right">   representation as if it were the payload of a 200 (OK) response.</td><td class="lineno" valign="top"></td></tr>
238      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
239      <tr><td><a name="diff0012" /></td></tr>
240      <tr><td class="lineno" valign="top"></td><td class="lblock">   The server generating a 304 response MUST generate any of the</td><td> </td><td class="rblock">   The server generating a 304 <span class="insert">(Not Modified)</span> response MUST generate any</td><td class="lineno" valign="top"></td></tr>
241      <tr><td class="lineno" valign="top"></td><td class="lblock">   following header fields that would have been sent in a 200 (OK)</td><td> </td><td class="rblock">   of the following header fields that would have been sent in a 200</td><td class="lineno" valign="top"></td></tr>
242      <tr><td class="lineno" valign="top"></td><td class="lblock">   response to the same request: Cache-Control, Content-Location, Date,</td><td> </td><td class="rblock">   (OK) response to the same request: Cache-Control, Content-Location,</td><td class="lineno" valign="top"></td></tr>
243      <tr><td class="lineno" valign="top"></td><td class="lblock">   ETag, Expires, and Vary.</td><td> </td><td class="rblock">   Date, ETag, Expires, and Vary.</td><td class="lineno" valign="top"></td></tr>
244      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
245      <tr><td><a name="diff0013" /></td></tr>
246      <tr><td class="lineno" valign="top"></td><td class="lblock">   Since the goal of a 304 response is to minimize information transfer</td><td> </td><td class="rblock">   Since the goal of a 304 <span class="insert">(Not Modified)</span> response is to minimize</td><td class="lineno" valign="top"></td></tr>
247      <tr><td class="lineno" valign="top"></td><td class="lblock">   when the recipient already has one or more cached representations, a</td><td> </td><td class="rblock">   information transfer when the recipient already has one or more</td><td class="lineno" valign="top"></td></tr>
248      <tr><td class="lineno" valign="top"></td><td class="lblock">   sender SHOULD NOT generate representation metadata other than the</td><td> </td><td class="rblock">   cached representations, a sender SHOULD NOT generate representation</td><td class="lineno" valign="top"></td></tr>
249      <tr><td class="lineno" valign="top"></td><td class="lblock">   above listed fields unless said metadata exists for the purpose of</td><td> </td><td class="rblock">   metadata other than the above listed fields unless said metadata</td><td class="lineno" valign="top"></td></tr>
250      <tr><td class="lineno" valign="top"></td><td class="lblock">   guiding cache updates (e.g., Last-Modified might be useful if the</td><td> </td><td class="rblock">   exists for the purpose of guiding cache updates (e.g., Last-Modified</td><td class="lineno" valign="top"></td></tr>
251      <tr><td class="lineno" valign="top"></td><td class="lblock">   response does not have an ETag field).</td><td> </td><td class="rblock">   might be useful if the response does not have an ETag field).</td><td class="lineno" valign="top"></td></tr>
252      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
253      <tr><td><a name="diff0014" /></td></tr>
254      <tr><td class="lineno" valign="top"></td><td class="lblock">   Requirements on a cache that receives a 304 response are defined in</td><td> </td><td class="rblock">   Requirements on a cache that receives a 304 <span class="insert">(Not Modified)</span> response</td><td class="lineno" valign="top"></td></tr>
255      <tr><td class="lineno" valign="top"></td><td class="lblock">   Section 4.3.4 of [RFC7234].  If the conditional request originated</td><td> </td><td class="rblock">   are defined in Section 4.3.4 of [RFC7234].  If the conditional</td><td class="lineno" valign="top"></td></tr>
256      <tr><td class="lineno" valign="top"></td><td class="lblock">   with an outbound client, such as a user agent with its own cache</td><td> </td><td class="rblock">   request originated with an outbound client, such as a user agent with</td><td class="lineno" valign="top"></td></tr>
257      <tr><td class="lineno" valign="top"></td><td class="lblock">   sending a conditional GET to a shared proxy, then the proxy SHOULD</td><td> </td><td class="rblock">   its own cache sending a conditional GET to a shared proxy, then the</td><td class="lineno" valign="top"></td></tr>
258      <tr><td class="lineno" valign="top"></td><td class="lblock">   forward the 304 response to that client.</td><td> </td><td class="rblock">   proxy SHOULD forward the 304 <span class="insert">(Not Modified)</span> response to that client.</td><td class="lineno" valign="top"></td></tr>
259      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
260      <tr><td><a name="diff0015" /></td></tr>
261      <tr><td class="lineno" valign="top"></td><td class="lblock">   A 304 response cannot contain a message-body; it is always terminated</td><td> </td><td class="rblock">   A 304 <span class="insert">(Not Modified)</span> response cannot contain a message-body; it is</td><td class="lineno" valign="top"></td></tr>
262      <tr><td class="lineno" valign="top"></td><td class="lblock">   by the first empty line after the header fields.</td><td> </td><td class="rblock">   always terminated by the first empty line after the header fields.</td><td class="lineno" valign="top"></td></tr>
263      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
264      <tr><td class="lineno" valign="top"></td><td class="left">4.2.  412 Precondition Failed</td><td> </td><td class="right">4.2.  412 Precondition Failed</td><td class="lineno" valign="top"></td></tr>
265      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
266      <tr><td class="lineno" valign="top"></td><td class="left">   The 412 (Precondition Failed) status code indicates that one or more</td><td> </td><td class="right">   The 412 (Precondition Failed) status code indicates that one or more</td><td class="lineno" valign="top"></td></tr>
267      <tr><td class="lineno" valign="top"></td><td class="left">   conditions given in the request header fields evaluated to false when</td><td> </td><td class="right">   conditions given in the request header fields evaluated to false when</td><td class="lineno" valign="top"></td></tr>
268      <tr><td class="lineno" valign="top"></td><td class="left">   tested on the server.  This response code allows the client to place</td><td> </td><td class="right">   tested on the server.  This response code allows the client to place</td><td class="lineno" valign="top"></td></tr>
269      <tr><td class="lineno" valign="top"></td><td class="left">   preconditions on the current resource state (its current</td><td> </td><td class="right">   preconditions on the current resource state (its current</td><td class="lineno" valign="top"></td></tr>
270      <tr><td class="lineno" valign="top"></td><td class="left">   representations and metadata) and, thus, prevent the request method</td><td> </td><td class="right">   representations and metadata) and, thus, prevent the request method</td><td class="lineno" valign="top"></td></tr>
271      <tr><td class="lineno" valign="top"></td><td class="left">   from being applied if the target resource is in an unexpected state.</td><td> </td><td class="right">   from being applied if the target resource is in an unexpected state.</td><td class="lineno" valign="top"></td></tr>
272      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
273      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
274      <tr bgcolor="gray" ><td></td><th><a name="part-l7" /><small>skipping to change at</small><em> page 21, line 23</em></th><th> </th><th><a name="part-r7" /><small>skipping to change at</small><em> page 21, line 23</em></th><td></td></tr>
275      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
276      <tr><td class="lineno" valign="top"></td><td class="left">   Any extension to HTTP/1.1 that defines additional conditional request</td><td> </td><td class="right">   Any extension to HTTP/1.1 that defines additional conditional request</td><td class="lineno" valign="top"></td></tr>
277      <tr><td class="lineno" valign="top"></td><td class="left">   header fields ought to define its own expectations regarding the</td><td> </td><td class="right">   header fields ought to define its own expectations regarding the</td><td class="lineno" valign="top"></td></tr>
278      <tr><td class="lineno" valign="top"></td><td class="left">   order for evaluating such fields in relation to those defined in this</td><td> </td><td class="right">   order for evaluating such fields in relation to those defined in this</td><td class="lineno" valign="top"></td></tr>
279      <tr><td class="lineno" valign="top"></td><td class="left">   document and other conditionals that might be found in practice.</td><td> </td><td class="right">   document and other conditionals that might be found in practice.</td><td class="lineno" valign="top"></td></tr>
280      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
281      <tr><td class="lineno" valign="top"></td><td class="left">7.  IANA Considerations</td><td> </td><td class="right">7.  IANA Considerations</td><td class="lineno" valign="top"></td></tr>
282      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
283      <tr><td class="lineno" valign="top"></td><td class="left">7.1.  Status Code Registration</td><td> </td><td class="right">7.1.  Status Code Registration</td><td class="lineno" valign="top"></td></tr>
284      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
285      <tr><td><a name="diff0016" /></td></tr>
286      <tr><td class="lineno" valign="top"></td><td class="lblock">   The <span class="delete">"Hypertext Transfer Protocol (HTTP)</span> Status <span class="delete">Code Registry"</span> located</td><td> </td><td class="rblock">   The <span class="insert">"HTTP</span> Status <span class="insert">Codes" registry</span> located at</td><td class="lineno" valign="top"></td></tr>
287      <tr><td class="lineno" valign="top"></td><td class="lblock">   at &lt;http://www.iana.org/assignments/http-status-codes&gt; has been</td><td> </td><td class="rblock">   &lt;http://www.iana.org/assignments/http-status-codes&gt; has been updated</td><td class="lineno" valign="top"></td></tr>
288      <tr><td class="lineno" valign="top"></td><td class="lblock">   updated with the registrations below:</td><td> </td><td class="rblock">   with the registrations below:</td><td class="lineno" valign="top"></td></tr>
289      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
290      <tr><td class="lineno" valign="top"></td><td class="left">   +-------+---------------------+-------------+</td><td> </td><td class="right">   +-------+---------------------+-------------+</td><td class="lineno" valign="top"></td></tr>
291      <tr><td class="lineno" valign="top"></td><td class="left">   | Value | Description         | Reference   |</td><td> </td><td class="right">   | Value | Description         | Reference   |</td><td class="lineno" valign="top"></td></tr>
292      <tr><td class="lineno" valign="top"></td><td class="left">   +-------+---------------------+-------------+</td><td> </td><td class="right">   +-------+---------------------+-------------+</td><td class="lineno" valign="top"></td></tr>
293      <tr><td class="lineno" valign="top"></td><td class="left">   | 304   | Not Modified        | Section 4.1 |</td><td> </td><td class="right">   | 304   | Not Modified        | Section 4.1 |</td><td class="lineno" valign="top"></td></tr>
294      <tr><td class="lineno" valign="top"></td><td class="left">   | 412   | Precondition Failed | Section 4.2 |</td><td> </td><td class="right">   | 412   | Precondition Failed | Section 4.2 |</td><td class="lineno" valign="top"></td></tr>
295      <tr><td class="lineno" valign="top"></td><td class="left">   +-------+---------------------+-------------+</td><td> </td><td class="right">   +-------+---------------------+-------------+</td><td class="lineno" valign="top"></td></tr>
296      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
297      <tr><td class="lineno" valign="top"></td><td class="left">7.2.  Header Field Registration</td><td> </td><td class="right">7.2.  Header Field Registration</td><td class="lineno" valign="top"></td></tr>
298      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
299      <tr><td><a name="diff0017" /></td></tr>
300      <tr><td class="lineno" valign="top"></td><td class="lblock">   HTTP header fields are registered within the <span class="delete">"Message Headers"</span></td><td> </td><td class="rblock">   HTTP header fields are registered within the <span class="insert">Message Header Field</span></td><td class="lineno" valign="top"></td></tr>
301      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   registry</span> maintained at</td><td> </td><td class="rblock"><span class="insert">   Registry</span> maintained at</td><td class="lineno" valign="top"></td></tr>
302      <tr><td class="lineno" valign="top"></td><td class="left">   &lt;http://www.iana.org/assignments/message-headers/&gt;.</td><td> </td><td class="right">   &lt;http://www.iana.org/assignments/message-headers/&gt;.</td><td class="lineno" valign="top"></td></tr>
303      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
304      <tr><td class="lineno" valign="top"></td><td class="left">   This document defines the following HTTP header fields, so their</td><td> </td><td class="right">   This document defines the following HTTP header fields, so their</td><td class="lineno" valign="top"></td></tr>
305      <tr><td class="lineno" valign="top"></td><td class="left">   associated registry entries have been updated according to the</td><td> </td><td class="right">   associated registry entries have been updated according to the</td><td class="lineno" valign="top"></td></tr>
306      <tr><td class="lineno" valign="top"></td><td class="left">   permanent registrations below (see [BCP90]):</td><td> </td><td class="right">   permanent registrations below (see [BCP90]):</td><td class="lineno" valign="top"></td></tr>
307      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
308      <tr><td class="lineno" valign="top"></td><td class="left">   +---------------------+----------+----------+-------------+</td><td> </td><td class="right">   +---------------------+----------+----------+-------------+</td><td class="lineno" valign="top"></td></tr>
309      <tr><td class="lineno" valign="top"></td><td class="left">   | Header Field Name   | Protocol | Status   | Reference   |</td><td> </td><td class="right">   | Header Field Name   | Protocol | Status   | Reference   |</td><td class="lineno" valign="top"></td></tr>
310      <tr><td class="lineno" valign="top"></td><td class="left">   +---------------------+----------+----------+-------------+</td><td> </td><td class="right">   +---------------------+----------+----------+-------------+</td><td class="lineno" valign="top"></td></tr>
311      <tr><td class="lineno" valign="top"></td><td class="left">   | ETag                | http     | standard | Section 2.3 |</td><td> </td><td class="right">   | ETag                | http     | standard | Section 2.3 |</td><td class="lineno" valign="top"></td></tr>
312      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
313      <tr bgcolor="gray" ><td></td><th><a name="part-l8" /><small>skipping to change at</small><em> page 22, line 24</em></th><th> </th><th><a name="part-r8" /><small>skipping to change at</small><em> page 22, line 24</em></th><td></td></tr>
314      <tr><td class="lineno" valign="top"></td><td class="left">   +---------------------+----------+----------+-------------+</td><td> </td><td class="right">   +---------------------+----------+----------+-------------+</td><td class="lineno" valign="top"></td></tr>
315      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
316      <tr><td class="lineno" valign="top"></td><td class="left">   The change controller is: "IETF (iesg@ietf.org) - Internet</td><td> </td><td class="right">   The change controller is: "IETF (iesg@ietf.org) - Internet</td><td class="lineno" valign="top"></td></tr>
317      <tr><td class="lineno" valign="top"></td><td class="left">   Engineering Task Force".</td><td> </td><td class="right">   Engineering Task Force".</td><td class="lineno" valign="top"></td></tr>
318      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
319      <tr><td class="lineno" valign="top"></td><td class="left">8.  Security Considerations</td><td> </td><td class="right">8.  Security Considerations</td><td class="lineno" valign="top"></td></tr>
320      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
321      <tr><td class="lineno" valign="top"></td><td class="left">   This section is meant to inform developers, information providers,</td><td> </td><td class="right">   This section is meant to inform developers, information providers,</td><td class="lineno" valign="top"></td></tr>
322      <tr><td class="lineno" valign="top"></td><td class="left">   and users of known security concerns specific to the HTTP conditional</td><td> </td><td class="right">   and users of known security concerns specific to the HTTP conditional</td><td class="lineno" valign="top"></td></tr>
323      <tr><td class="lineno" valign="top"></td><td class="left">   request mechanisms.  More general security considerations are</td><td> </td><td class="right">   request mechanisms.  More general security considerations are</td><td class="lineno" valign="top"></td></tr>
324      <tr><td><a name="diff0018" /></td></tr>
325      <tr><td class="lineno" valign="top"></td><td class="lblock">   addressed in HTTP <span class="delete">"Message Syntax and Routing"</span> [RFC7230] and</td><td> </td><td class="rblock">   addressed in <span class="insert">the</span> HTTP <span class="insert">messaging</span> [RFC7230] and <span class="insert">semantics [RFC7231]</span></td><td class="lineno" valign="top"></td></tr>
326      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">"Semantics and Content" [RFC7231].</span></td><td> </td><td class="rblock"><span class="insert">   documents.</span></td><td class="lineno" valign="top"></td></tr>
327      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
328      <tr><td class="lineno" valign="top"></td><td class="left">   The validators defined by this specification are not intended to</td><td> </td><td class="right">   The validators defined by this specification are not intended to</td><td class="lineno" valign="top"></td></tr>
329      <tr><td class="lineno" valign="top"></td><td class="left">   ensure the validity of a representation, guard against malicious</td><td> </td><td class="right">   ensure the validity of a representation, guard against malicious</td><td class="lineno" valign="top"></td></tr>
330      <tr><td class="lineno" valign="top"></td><td class="left">   changes, or detect man-in-the-middle attacks.  At best, they enable</td><td> </td><td class="right">   changes, or detect man-in-the-middle attacks.  At best, they enable</td><td class="lineno" valign="top"></td></tr>
331      <tr><td class="lineno" valign="top"></td><td class="left">   more efficient cache updates and optimistic concurrent writes when</td><td> </td><td class="right">   more efficient cache updates and optimistic concurrent writes when</td><td class="lineno" valign="top"></td></tr>
332      <tr><td class="lineno" valign="top"></td><td class="left">   all participants are behaving nicely.  At worst, the conditions will</td><td> </td><td class="right">   all participants are behaving nicely.  At worst, the conditions will</td><td class="lineno" valign="top"></td></tr>
333      <tr><td class="lineno" valign="top"></td><td class="left">   fail and the client will receive a response that is no more harmful</td><td> </td><td class="right">   fail and the client will receive a response that is no more harmful</td><td class="lineno" valign="top"></td></tr>
334      <tr><td class="lineno" valign="top"></td><td class="left">   than an HTTP exchange without conditional requests.</td><td> </td><td class="right">   than an HTTP exchange without conditional requests.</td><td class="lineno" valign="top"></td></tr>
335      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
336      <tr><td class="lineno" valign="top"></td><td class="left">   An entity-tag can be abused in ways that create privacy risks.  For</td><td> </td><td class="right">   An entity-tag can be abused in ways that create privacy risks.  For</td><td class="lineno" valign="top"></td></tr>
337      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
338      <tr bgcolor="gray" ><td></td><th><a name="part-l9" /><small>skipping to change at</small><em> page 23, line 14</em></th><th> </th><th><a name="part-r9" /><small>skipping to change at</small><em> page 23, line 14</em></th><td></td></tr>
339      <tr><td class="lineno" valign="top"></td><td class="left">10.1.  Normative References</td><td> </td><td class="right">10.1.  Normative References</td><td class="lineno" valign="top"></td></tr>
340      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
341      <tr><td class="lineno" valign="top"></td><td class="left">   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate</td><td> </td><td class="right">   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate</td><td class="lineno" valign="top"></td></tr>
342      <tr><td class="lineno" valign="top"></td><td class="left">              Requirement Levels", BCP 14, RFC 2119, March 1997.</td><td> </td><td class="right">              Requirement Levels", BCP 14, RFC 2119, March 1997.</td><td class="lineno" valign="top"></td></tr>
343      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
344      <tr><td class="lineno" valign="top"></td><td class="left">   [RFC5234]  Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax</td><td> </td><td class="right">   [RFC5234]  Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax</td><td class="lineno" valign="top"></td></tr>
345      <tr><td class="lineno" valign="top"></td><td class="left">              Specifications: ABNF", STD 68, RFC 5234, January 2008.</td><td> </td><td class="right">              Specifications: ABNF", STD 68, RFC 5234, January 2008.</td><td class="lineno" valign="top"></td></tr>
346      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
347      <tr><td class="lineno" valign="top"></td><td class="left">   [RFC7230]  Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer</td><td> </td><td class="right">   [RFC7230]  Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer</td><td class="lineno" valign="top"></td></tr>
348      <tr><td class="lineno" valign="top"></td><td class="left">              Protocol (HTTP/1.1): Message Syntax and Routing",</td><td> </td><td class="right">              Protocol (HTTP/1.1): Message Syntax and Routing",</td><td class="lineno" valign="top"></td></tr>
349      <tr><td><a name="diff0019" /></td></tr>
350      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">draft-ietf-httpbis-p1-messaging-latest (work in progress),</span></td><td> </td><td class="rblock">              <span class="insert">RFC 7230,</span> May 2014.</td><td class="lineno" valign="top"></td></tr>
351      <tr><td class="lineno" valign="top"></td><td class="lblock">              May 2014.</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
352      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
353      <tr><td class="lineno" valign="top"></td><td class="left">   [RFC7231]  Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer</td><td> </td><td class="right">   [RFC7231]  Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer</td><td class="lineno" valign="top"></td></tr>
354      <tr><td><a name="diff0020" /></td></tr>
355      <tr><td class="lineno" valign="top"></td><td class="lblock">              Protocol (HTTP/1.1): Semantics and Content",</td><td> </td><td class="rblock">              Protocol (HTTP/1.1): Semantics and Content", <span class="insert">RFC 7231,</span></td><td class="lineno" valign="top"></td></tr>
356      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">draft-ietf-httpbis-p2-semantics-latest (work in progress),</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
357      <tr><td class="lineno" valign="top"></td><td class="left">              May 2014.</td><td> </td><td class="right">              May 2014.</td><td class="lineno" valign="top"></td></tr>
358      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
359      <tr><td class="lineno" valign="top"></td><td class="left">   [RFC7233]  Fielding, R., Ed., Lafon, Y., Ed., and J. Reschke, Ed.,</td><td> </td><td class="right">   [RFC7233]  Fielding, R., Ed., Lafon, Y., Ed., and J. Reschke, Ed.,</td><td class="lineno" valign="top"></td></tr>
360      <tr><td class="lineno" valign="top"></td><td class="left">              "Hypertext Transfer Protocol (HTTP/1.1): Range Requests",</td><td> </td><td class="right">              "Hypertext Transfer Protocol (HTTP/1.1): Range Requests",</td><td class="lineno" valign="top"></td></tr>
361      <tr><td><a name="diff0021" /></td></tr>
362      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">draft-ietf-httpbis-p5-range-latest (work in progress),</span></td><td> </td><td class="rblock">              <span class="insert">RFC 7233,</span> May 2014.</td><td class="lineno" valign="top"></td></tr>
363      <tr><td class="lineno" valign="top"></td><td class="lblock">              May 2014.</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
364      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
365      <tr><td class="lineno" valign="top"></td><td class="left">   [RFC7234]  Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke,</td><td> </td><td class="right">   [RFC7234]  Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke,</td><td class="lineno" valign="top"></td></tr>
366      <tr><td class="lineno" valign="top"></td><td class="left">              Ed., "Hypertext Transfer Protocol (HTTP/1.1): Caching",</td><td> </td><td class="right">              Ed., "Hypertext Transfer Protocol (HTTP/1.1): Caching",</td><td class="lineno" valign="top"></td></tr>
367      <tr><td><a name="diff0022" /></td></tr>
368      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">draft-ietf-httpbis-p6-cache-latest (work in progress),</span></td><td> </td><td class="rblock">              <span class="insert">RFC 7234,</span> May 2014.</td><td class="lineno" valign="top"></td></tr>
369      <tr><td class="lineno" valign="top"></td><td class="lblock">              May 2014.</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
370      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
371      <tr><td class="lineno" valign="top"></td><td class="left">10.2.  Informative References</td><td> </td><td class="right">10.2.  Informative References</td><td class="lineno" valign="top"></td></tr>
372      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
373      <tr><td class="lineno" valign="top"></td><td class="left">   [BCP90]    Klyne, G., Nottingham, M., and J. Mogul, "Registration</td><td> </td><td class="right">   [BCP90]    Klyne, G., Nottingham, M., and J. Mogul, "Registration</td><td class="lineno" valign="top"></td></tr>
374      <tr><td class="lineno" valign="top"></td><td class="left">              Procedures for Message Header Fields", BCP 90, RFC 3864,</td><td> </td><td class="right">              Procedures for Message Header Fields", BCP 90, RFC 3864,</td><td class="lineno" valign="top"></td></tr>
375      <tr><td class="lineno" valign="top"></td><td class="left">              September 2004.</td><td> </td><td class="right">              September 2004.</td><td class="lineno" valign="top"></td></tr>
376      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
377      <tr><td class="lineno" valign="top"></td><td class="left">   [RFC2616]  Fielding, R., Gettys, J., Mogul, J., Frystyk, H.,</td><td> </td><td class="right">   [RFC2616]  Fielding, R., Gettys, J., Mogul, J., Frystyk, H.,</td><td class="lineno" valign="top"></td></tr>
378      <tr><td class="lineno" valign="top"></td><td class="left">              Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext</td><td> </td><td class="right">              Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext</td><td class="lineno" valign="top"></td></tr>
379      <tr><td class="lineno" valign="top"></td><td class="left">              Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.</td><td> </td><td class="right">              Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.</td><td class="lineno" valign="top"></td></tr>
380      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
381      <tr><td class="lineno" valign="top"></td><td class="left">   [RFC4918]  Dusseault, L., Ed., "HTTP Extensions for Web Distributed</td><td> </td><td class="right">   [RFC4918]  Dusseault, L., Ed., "HTTP Extensions for Web Distributed</td><td class="lineno" valign="top"></td></tr>
382      <tr><td class="lineno" valign="top"></td><td class="left">              Authoring and Versioning (WebDAV)", RFC 4918, June 2007.</td><td> </td><td class="right">              Authoring and Versioning (WebDAV)", RFC 4918, June 2007.</td><td class="lineno" valign="top"></td></tr>
383      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
384      <tr><td class="lineno" valign="top"></td><td class="left">Appendix A.  Changes from RFC 2616</td><td> </td><td class="right">Appendix A.  Changes from RFC 2616</td><td class="lineno" valign="top"></td></tr>
385      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
386      <tr><td><a name="diff0023" /></td></tr>
387      <tr><td class="lineno" valign="top"></td><td class="lblock">   The definition of validator weakness has been expanded and <span class="delete">clarified.</span></td><td> </td><td class="rblock">   The definition of validator weakness has been expanded and <span class="insert">clarified</span></td><td class="lineno" valign="top"></td></tr>
388      <tr><td class="lineno" valign="top"></td><td class="lblock">   (Section <span class="delete">2.1)</span></td><td> </td><td class="rblock">   (Section <span class="insert">2.1).</span></td><td class="lineno" valign="top"></td></tr>
389      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
390      <tr><td class="lineno" valign="top"></td><td class="left">   Weak entity-tags are now allowed in all requests except range</td><td> </td><td class="right">   Weak entity-tags are now allowed in all requests except range</td><td class="lineno" valign="top"></td></tr>
391      <tr><td><a name="diff0024" /></td></tr>
392      <tr><td class="lineno" valign="top"></td><td class="lblock">   requests.  (Sections 2.1 and <span class="delete">3.2)</span></td><td> </td><td class="rblock">   requests.  (Sections 2.1 and <span class="insert">3.2.)</span></td><td class="lineno" valign="top"></td></tr>
393      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">                                                                         </td><td class="lineno" valign="top"></td></tr>
394      <tr><td class="lineno" valign="top"></td><td class="left">   The ETag header field ABNF has been changed to not use quoted-string,</td><td> </td><td class="right">   The ETag header field ABNF has been changed to not use quoted-string,</td><td class="lineno" valign="top"></td></tr>
395      <tr><td><a name="diff0025" /></td></tr>
396      <tr><td class="lineno" valign="top"></td><td class="lblock">   thus avoiding escaping issues<span class="delete">.  (Section 2.3)</span></td><td> </td><td class="rblock">   thus avoiding escaping issues<span class="insert"> (Section 2.3).</span></td><td class="lineno" valign="top"></td></tr>
397      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
398      <tr><td class="lineno" valign="top"></td><td class="left">   ETag is defined to provide an entity tag for the selected</td><td> </td><td class="right">   ETag is defined to provide an entity tag for the selected</td><td class="lineno" valign="top"></td></tr>
399      <tr><td class="lineno" valign="top"></td><td class="left">   representation, thereby clarifying what it applies to in various</td><td> </td><td class="right">   representation, thereby clarifying what it applies to in various</td><td class="lineno" valign="top"></td></tr>
400      <tr><td><a name="diff0026" /></td></tr>
401      <tr><td class="lineno" valign="top"></td><td class="lblock">   situations (such as a PUT response)<span class="delete">.  (Section 2.3)</span></td><td> </td><td class="rblock">   situations (such as a PUT response)<span class="insert"> (Section 2.3).</span></td><td class="lineno" valign="top"></td></tr>
402      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
403      <tr><td class="lineno" valign="top"></td><td class="left">   The precedence for evaluation of conditional requests has been</td><td> </td><td class="right">   The precedence for evaluation of conditional requests has been</td><td class="lineno" valign="top"></td></tr>
404      <tr><td><a name="diff0027" /></td></tr>
405      <tr><td class="lineno" valign="top"></td><td class="lblock">   defined<span class="delete">.  (Section 6)</span></td><td> </td><td class="rblock">   defined<span class="insert"> (Section 6).</span></td><td class="lineno" valign="top"></td></tr>
406      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
407      <tr><td class="lineno" valign="top"></td><td class="left">Appendix B.  Imported ABNF</td><td> </td><td class="right">Appendix B.  Imported ABNF</td><td class="lineno" valign="top"></td></tr>
408      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
409      <tr><td class="lineno" valign="top"></td><td class="left">   The following core rules are included by reference, as defined in</td><td> </td><td class="right">   The following core rules are included by reference, as defined in</td><td class="lineno" valign="top"></td></tr>
410      <tr><td class="lineno" valign="top"></td><td class="left">   Appendix B.1 of [RFC5234]: ALPHA (letters), CR (carriage return),</td><td> </td><td class="right">   Appendix B.1 of [RFC5234]: ALPHA (letters), CR (carriage return),</td><td class="lineno" valign="top"></td></tr>
411      <tr><td class="lineno" valign="top"></td><td class="left">   CRLF (CR LF), CTL (controls), DIGIT (decimal 0-9), DQUOTE (double</td><td> </td><td class="right">   CRLF (CR LF), CTL (controls), DIGIT (decimal 0-9), DQUOTE (double</td><td class="lineno" valign="top"></td></tr>
412      <tr><td class="lineno" valign="top"></td><td class="left">   quote), HEXDIG (hexadecimal 0-9/A-F/a-f), LF (line feed), OCTET (any</td><td> </td><td class="right">   quote), HEXDIG (hexadecimal 0-9/A-F/a-f), LF (line feed), OCTET (any</td><td class="lineno" valign="top"></td></tr>
413      <tr><td class="lineno" valign="top"></td><td class="left">   8-bit sequence of data), SP (space), and VCHAR (any visible US-ASCII</td><td> </td><td class="right">   8-bit sequence of data), SP (space), and VCHAR (any visible US-ASCII</td><td class="lineno" valign="top"></td></tr>
414      <tr><td class="lineno" valign="top"></td><td class="left">   character).</td><td> </td><td class="right">   character).</td><td class="lineno" valign="top"></td></tr>
415      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
416      <tr><td class="lineno" valign="top"></td><td class="left">   The rules below are defined in [RFC7230]:</td><td> </td><td class="right">   The rules below are defined in [RFC7230]:</td><td class="lineno" valign="top"></td></tr>
417      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
418      <tr><td><a name="diff0028" /></td></tr>
419      <tr><td class="lineno" valign="top"></td><td class="lblock">     OWS           = &lt;OWS, <span class="delete">see</span> [RFC7230], Section 3.2.3&gt;</td><td> </td><td class="rblock">     OWS           = &lt;OWS, <span class="insert">defined in</span> [RFC7230], Section 3.2.3&gt;</td><td class="lineno" valign="top"></td></tr>
420      <tr><td class="lineno" valign="top"></td><td class="lblock">     obs-text      = &lt;obs-text, <span class="delete">see</span> [RFC7230], Section 3.2.6&gt;</td><td> </td><td class="rblock">     obs-text      = &lt;obs-text, <span class="insert">defined in</span> [RFC7230], Section 3.2.6&gt;</td><td class="lineno" valign="top"></td></tr>
421      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
422      <tr><td><a name="diff0029" /></td></tr>
423      <tr><td class="lineno" valign="top"></td><td class="lblock">   The rule<span class="delete">s below are defined in other parts</span>:</td><td> </td><td class="rblock">   The rule<span class="insert"> below is defined in [RFC7231]</span>:</td><td class="lineno" valign="top"></td></tr>
424      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
425      <tr><td><a name="diff0030" /></td></tr>
426      <tr><td class="lineno" valign="top"></td><td class="lblock">     HTTP-date     = &lt;HTTP-date, <span class="delete">see</span> [RFC7231], Section 7.1.1.1&gt;</td><td> </td><td class="rblock">     HTTP-date     = &lt;HTTP-date, <span class="insert">defined in</span> [RFC7231], Section 7.1.1.1&gt;</td><td class="lineno" valign="top"></td></tr>
427      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
428      <tr><td class="lineno" valign="top"></td><td class="left">Appendix C.  Collected ABNF</td><td> </td><td class="right">Appendix C.  Collected ABNF</td><td class="lineno" valign="top"></td></tr>
429      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
430      <tr><td class="lineno" valign="top"></td><td class="left">   In the collected ABNF below, list rules are expanded as per Section</td><td> </td><td class="right">   In the collected ABNF below, list rules are expanded as per Section</td><td class="lineno" valign="top"></td></tr>
431      <tr><td class="lineno" valign="top"></td><td class="left">   1.2 of [RFC7230].</td><td> </td><td class="right">   1.2 of [RFC7230].</td><td class="lineno" valign="top"></td></tr>
432      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
433      <tr><td class="lineno" valign="top"></td><td class="left">   ETag = entity-tag</td><td> </td><td class="right">   ETag = entity-tag</td><td class="lineno" valign="top"></td></tr>
434      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
435      <tr><td><a name="diff0031" /></td></tr>
436      <tr><td class="lineno" valign="top"></td><td class="lblock">   HTTP-date = &lt;HTTP-date, <span class="delete">see</span> [RFC7231], Section 7.1.1.1&gt;</td><td> </td><td class="rblock">   HTTP-date = &lt;HTTP-date, <span class="insert">defined in</span> [RFC7231], Section 7.1.1.1&gt;</td><td class="lineno" valign="top"></td></tr>
437      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
438      <tr><td class="lineno" valign="top"></td><td class="left">   If-Match = "*" / ( *( "," OWS ) entity-tag *( OWS "," [ OWS</td><td> </td><td class="right">   If-Match = "*" / ( *( "," OWS ) entity-tag *( OWS "," [ OWS</td><td class="lineno" valign="top"></td></tr>
439      <tr><td class="lineno" valign="top"></td><td class="left">    entity-tag ] ) )</td><td> </td><td class="right">    entity-tag ] ) )</td><td class="lineno" valign="top"></td></tr>
440      <tr><td class="lineno" valign="top"></td><td class="left">   If-Modified-Since = HTTP-date</td><td> </td><td class="right">   If-Modified-Since = HTTP-date</td><td class="lineno" valign="top"></td></tr>
441      <tr><td class="lineno" valign="top"></td><td class="left">   If-None-Match = "*" / ( *( "," OWS ) entity-tag *( OWS "," [ OWS</td><td> </td><td class="right">   If-None-Match = "*" / ( *( "," OWS ) entity-tag *( OWS "," [ OWS</td><td class="lineno" valign="top"></td></tr>
442      <tr><td class="lineno" valign="top"></td><td class="left">    entity-tag ] ) )</td><td> </td><td class="right">    entity-tag ] ) )</td><td class="lineno" valign="top"></td></tr>
443      <tr><td class="lineno" valign="top"></td><td class="left">   If-Unmodified-Since = HTTP-date</td><td> </td><td class="right">   If-Unmodified-Since = HTTP-date</td><td class="lineno" valign="top"></td></tr>
444      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
445      <tr><td class="lineno" valign="top"></td><td class="left">   Last-Modified = HTTP-date</td><td> </td><td class="right">   Last-Modified = HTTP-date</td><td class="lineno" valign="top"></td></tr>
446      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
447      <tr><td><a name="diff0032" /></td></tr>
448      <tr><td class="lineno" valign="top"></td><td class="lblock">   OWS = &lt;OWS, <span class="delete">see</span> [RFC7230], Section 3.2.3&gt;</td><td> </td><td class="rblock">   OWS = &lt;OWS, <span class="insert">defined in</span> [RFC7230], Section 3.2.3&gt;</td><td class="lineno" valign="top"></td></tr>
449      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
450      <tr><td class="lineno" valign="top"></td><td class="left">   entity-tag = [ weak ] opaque-tag</td><td> </td><td class="right">   entity-tag = [ weak ] opaque-tag</td><td class="lineno" valign="top"></td></tr>
451      <tr><td class="lineno" valign="top"></td><td class="left">   etagc = "!" / %x23-7E ; '#'-'~'</td><td> </td><td class="right">   etagc = "!" / %x23-7E ; '#'-'~'</td><td class="lineno" valign="top"></td></tr>
452      <tr><td class="lineno" valign="top"></td><td class="left">    / obs-text</td><td> </td><td class="right">    / obs-text</td><td class="lineno" valign="top"></td></tr>
453      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
454      <tr><td><a name="diff0033" /></td></tr>
455      <tr><td class="lineno" valign="top"></td><td class="lblock">   obs-text = &lt;obs-text, <span class="delete">see</span> [RFC7230], Section 3.2.6&gt;</td><td> </td><td class="rblock">   obs-text = &lt;obs-text, <span class="insert">defined in</span> [RFC7230], Section 3.2.6&gt;</td><td class="lineno" valign="top"></td></tr>
456      <tr><td class="lineno" valign="top"></td><td class="left">   opaque-tag = DQUOTE *etagc DQUOTE</td><td> </td><td class="right">   opaque-tag = DQUOTE *etagc DQUOTE</td><td class="lineno" valign="top"></td></tr>
457      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
458      <tr><td class="lineno" valign="top"></td><td class="left">   weak = %x57.2F ; W/</td><td> </td><td class="right">   weak = %x57.2F ; W/</td><td class="lineno" valign="top"></td></tr>
459      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
460      <tr><td class="lineno" valign="top"></td><td class="left">Index</td><td> </td><td class="right">Index</td><td class="lineno" valign="top"></td></tr>
461      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
462      <tr><td class="lineno" valign="top"></td><td class="left">   3</td><td> </td><td class="right">   3</td><td class="lineno" valign="top"></td></tr>
463      <tr><td class="lineno" valign="top"></td><td class="left">      304 Not Modified (status code)  18</td><td> </td><td class="right">      304 Not Modified (status code)  18</td><td class="lineno" valign="top"></td></tr>
464      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
465      <tr><td class="lineno" valign="top"></td><td class="left">   4</td><td> </td><td class="right">   4</td><td class="lineno" valign="top"></td></tr>
466
467     <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr>
468     <tr bgcolor="gray"><th colspan="5" align="center"><a name="end">&nbsp;End of changes. 33 change blocks.&nbsp;</a></th></tr>
469     <tr class="stats"><td></td><th><i>85 lines changed or deleted</i></th><th><i> </i></th><th><i>65 lines changed or added</i></th><td></td></tr>
470     <tr><td colspan="5" align="center" class="small"><br/>This html diff was produced by rfcdiff 1.38. The latest version is available from <a href="http://www.tools.ietf.org/tools/rfcdiff/" >http://tools.ietf.org/tools/rfcdiff/</a> </td></tr>
471   </table>
472   </body>
473   </html>
Note: See TracBrowser for help on using the repository browser.