source: draft-ietf-httpbis/diffs/draft-ietf-httpbis-p4-conditional-13-from-12.diff.html @ 1391

Last change on this file since 1391 was 1180, checked in by julian.reschke@…, 9 years ago

prepare publication of -13

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/html; charset=iso-8859-1
File size: 145.0 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: draft-ietf-httpbis-p4-conditional-12.txt - draft-ietf-httpbis-p4-conditional-13.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;draft-ietf-httpbis-p4-conditional-12.txt&nbsp;</th><th> </th><th>&nbsp;draft-ietf-httpbis-p4-conditional-13.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 class="lineno" valign="top"></td><td class="left">HTTPbis Working Group                                   R. Fielding, Ed.</td><td> </td><td class="right">HTTPbis Working Group                                   R. Fielding, Ed.</td><td class="lineno" valign="top"></td></tr>
41      <tr><td><a name="diff0001" /></td></tr>
42      <tr><td class="lineno" valign="top"></td><td class="lblock">Internet-Draft                                              <span class="delete">Day Softwar</span>e</td><td> </td><td class="rblock">Internet-Draft                                              <span class="insert">       Adob</span>e</td><td class="lineno" valign="top"></td></tr>
43      <tr><td class="lineno" valign="top"></td><td class="left">Obsoletes: 2616 (if approved)                                  J. Gettys</td><td> </td><td class="right">Obsoletes: 2616 (if approved)                                  J. Gettys</td><td class="lineno" valign="top"></td></tr>
44      <tr><td class="lineno" valign="top"></td><td class="left">Intended status: Standards Track                          Alcatel-Lucent</td><td> </td><td class="right">Intended status: Standards Track                          Alcatel-Lucent</td><td class="lineno" valign="top"></td></tr>
45      <tr><td><a name="diff0002" /></td></tr>
46      <tr><td class="lineno" valign="top"></td><td class="lblock">Expires: <span class="delete">April 28, 2011    </span>                                     J. Mogul</td><td> </td><td class="rblock">Expires: <span class="insert">September 15, 2011</span>                                     J. Mogul</td><td class="lineno" valign="top"></td></tr>
47      <tr><td class="lineno" valign="top"></td><td class="left">                                                                      HP</td><td> </td><td class="right">                                                                      HP</td><td class="lineno" valign="top"></td></tr>
48      <tr><td class="lineno" valign="top"></td><td class="left">                                                              H. Frystyk</td><td> </td><td class="right">                                                              H. Frystyk</td><td class="lineno" valign="top"></td></tr>
49      <tr><td class="lineno" valign="top"></td><td class="left">                                                               Microsoft</td><td> </td><td class="right">                                                               Microsoft</td><td class="lineno" valign="top"></td></tr>
50      <tr><td class="lineno" valign="top"></td><td class="left">                                                             L. Masinter</td><td> </td><td class="right">                                                             L. Masinter</td><td class="lineno" valign="top"></td></tr>
51      <tr><td><a name="diff0003" /></td></tr>
52      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                           <span class="delete">Adobe Systems</span></td><td> </td><td class="rblock">                                                           <span class="insert">        Adobe</span></td><td class="lineno" valign="top"></td></tr>
53      <tr><td class="lineno" valign="top"></td><td class="left">                                                                P. Leach</td><td> </td><td class="right">                                                                P. Leach</td><td class="lineno" valign="top"></td></tr>
54      <tr><td class="lineno" valign="top"></td><td class="left">                                                               Microsoft</td><td> </td><td class="right">                                                               Microsoft</td><td class="lineno" valign="top"></td></tr>
55      <tr><td class="lineno" valign="top"></td><td class="left">                                                          T. Berners-Lee</td><td> </td><td class="right">                                                          T. Berners-Lee</td><td class="lineno" valign="top"></td></tr>
56      <tr><td class="lineno" valign="top"></td><td class="left">                                                                 W3C/MIT</td><td> </td><td class="right">                                                                 W3C/MIT</td><td class="lineno" valign="top"></td></tr>
57      <tr><td class="lineno" valign="top"></td><td class="left">                                                           Y. Lafon, Ed.</td><td> </td><td class="right">                                                           Y. Lafon, Ed.</td><td class="lineno" valign="top"></td></tr>
58      <tr><td class="lineno" valign="top"></td><td class="left">                                                                     W3C</td><td> </td><td class="right">                                                                     W3C</td><td class="lineno" valign="top"></td></tr>
59      <tr><td class="lineno" valign="top"></td><td class="left">                                                         J. Reschke, Ed.</td><td> </td><td class="right">                                                         J. Reschke, Ed.</td><td class="lineno" valign="top"></td></tr>
60      <tr><td class="lineno" valign="top"></td><td class="left">                                                              greenbytes</td><td> </td><td class="right">                                                              greenbytes</td><td class="lineno" valign="top"></td></tr>
61      <tr><td><a name="diff0004" /></td></tr>
62      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                        <span class="delete">October 25, 2010</span></td><td> </td><td class="rblock">                                                        <span class="insert">  March 14, 2011</span></td><td class="lineno" valign="top"></td></tr>
63      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
64      <tr><td class="lineno" valign="top"></td><td class="left">                 HTTP/1.1, part 4: Conditional Requests</td><td> </td><td class="right">                 HTTP/1.1, part 4: Conditional Requests</td><td class="lineno" valign="top"></td></tr>
65      <tr><td><a name="diff0005" /></td></tr>
66      <tr><td class="lineno" valign="top"></td><td class="lblock">                  draft-ietf-httpbis-p4-conditional-1<span class="delete">2</span></td><td> </td><td class="rblock">                  draft-ietf-httpbis-p4-conditional-1<span class="insert">3</span></td><td class="lineno" valign="top"></td></tr>
67      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
68      <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>
69      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
70      <tr><td class="lineno" valign="top"></td><td class="left">   The Hypertext Transfer Protocol (HTTP) is an application-level</td><td> </td><td class="right">   The Hypertext Transfer Protocol (HTTP) is an application-level</td><td class="lineno" valign="top"></td></tr>
71      <tr><td class="lineno" valign="top"></td><td class="left">   protocol for distributed, collaborative, hypermedia information</td><td> </td><td class="right">   protocol for distributed, collaborative, hypermedia information</td><td class="lineno" valign="top"></td></tr>
72      <tr><td class="lineno" valign="top"></td><td class="left">   systems.  HTTP has been in use by the World Wide Web global</td><td> </td><td class="right">   systems.  HTTP has been in use by the World Wide Web global</td><td class="lineno" valign="top"></td></tr>
73      <tr><td class="lineno" valign="top"></td><td class="left">   information initiative since 1990.  This document is Part 4 of the</td><td> </td><td class="right">   information initiative since 1990.  This document is Part 4 of the</td><td class="lineno" valign="top"></td></tr>
74      <tr><td class="lineno" valign="top"></td><td class="left">   seven-part specification that defines the protocol referred to as</td><td> </td><td class="right">   seven-part specification that defines the protocol referred to as</td><td class="lineno" valign="top"></td></tr>
75      <tr><td class="lineno" valign="top"></td><td class="left">   "HTTP/1.1" and, taken together, obsoletes RFC 2616.  Part 4 defines</td><td> </td><td class="right">   "HTTP/1.1" and, taken together, obsoletes RFC 2616.  Part 4 defines</td><td class="lineno" valign="top"></td></tr>
76      <tr><td class="lineno" valign="top"></td><td class="left">   request header fields for indicating conditional requests and the</td><td> </td><td class="right">   request header fields for indicating conditional requests and the</td><td class="lineno" valign="top"></td></tr>
77      <tr><td class="lineno" valign="top"></td><td class="left">   rules for constructing responses to those requests.</td><td> </td><td class="right">   rules for constructing responses to those requests.</td><td class="lineno" valign="top"></td></tr>
78      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
79      <tr><td class="lineno" valign="top"></td><td class="left">Editorial Note (To be removed by RFC Editor)</td><td> </td><td class="right">Editorial Note (To be removed by RFC Editor)</td><td class="lineno" valign="top"></td></tr>
80      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
81      <tr><td class="lineno" valign="top"></td><td class="left">   Discussion of this draft should take place on the HTTPBIS working</td><td> </td><td class="right">   Discussion of this draft should take place on the HTTPBIS working</td><td class="lineno" valign="top"></td></tr>
82      <tr><td class="lineno" valign="top"></td><td class="left">   group mailing list (ietf-http-wg@w3.org).  The current issues list is</td><td> </td><td class="right">   group mailing list (ietf-http-wg@w3.org).  The current issues list is</td><td class="lineno" valign="top"></td></tr>
83      <tr><td class="lineno" valign="top"></td><td class="left">   at &lt;http://tools.ietf.org/wg/httpbis/trac/report/3&gt; and related</td><td> </td><td class="right">   at &lt;http://tools.ietf.org/wg/httpbis/trac/report/3&gt; and related</td><td class="lineno" valign="top"></td></tr>
84      <tr><td class="lineno" valign="top"></td><td class="left">   documents (including fancy diffs) can be found at</td><td> </td><td class="right">   documents (including fancy diffs) can be found at</td><td class="lineno" valign="top"></td></tr>
85      <tr><td class="lineno" valign="top"></td><td class="left">   &lt;http://tools.ietf.org/wg/httpbis/&gt;.</td><td> </td><td class="right">   &lt;http://tools.ietf.org/wg/httpbis/&gt;.</td><td class="lineno" valign="top"></td></tr>
86      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
87      <tr><td><a name="diff0006" /></td></tr>
88      <tr><td class="lineno" valign="top"></td><td class="lblock">   The changes in this draft are summarized in Appendix C.1<span class="delete">3</span>.</td><td> </td><td class="rblock">   The changes in this draft are summarized in Appendix C.1<span class="insert">4</span>.</td><td class="lineno" valign="top"></td></tr>
89      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
90      <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>
91      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
92      <tr><td class="lineno" valign="top"></td><td class="left">   This Internet-Draft is submitted in full conformance with the</td><td> </td><td class="right">   This Internet-Draft is submitted in full conformance with the</td><td class="lineno" valign="top"></td></tr>
93      <tr><td class="lineno" valign="top"></td><td class="left">   provisions of BCP 78 and BCP 79.</td><td> </td><td class="right">   provisions of BCP 78 and BCP 79.</td><td class="lineno" valign="top"></td></tr>
94      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
95      <tr><td class="lineno" valign="top"></td><td class="left">   Internet-Drafts are working documents of the Internet Engineering</td><td> </td><td class="right">   Internet-Drafts are working documents of the Internet Engineering</td><td class="lineno" valign="top"></td></tr>
96      <tr><td class="lineno" valign="top"></td><td class="left">   Task Force (IETF).  Note that other groups may also distribute</td><td> </td><td class="right">   Task Force (IETF).  Note that other groups may also distribute</td><td class="lineno" valign="top"></td></tr>
97      <tr><td class="lineno" valign="top"></td><td class="left">   working documents as Internet-Drafts.  The list of current Internet-</td><td> </td><td class="right">   working documents as Internet-Drafts.  The list of current Internet-</td><td class="lineno" valign="top"></td></tr>
98      <tr><td class="lineno" valign="top"></td><td class="left">   Drafts is at http://datatracker.ietf.org/drafts/current/.</td><td> </td><td class="right">   Drafts is at http://datatracker.ietf.org/drafts/current/.</td><td class="lineno" valign="top"></td></tr>
99      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
100      <tr><td class="lineno" valign="top"></td><td class="left">   Internet-Drafts are draft documents valid for a maximum of six months</td><td> </td><td class="right">   Internet-Drafts are draft documents valid for a maximum of six months</td><td class="lineno" valign="top"></td></tr>
101      <tr><td class="lineno" valign="top"></td><td class="left">   and may be updated, replaced, or obsoleted by other documents at any</td><td> </td><td class="right">   and may be updated, replaced, or obsoleted by other documents at any</td><td class="lineno" valign="top"></td></tr>
102      <tr><td class="lineno" valign="top"></td><td class="left">   time.  It is inappropriate to use Internet-Drafts as reference</td><td> </td><td class="right">   time.  It is inappropriate to use Internet-Drafts as reference</td><td class="lineno" valign="top"></td></tr>
103      <tr><td class="lineno" valign="top"></td><td class="left">   material or to cite them other than as "work in progress."</td><td> </td><td class="right">   material or to cite them other than as "work in progress."</td><td class="lineno" valign="top"></td></tr>
104      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
105      <tr><td><a name="diff0007" /></td></tr>
106      <tr><td class="lineno" valign="top"></td><td class="lblock">   This Internet-Draft will expire on <span class="delete">April 28</span>, 2011.</td><td> </td><td class="rblock">   This Internet-Draft will expire on <span class="insert">September 15</span>, 2011.</td><td class="lineno" valign="top"></td></tr>
107      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
108      <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>
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><a name="diff0008" /></td></tr>
111      <tr><td class="lineno" valign="top"></td><td class="lblock">   Copyright (c) 201<span class="delete">0</span> IETF Trust and the persons identified as the</td><td> </td><td class="rblock">   Copyright (c) 201<span class="insert">1</span> IETF Trust and the persons identified as the</td><td class="lineno" valign="top"></td></tr>
112      <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>
113      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
114      <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>
115      <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>
116      <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>
117      <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>
118      <tr><td class="lineno" valign="top"></td><td class="left">   carefully, as they describe your rights and restrictions with respect</td><td> </td><td class="right">   carefully, as they describe your rights and restrictions with respect</td><td class="lineno" valign="top"></td></tr>
119      <tr><td class="lineno" valign="top"></td><td class="left">   to this document.  Code Components extracted from this document must</td><td> </td><td class="right">   to this document.  Code Components extracted from this document must</td><td class="lineno" valign="top"></td></tr>
120      <tr><td class="lineno" valign="top"></td><td class="left">   include Simplified BSD License text as described in Section 4.e of</td><td> </td><td class="right">   include Simplified BSD License text as described in Section 4.e of</td><td class="lineno" valign="top"></td></tr>
121      <tr><td class="lineno" valign="top"></td><td class="left">   the Trust Legal Provisions and are provided without warranty as</td><td> </td><td class="right">   the Trust Legal Provisions and are provided without warranty as</td><td class="lineno" valign="top"></td></tr>
122      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
123      <tr bgcolor="gray" ><td></td><th><a name="part-l2" /><small>skipping to change at</small><em> page 3, line 29</em></th><th> </th><th><a name="part-r2" /><small>skipping to change at</small><em> page 3, line 29</em></th><td></td></tr>
124      <tr><td class="lineno" valign="top"></td><td class="left">   4.  Weak and Strong Validators . . . . . . . . . . . . . . . . . .  9</td><td> </td><td class="right">   4.  Weak and Strong Validators . . . . . . . . . . . . . . . . . .  9</td><td class="lineno" valign="top"></td></tr>
125      <tr><td class="lineno" valign="top"></td><td class="left">   5.  Rules for When to Use Entity-tags and Last-Modified Dates  . . 11</td><td> </td><td class="right">   5.  Rules for When to Use Entity-tags and Last-Modified Dates  . . 11</td><td class="lineno" valign="top"></td></tr>
126      <tr><td class="lineno" valign="top"></td><td class="left">   6.  Header Field Definitions . . . . . . . . . . . . . . . . . . . 13</td><td> </td><td class="right">   6.  Header Field Definitions . . . . . . . . . . . . . . . . . . . 13</td><td class="lineno" valign="top"></td></tr>
127      <tr><td class="lineno" valign="top"></td><td class="left">     6.1.  ETag . . . . . . . . . . . . . . . . . . . . . . . . . . . 13</td><td> </td><td class="right">     6.1.  ETag . . . . . . . . . . . . . . . . . . . . . . . . . . . 13</td><td class="lineno" valign="top"></td></tr>
128      <tr><td class="lineno" valign="top"></td><td class="left">     6.2.  If-Match . . . . . . . . . . . . . . . . . . . . . . . . . 14</td><td> </td><td class="right">     6.2.  If-Match . . . . . . . . . . . . . . . . . . . . . . . . . 14</td><td class="lineno" valign="top"></td></tr>
129      <tr><td class="lineno" valign="top"></td><td class="left">     6.3.  If-Modified-Since  . . . . . . . . . . . . . . . . . . . . 15</td><td> </td><td class="right">     6.3.  If-Modified-Since  . . . . . . . . . . . . . . . . . . . . 15</td><td class="lineno" valign="top"></td></tr>
130      <tr><td class="lineno" valign="top"></td><td class="left">     6.4.  If-None-Match  . . . . . . . . . . . . . . . . . . . . . . 17</td><td> </td><td class="right">     6.4.  If-None-Match  . . . . . . . . . . . . . . . . . . . . . . 17</td><td class="lineno" valign="top"></td></tr>
131      <tr><td class="lineno" valign="top"></td><td class="left">     6.5.  If-Unmodified-Since  . . . . . . . . . . . . . . . . . . . 18</td><td> </td><td class="right">     6.5.  If-Unmodified-Since  . . . . . . . . . . . . . . . . . . . 18</td><td class="lineno" valign="top"></td></tr>
132      <tr><td class="lineno" valign="top"></td><td class="left">     6.6.  Last-Modified  . . . . . . . . . . . . . . . . . . . . . . 19</td><td> </td><td class="right">     6.6.  Last-Modified  . . . . . . . . . . . . . . . . . . . . . . 19</td><td class="lineno" valign="top"></td></tr>
133      <tr><td class="lineno" valign="top"></td><td class="left">   7.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 19</td><td> </td><td class="right">   7.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 19</td><td class="lineno" valign="top"></td></tr>
134      <tr><td><a name="diff0009" /></td></tr>
135      <tr><td class="lineno" valign="top"></td><td class="lblock">     7.1.  Status Code Registration . . . . . . . . . . . . . . . . . <span class="delete">20</span></td><td> </td><td class="rblock">     7.1.  Status Code Registration . . . . . . . . . . . . . . . . . <span class="insert">19</span></td><td class="lineno" valign="top"></td></tr>
136      <tr><td class="lineno" valign="top"></td><td class="left">     7.2.  Header Field Registration  . . . . . . . . . . . . . . . . 20</td><td> </td><td class="right">     7.2.  Header Field Registration  . . . . . . . . . . . . . . . . 20</td><td class="lineno" valign="top"></td></tr>
137      <tr><td class="lineno" valign="top"></td><td class="left">   8.  Security Considerations  . . . . . . . . . . . . . . . . . . . 20</td><td> </td><td class="right">   8.  Security Considerations  . . . . . . . . . . . . . . . . . . . 20</td><td class="lineno" valign="top"></td></tr>
138      <tr><td class="lineno" valign="top"></td><td class="left">   9.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 20</td><td> </td><td class="right">   9.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 20</td><td class="lineno" valign="top"></td></tr>
139      <tr><td class="lineno" valign="top"></td><td class="left">   10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 20</td><td> </td><td class="right">   10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 20</td><td class="lineno" valign="top"></td></tr>
140      <tr><td class="lineno" valign="top"></td><td class="left">     10.1. Normative References . . . . . . . . . . . . . . . . . . . 20</td><td> </td><td class="right">     10.1. Normative References . . . . . . . . . . . . . . . . . . . 20</td><td class="lineno" valign="top"></td></tr>
141      <tr><td class="lineno" valign="top"></td><td class="left">     10.2. Informative References . . . . . . . . . . . . . . . . . . 21</td><td> </td><td class="right">     10.2. Informative References . . . . . . . . . . . . . . . . . . 21</td><td class="lineno" valign="top"></td></tr>
142      <tr><td class="lineno" valign="top"></td><td class="left">   Appendix A.  Changes from RFC 2616 . . . . . . . . . . . . . . . . 21</td><td> </td><td class="right">   Appendix A.  Changes from RFC 2616 . . . . . . . . . . . . . . . . 21</td><td class="lineno" valign="top"></td></tr>
143      <tr><td class="lineno" valign="top"></td><td class="left">   Appendix B.  Collected ABNF  . . . . . . . . . . . . . . . . . . . 22</td><td> </td><td class="right">   Appendix B.  Collected ABNF  . . . . . . . . . . . . . . . . . . . 22</td><td class="lineno" valign="top"></td></tr>
144      <tr><td class="lineno" valign="top"></td><td class="left">   Appendix C.  Change Log (to be removed by RFC Editor before</td><td> </td><td class="right">   Appendix C.  Change Log (to be removed by RFC Editor before</td><td class="lineno" valign="top"></td></tr>
145      <tr><td class="lineno" valign="top"></td><td class="left">                publication)  . . . . . . . . . . . . . . . . . . . . 22</td><td> </td><td class="right">                publication)  . . . . . . . . . . . . . . . . . . . . 22</td><td class="lineno" valign="top"></td></tr>
146      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
147      <tr bgcolor="gray" ><td></td><th><a name="part-l3" /><small>skipping to change at</small><em> page 4, line 4</em></th><th> </th><th><a name="part-r3" /><small>skipping to change at</small><em> page 4, line 4</em></th><td></td></tr>
148      <tr><td class="lineno" valign="top"></td><td class="left">     C.4.  Since draft-ietf-httpbis-p4-conditional-02 . . . . . . . . 23</td><td> </td><td class="right">     C.4.  Since draft-ietf-httpbis-p4-conditional-02 . . . . . . . . 23</td><td class="lineno" valign="top"></td></tr>
149      <tr><td class="lineno" valign="top"></td><td class="left">     C.5.  Since draft-ietf-httpbis-p4-conditional-03 . . . . . . . . 23</td><td> </td><td class="right">     C.5.  Since draft-ietf-httpbis-p4-conditional-03 . . . . . . . . 23</td><td class="lineno" valign="top"></td></tr>
150      <tr><td class="lineno" valign="top"></td><td class="left">     C.6.  Since draft-ietf-httpbis-p4-conditional-04 . . . . . . . . 24</td><td> </td><td class="right">     C.6.  Since draft-ietf-httpbis-p4-conditional-04 . . . . . . . . 24</td><td class="lineno" valign="top"></td></tr>
151      <tr><td class="lineno" valign="top"></td><td class="left">     C.7.  Since draft-ietf-httpbis-p4-conditional-05 . . . . . . . . 24</td><td> </td><td class="right">     C.7.  Since draft-ietf-httpbis-p4-conditional-05 . . . . . . . . 24</td><td class="lineno" valign="top"></td></tr>
152      <tr><td class="lineno" valign="top"></td><td class="left">     C.8.  Since draft-ietf-httpbis-p4-conditional-06 . . . . . . . . 24</td><td> </td><td class="right">     C.8.  Since draft-ietf-httpbis-p4-conditional-06 . . . . . . . . 24</td><td class="lineno" valign="top"></td></tr>
153      <tr><td class="lineno" valign="top"></td><td class="left">     C.9.  Since draft-ietf-httpbis-p4-conditional-07 . . . . . . . . 24</td><td> </td><td class="right">     C.9.  Since draft-ietf-httpbis-p4-conditional-07 . . . . . . . . 24</td><td class="lineno" valign="top"></td></tr>
154      <tr><td class="lineno" valign="top"></td><td class="left">     C.10. Since draft-ietf-httpbis-p4-conditional-08 . . . . . . . . 24</td><td> </td><td class="right">     C.10. Since draft-ietf-httpbis-p4-conditional-08 . . . . . . . . 24</td><td class="lineno" valign="top"></td></tr>
155      <tr><td class="lineno" valign="top"></td><td class="left">     C.11. Since draft-ietf-httpbis-p4-conditional-09 . . . . . . . . 24</td><td> </td><td class="right">     C.11. Since draft-ietf-httpbis-p4-conditional-09 . . . . . . . . 24</td><td class="lineno" valign="top"></td></tr>
156      <tr><td class="lineno" valign="top"></td><td class="left">     C.12. Since draft-ietf-httpbis-p4-conditional-10 . . . . . . . . 25</td><td> </td><td class="right">     C.12. Since draft-ietf-httpbis-p4-conditional-10 . . . . . . . . 25</td><td class="lineno" valign="top"></td></tr>
157      <tr><td class="lineno" valign="top"></td><td class="left">     C.13. Since draft-ietf-httpbis-p4-conditional-11 . . . . . . . . 25</td><td> </td><td class="right">     C.13. Since draft-ietf-httpbis-p4-conditional-11 . . . . . . . . 25</td><td class="lineno" valign="top"></td></tr>
158      <tr><td><a name="diff0010" /></td></tr>
159      <tr><td class="lineno" valign="top"></td><td class="lblock">     <span class="delete">                                                                    </span></td><td> </td><td class="rblock">     <span class="insert">C.14. Since draft-ietf-httpbis-p4-conditional-12 . . . . . . . . 25</span></td><td class="lineno" valign="top"></td></tr>
160      <tr><td class="lineno" valign="top"></td><td class="left">   Index  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25</td><td> </td><td class="right">   Index  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25</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">1.  Introduction</td><td> </td><td class="right">1.  Introduction</td><td class="lineno" valign="top"></td></tr>
163      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
164      <tr><td class="lineno" valign="top"></td><td class="left">   This document defines HTTP/1.1 response metadata for indicating</td><td> </td><td class="right">   This document defines HTTP/1.1 response metadata for indicating</td><td class="lineno" valign="top"></td></tr>
165      <tr><td class="lineno" valign="top"></td><td class="left">   potential changes to payload content, including modification time</td><td> </td><td class="right">   potential changes to payload content, including modification time</td><td class="lineno" valign="top"></td></tr>
166      <tr><td class="lineno" valign="top"></td><td class="left">   stamps and opaque entity-tags, and the HTTP conditional request</td><td> </td><td class="right">   stamps and opaque entity-tags, and the HTTP conditional request</td><td class="lineno" valign="top"></td></tr>
167      <tr><td class="lineno" valign="top"></td><td class="left">   mechanisms that allow preconditions to be placed on a request method.</td><td> </td><td class="right">   mechanisms that allow preconditions to be placed on a request method.</td><td class="lineno" valign="top"></td></tr>
168      <tr><td class="lineno" valign="top"></td><td class="left">   Conditional GET requests allow for efficient cache updates.  Other</td><td> </td><td class="right">   Conditional GET requests allow for efficient cache updates.  Other</td><td class="lineno" valign="top"></td></tr>
169      <tr><td class="lineno" valign="top"></td><td class="left">   conditional request methods are used to protect against overwriting</td><td> </td><td class="right">   conditional request methods are used to protect against overwriting</td><td class="lineno" valign="top"></td></tr>
170      <tr><td class="lineno" valign="top"></td><td class="left">   or misunderstanding the state of a resource that has been changed</td><td> </td><td class="right">   or misunderstanding the state of a resource that has been changed</td><td class="lineno" valign="top"></td></tr>
171      <tr><td class="lineno" valign="top"></td><td class="left">   unbeknownst to the requesting client.</td><td> </td><td class="right">   unbeknownst to the requesting client.</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">   This document is currently disorganized in order to minimize the</td><td> </td><td class="right">   This document is currently disorganized in order to minimize the</td><td class="lineno" valign="top"></td></tr>
174      <tr><td class="lineno" valign="top"></td><td class="left">   changes between drafts and enable reviewers to see the smaller errata</td><td> </td><td class="right">   changes between drafts and enable reviewers to see the smaller errata</td><td class="lineno" valign="top"></td></tr>
175      <tr><td class="lineno" valign="top"></td><td class="left">   changes.  A future draft will reorganize the sections to better</td><td> </td><td class="right">   changes.  A future draft will reorganize the sections to better</td><td class="lineno" valign="top"></td></tr>
176      <tr><td class="lineno" valign="top"></td><td class="left">   reflect the content.  In particular, the sections on resource</td><td> </td><td class="right">   reflect the content.  In particular, the sections on resource</td><td class="lineno" valign="top"></td></tr>
177      <tr><td class="lineno" valign="top"></td><td class="left">   metadata will be discussed first and then followed by each</td><td> </td><td class="right">   metadata will be discussed first and then followed by each</td><td class="lineno" valign="top"></td></tr>
178      <tr><td><a name="diff0011" /></td></tr>
179      <tr><td class="lineno" valign="top"></td><td class="lblock">   conditional request<span class="delete">-</span>header field, concluding with a definition of</td><td> </td><td class="rblock">   conditional request<span class="insert"> </span>header field, concluding with a definition of</td><td class="lineno" valign="top"></td></tr>
180      <tr><td class="lineno" valign="top"></td><td class="left">   precedence and the expectation of ordering strong validator checks</td><td> </td><td class="right">   precedence and the expectation of ordering strong validator checks</td><td class="lineno" valign="top"></td></tr>
181      <tr><td class="lineno" valign="top"></td><td class="left">   before weak validator checks.  It is likely that more content from</td><td> </td><td class="right">   before weak validator checks.  It is likely that more content from</td><td class="lineno" valign="top"></td></tr>
182      <tr><td class="lineno" valign="top"></td><td class="left">   [Part6] will migrate to this part, where appropriate.  The current</td><td> </td><td class="right">   [Part6] will migrate to this part, where appropriate.  The current</td><td class="lineno" valign="top"></td></tr>
183      <tr><td class="lineno" valign="top"></td><td class="left">   mess reflects how widely dispersed these topics and associated</td><td> </td><td class="right">   mess reflects how widely dispersed these topics and associated</td><td class="lineno" valign="top"></td></tr>
184      <tr><td class="lineno" valign="top"></td><td class="left">   requirements had become in [RFC2616].</td><td> </td><td class="right">   requirements had become in [RFC2616].</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">1.1.  Requirements</td><td> </td><td class="right">1.1.  Requirements</td><td class="lineno" valign="top"></td></tr>
187      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
188      <tr><td class="lineno" valign="top"></td><td class="left">   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",</td><td> </td><td class="right">   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",</td><td class="lineno" valign="top"></td></tr>
189      <tr><td class="lineno" valign="top"></td><td class="left">   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this</td><td> </td><td class="right">   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this</td><td class="lineno" valign="top"></td></tr>
190      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
191      <tr bgcolor="gray" ><td></td><th><a name="part-l4" /><small>skipping to change at</small><em> page 8, line 50</em></th><th> </th><th><a name="part-r4" /><small>skipping to change at</small><em> page 8, line 50</em></th><td></td></tr>
192      <tr><td class="lineno" valign="top"></td><td class="left">   response MAY be forwarded to the outbound client.  Otherwise,</td><td> </td><td class="right">   response MAY be forwarded to the outbound client.  Otherwise,</td><td class="lineno" valign="top"></td></tr>
193      <tr><td class="lineno" valign="top"></td><td class="left">   disregard the response and repeat the request without the</td><td> </td><td class="right">   disregard the response and repeat the request without the</td><td class="lineno" valign="top"></td></tr>
194      <tr><td class="lineno" valign="top"></td><td class="left">   conditional.</td><td> </td><td class="right">   conditional.</td><td class="lineno" valign="top"></td></tr>
195      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
196      <tr><td class="lineno" valign="top"></td><td class="left">   If a cache uses a received 304 response to update a cache entry, the</td><td> </td><td class="right">   If a cache uses a received 304 response to update a cache entry, the</td><td class="lineno" valign="top"></td></tr>
197      <tr><td class="lineno" valign="top"></td><td class="left">   cache MUST update the entry to reflect any new field values given in</td><td> </td><td class="right">   cache MUST update the entry to reflect any new field values given in</td><td class="lineno" valign="top"></td></tr>
198      <tr><td class="lineno" valign="top"></td><td class="left">   the response.</td><td> </td><td class="right">   the response.</td><td class="lineno" valign="top"></td></tr>
199      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
200      <tr><td class="lineno" valign="top"></td><td class="left">3.2.  412 Precondition Failed</td><td> </td><td class="right">3.2.  412 Precondition Failed</td><td class="lineno" valign="top"></td></tr>
201      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
202      <tr><td><a name="diff0012" /></td></tr>
203      <tr><td class="lineno" valign="top"></td><td class="lblock">   The precondition given in one or more of the <span class="delete">request-header</span> fields</td><td> </td><td class="rblock">   The precondition given in one or more of the <span class="insert">header</span> fields evaluated</td><td class="lineno" valign="top"></td></tr>
204      <tr><td class="lineno" valign="top"></td><td class="lblock">   evaluated to false when it was tested on the server.  This response</td><td> </td><td class="rblock">   to false when it was tested on the server.  This response code allows</td><td class="lineno" valign="top"></td></tr>
205      <tr><td class="lineno" valign="top"></td><td class="lblock">   code allows the client to place preconditions on the current resource</td><td> </td><td class="rblock">   the client to place preconditions on the current resource metadata</td><td class="lineno" valign="top"></td></tr>
206      <tr><td class="lineno" valign="top"></td><td class="lblock">   metadata (header field data) and thus prevent the requested method</td><td> </td><td class="rblock">   (header field data) and thus prevent the requested method from being</td><td class="lineno" valign="top"></td></tr>
207      <tr><td class="lineno" valign="top"></td><td class="lblock">   from being applied to a resource other than the one intended.</td><td> </td><td class="rblock">   applied to a resource other than the one intended.</td><td class="lineno" valign="top"></td></tr>
208      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
209      <tr><td class="lineno" valign="top"></td><td class="left">4.  Weak and Strong Validators</td><td> </td><td class="right">4.  Weak and Strong Validators</td><td class="lineno" valign="top"></td></tr>
210      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
211      <tr><td class="lineno" valign="top"></td><td class="left">   Since both origin servers and caches will compare two validators to</td><td> </td><td class="right">   Since both origin servers and caches will compare two validators to</td><td class="lineno" valign="top"></td></tr>
212      <tr><td class="lineno" valign="top"></td><td class="left">   decide if they represent the same or different representations, one</td><td> </td><td class="right">   decide if they represent the same or different representations, one</td><td class="lineno" valign="top"></td></tr>
213      <tr><td class="lineno" valign="top"></td><td class="left">   normally would expect that if the representation (including both</td><td> </td><td class="right">   normally would expect that if the representation (including both</td><td class="lineno" valign="top"></td></tr>
214      <tr><td class="lineno" valign="top"></td><td class="left">   representation header fields and representation body) changes in any</td><td> </td><td class="right">   representation header fields and representation body) changes in any</td><td class="lineno" valign="top"></td></tr>
215      <tr><td class="lineno" valign="top"></td><td class="left">   way, then the associated validator would change as well.  If this is</td><td> </td><td class="right">   way, then the associated validator would change as well.  If this is</td><td class="lineno" valign="top"></td></tr>
216      <tr><td class="lineno" valign="top"></td><td class="left">   true, then we call this validator a "strong validator".</td><td> </td><td class="right">   true, then we call this validator a "strong validator".</td><td class="lineno" valign="top"></td></tr>
217      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
218      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
219      <tr bgcolor="gray" ><td></td><th><a name="part-l5" /><small>skipping to change at</small><em> page 12, line 23</em></th><th> </th><th><a name="part-r5" /><small>skipping to change at</small><em> page 12, line 23</em></th><td></td></tr>
220      <tr><td class="lineno" valign="top"></td><td class="left">      if it is unfeasible to send a strong entity-tag.</td><td> </td><td class="right">      if it is unfeasible to send a strong entity-tag.</td><td class="lineno" valign="top"></td></tr>
221      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
222      <tr><td class="lineno" valign="top"></td><td class="left">   o  SHOULD send a Last-Modified value if it is feasible to send one,</td><td> </td><td class="right">   o  SHOULD send a Last-Modified value if it is feasible to send one,</td><td class="lineno" valign="top"></td></tr>
223      <tr><td class="lineno" valign="top"></td><td class="left">      unless the risk of a breakdown in semantic transparency that could</td><td> </td><td class="right">      unless the risk of a breakdown in semantic transparency that could</td><td class="lineno" valign="top"></td></tr>
224      <tr><td class="lineno" valign="top"></td><td class="left">      result from using this date in an If-Modified-Since header field</td><td> </td><td class="right">      result from using this date in an If-Modified-Since header field</td><td class="lineno" valign="top"></td></tr>
225      <tr><td class="lineno" valign="top"></td><td class="left">      would lead to serious problems.</td><td> </td><td class="right">      would lead to serious problems.</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" valign="top"></td><td class="left">   In other words, the preferred behavior for an HTTP/1.1 origin server</td><td> </td><td class="right">   In other words, the preferred behavior for an HTTP/1.1 origin server</td><td class="lineno" valign="top"></td></tr>
228      <tr><td class="lineno" valign="top"></td><td class="left">   is to send both a strong entity-tag and a Last-Modified value.</td><td> </td><td class="right">   is to send both a strong entity-tag and a Last-Modified value.</td><td class="lineno" valign="top"></td></tr>
229      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
230      <tr><td><a name="diff0013" /></td></tr>
231      <tr><td class="lineno" valign="top"></td><td class="lblock">   In order to be <span class="delete">legal,</span> a strong entity-tag MUST change whenever the</td><td> </td><td class="rblock">   In order to be <span class="insert">legitimate,</span> a strong entity-tag MUST change whenever</td><td class="lineno" valign="top"></td></tr>
232      <tr><td class="lineno" valign="top"></td><td class="lblock">   associated representation changes in any way.  A weak entity-tag</td><td> </td><td class="rblock">   the associated representation changes in any way.  A weak entity-tag</td><td class="lineno" valign="top"></td></tr>
233      <tr><td class="lineno" valign="top"></td><td class="left">   SHOULD change whenever the associated representation changes in a</td><td> </td><td class="right">   SHOULD change whenever the associated representation changes in a</td><td class="lineno" valign="top"></td></tr>
234      <tr><td class="lineno" valign="top"></td><td class="left">   semantically significant way.</td><td> </td><td class="right">   semantically significant way.</td><td class="lineno" valign="top"></td></tr>
235      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
236      <tr><td class="lineno" valign="top"></td><td class="left">      Note: In order to provide semantically transparent caching, an</td><td> </td><td class="right">      Note: In order to provide semantically transparent caching, an</td><td class="lineno" valign="top"></td></tr>
237      <tr><td class="lineno" valign="top"></td><td class="left">      origin server must avoid reusing a specific strong entity-tag</td><td> </td><td class="right">      origin server must avoid reusing a specific strong entity-tag</td><td class="lineno" valign="top"></td></tr>
238      <tr><td class="lineno" valign="top"></td><td class="left">      value for two different representations, or reusing a specific</td><td> </td><td class="right">      value for two different representations, or reusing a specific</td><td class="lineno" valign="top"></td></tr>
239      <tr><td class="lineno" valign="top"></td><td class="left">      weak entity-tag value for two semantically different</td><td> </td><td class="right">      weak entity-tag value for two semantically different</td><td class="lineno" valign="top"></td></tr>
240      <tr><td class="lineno" valign="top"></td><td class="left">      representations.  Cache entries might persist for arbitrarily long</td><td> </td><td class="right">      representations.  Cache entries might persist for arbitrarily long</td><td class="lineno" valign="top"></td></tr>
241      <tr><td class="lineno" valign="top"></td><td class="left">      periods, regardless of expiration times, so it might be</td><td> </td><td class="right">      periods, regardless of expiration times, so it might be</td><td class="lineno" valign="top"></td></tr>
242      <tr><td class="lineno" valign="top"></td><td class="left">      inappropriate to expect that a cache will never again attempt to</td><td> </td><td class="right">      inappropriate to expect that a cache will never again attempt to</td><td class="lineno" valign="top"></td></tr>
243      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
244      <tr bgcolor="gray" ><td></td><th><a name="part-l6" /><small>skipping to change at</small><em> page 13, line 30</em></th><th> </th><th><a name="part-r6" /><small>skipping to change at</small><em> page 13, line 30</em></th><td></td></tr>
245      <tr><td class="lineno" valign="top"></td><td class="left">   cache validators, MUST NOT return a locally cached response to the</td><td> </td><td class="right">   cache validators, MUST NOT return a locally cached response to the</td><td class="lineno" valign="top"></td></tr>
246      <tr><td class="lineno" valign="top"></td><td class="left">   client unless that cached response is consistent with all of the</td><td> </td><td class="right">   client unless that cached response is consistent with all of the</td><td class="lineno" valign="top"></td></tr>
247      <tr><td class="lineno" valign="top"></td><td class="left">   conditional header fields in the request.</td><td> </td><td class="right">   conditional header fields in the request.</td><td class="lineno" valign="top"></td></tr>
248      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
249      <tr><td class="lineno" valign="top"></td><td class="left">      Note: The general principle behind these rules is that HTTP/1.1</td><td> </td><td class="right">      Note: The general principle behind these rules is that HTTP/1.1</td><td class="lineno" valign="top"></td></tr>
250      <tr><td class="lineno" valign="top"></td><td class="left">      servers and clients ought to transmit as much non-redundant</td><td> </td><td class="right">      servers and clients ought to transmit as much non-redundant</td><td class="lineno" valign="top"></td></tr>
251      <tr><td class="lineno" valign="top"></td><td class="left">      information as is available in their responses and requests.</td><td> </td><td class="right">      information as is available in their responses and requests.</td><td class="lineno" valign="top"></td></tr>
252      <tr><td class="lineno" valign="top"></td><td class="left">      HTTP/1.1 systems receiving this information will make the most</td><td> </td><td class="right">      HTTP/1.1 systems receiving this information will make the most</td><td class="lineno" valign="top"></td></tr>
253      <tr><td class="lineno" valign="top"></td><td class="left">      conservative assumptions about the validators they receive.</td><td> </td><td class="right">      conservative assumptions about the validators they receive.</td><td class="lineno" valign="top"></td></tr>
254      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
255      <tr><td><a name="diff0014" /></td></tr>
256      <tr><td class="lineno" valign="top"></td><td class="lblock">      HTTP/1.0 clients and caches <span class="delete">will</span> ignore entity-tags.  Generally,</td><td> </td><td class="rblock">      HTTP/1.0 clients and caches <span class="insert">might</span> ignore entity-tags.  Generally,</td><td class="lineno" valign="top"></td></tr>
257      <tr><td class="lineno" valign="top"></td><td class="left">      last-modified values received or used by these systems will</td><td> </td><td class="right">      last-modified values received or used by these systems will</td><td class="lineno" valign="top"></td></tr>
258      <tr><td class="lineno" valign="top"></td><td class="left">      support transparent and efficient caching, and so HTTP/1.1 origin</td><td> </td><td class="right">      support transparent and efficient caching, and so HTTP/1.1 origin</td><td class="lineno" valign="top"></td></tr>
259      <tr><td class="lineno" valign="top"></td><td class="left">      servers should provide Last-Modified values.  In those rare cases</td><td> </td><td class="right">      servers should provide Last-Modified values.  In those rare cases</td><td class="lineno" valign="top"></td></tr>
260      <tr><td class="lineno" valign="top"></td><td class="left">      where the use of a Last-Modified value as a validator by an</td><td> </td><td class="right">      where the use of a Last-Modified value as a validator by an</td><td class="lineno" valign="top"></td></tr>
261      <tr><td class="lineno" valign="top"></td><td class="left">      HTTP/1.0 system could result in a serious problem, then HTTP/1.1</td><td> </td><td class="right">      HTTP/1.0 system could result in a serious problem, then HTTP/1.1</td><td class="lineno" valign="top"></td></tr>
262      <tr><td class="lineno" valign="top"></td><td class="left">      origin servers should not provide one.</td><td> </td><td class="right">      origin servers should not provide one.</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">6.  Header Field Definitions</td><td> </td><td class="right">6.  Header Field Definitions</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">   This section defines the syntax and semantics of HTTP/1.1 header</td><td> </td><td class="right">   This section defines the syntax and semantics of HTTP/1.1 header</td><td class="lineno" valign="top"></td></tr>
267      <tr><td class="lineno" valign="top"></td><td class="left">   fields related to conditional requests.</td><td> </td><td class="right">   fields related to conditional requests.</td><td class="lineno" valign="top"></td></tr>
268      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
269      <tr><td class="lineno" valign="top"></td><td class="left">6.1.  ETag</td><td> </td><td class="right">6.1.  ETag</td><td class="lineno" valign="top"></td></tr>
270      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
271      <tr><td><a name="diff0015" /></td></tr>
272      <tr><td class="lineno" valign="top"></td><td class="lblock">   The "ETag" <span class="delete">response-header</span> field provides the current value of the</td><td> </td><td class="rblock">   The "ETag" <span class="insert">header</span> field provides the current value of the entity-tag</td><td class="lineno" valign="top"></td></tr>
273      <tr><td class="lineno" valign="top"></td><td class="lblock">   entity-tag (see Section 2) for one representation of the target</td><td> </td><td class="rblock">   (see Section 2) for one representation of the target resource.  An</td><td class="lineno" valign="top"></td></tr>
274      <tr><td class="lineno" valign="top"></td><td class="lblock">   resource.  An entity-tag is intended for use as a resource-local</td><td> </td><td class="rblock">   entity-tag is intended for use as a resource-local identifier for</td><td class="lineno" valign="top"></td></tr>
275      <tr><td class="lineno" valign="top"></td><td class="lblock">   identifier for differentiating between representations of the same</td><td> </td><td class="rblock">   differentiating between representations of the same resource that</td><td class="lineno" valign="top"></td></tr>
276      <tr><td class="lineno" valign="top"></td><td class="lblock">   resource that vary over time or via content negotiation (see</td><td> </td><td class="rblock">   vary over time or via content negotiation (see Section 4).</td><td class="lineno" valign="top"></td></tr>
277      <tr><td class="lineno" valign="top"></td><td class="lblock">   Section 4).</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
278      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
279      <tr><td class="lineno" valign="top"></td><td class="left">     ETag   = "ETag" ":" OWS ETag-v</td><td> </td><td class="right">     ETag   = "ETag" ":" OWS ETag-v</td><td class="lineno" valign="top"></td></tr>
280      <tr><td class="lineno" valign="top"></td><td class="left">     ETag-v = entity-tag</td><td> </td><td class="right">     ETag-v = entity-tag</td><td class="lineno" valign="top"></td></tr>
281      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
282      <tr><td class="lineno" valign="top"></td><td class="left">   Examples:</td><td> </td><td class="right">   Examples:</td><td class="lineno" valign="top"></td></tr>
283      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
284      <tr><td class="lineno" valign="top"></td><td class="left">     ETag: "xyzzy"</td><td> </td><td class="right">     ETag: "xyzzy"</td><td class="lineno" valign="top"></td></tr>
285      <tr><td class="lineno" valign="top"></td><td class="left">     ETag: W/"xyzzy"</td><td> </td><td class="right">     ETag: W/"xyzzy"</td><td class="lineno" valign="top"></td></tr>
286      <tr><td class="lineno" valign="top"></td><td class="left">     ETag: ""</td><td> </td><td class="right">     ETag: ""</td><td class="lineno" valign="top"></td></tr>
287      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
288      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
289      <tr bgcolor="gray" ><td></td><th><a name="part-l7" /><small>skipping to change at</small><em> page 14, line 29</em></th><th> </th><th><a name="part-r7" /><small>skipping to change at</small><em> page 14, line 28</em></th><td></td></tr>
290      <tr><td class="lineno" valign="top"></td><td class="left">   The principle behind entity-tags is that only the service author</td><td> </td><td class="right">   The principle behind entity-tags is that only the service author</td><td class="lineno" valign="top"></td></tr>
291      <tr><td class="lineno" valign="top"></td><td class="left">   knows the semantics of a resource well enough to select an</td><td> </td><td class="right">   knows the semantics of a resource well enough to select an</td><td class="lineno" valign="top"></td></tr>
292      <tr><td class="lineno" valign="top"></td><td class="left">   appropriate cache validation mechanism, and the specification of any</td><td> </td><td class="right">   appropriate cache validation mechanism, and the specification of any</td><td class="lineno" valign="top"></td></tr>
293      <tr><td class="lineno" valign="top"></td><td class="left">   validator comparison function more complex than byte-equality would</td><td> </td><td class="right">   validator comparison function more complex than byte-equality would</td><td class="lineno" valign="top"></td></tr>
294      <tr><td class="lineno" valign="top"></td><td class="left">   open up a can of worms.  Thus, comparisons of any other header fields</td><td> </td><td class="right">   open up a can of worms.  Thus, comparisons of any other header fields</td><td class="lineno" valign="top"></td></tr>
295      <tr><td class="lineno" valign="top"></td><td class="left">   (except Last-Modified, for compatibility with HTTP/1.0) are never</td><td> </td><td class="right">   (except Last-Modified, for compatibility with HTTP/1.0) are never</td><td class="lineno" valign="top"></td></tr>
296      <tr><td class="lineno" valign="top"></td><td class="left">   used for purposes of validating a cache entry.</td><td> </td><td class="right">   used for purposes of validating a cache entry.</td><td class="lineno" valign="top"></td></tr>
297      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
298      <tr><td class="lineno" valign="top"></td><td class="left">6.2.  If-Match</td><td> </td><td class="right">6.2.  If-Match</td><td class="lineno" valign="top"></td></tr>
299      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
300      <tr><td><a name="diff0016" /></td></tr>
301      <tr><td class="lineno" valign="top"></td><td class="lblock">   The "If-Match" <span class="delete">request-</span>header field is used to make a request method</td><td> </td><td class="rblock">   The "If-Match" header field is used to make a request method</td><td class="lineno" valign="top"></td></tr>
302      <tr><td class="lineno" valign="top"></td><td class="left">   conditional.  A client that has one or more representations</td><td> </td><td class="right">   conditional.  A client that has one or more representations</td><td class="lineno" valign="top"></td></tr>
303      <tr><td class="lineno" valign="top"></td><td class="left">   previously obtained from the resource can verify that one of those</td><td> </td><td class="right">   previously obtained from the resource can verify that one of those</td><td class="lineno" valign="top"></td></tr>
304      <tr><td class="lineno" valign="top"></td><td class="left">   representations is current by including a list of their associated</td><td> </td><td class="right">   representations is current by including a list of their associated</td><td class="lineno" valign="top"></td></tr>
305      <tr><td class="lineno" valign="top"></td><td class="left">   entity-tags in the If-Match header field.</td><td> </td><td class="right">   entity-tags in the If-Match header field.</td><td class="lineno" valign="top"></td></tr>
306      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
307      <tr><td class="lineno" valign="top"></td><td class="left">   This allows efficient updates of cached information with a minimum</td><td> </td><td class="right">   This allows efficient updates of cached information with a minimum</td><td class="lineno" valign="top"></td></tr>
308      <tr><td class="lineno" valign="top"></td><td class="left">   amount of transaction overhead.  It is also used when updating</td><td> </td><td class="right">   amount of transaction overhead.  It is also used when updating</td><td class="lineno" valign="top"></td></tr>
309      <tr><td class="lineno" valign="top"></td><td class="left">   resources, to prevent inadvertent modification of the wrong version</td><td> </td><td class="right">   resources, to prevent inadvertent modification of the wrong version</td><td class="lineno" valign="top"></td></tr>
310      <tr><td class="lineno" valign="top"></td><td class="left">   of a resource.  As a special case, the value "*" matches any current</td><td> </td><td class="right">   of a resource.  As a special case, the value "*" matches any current</td><td class="lineno" valign="top"></td></tr>
311      <tr><td class="lineno" valign="top"></td><td class="left">   representation of the resource.</td><td> </td><td class="right">   representation of the resource.</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 15, line 7</em></th><th> </th><th><a name="part-r8" /><small>skipping to change at</small><em> page 15, line 5</em></th><td></td></tr>
314      <tr><td class="lineno" valign="top"></td><td class="left">   that would have been returned in the response to a similar GET</td><td> </td><td class="right">   that would have been returned in the response to a similar GET</td><td class="lineno" valign="top"></td></tr>
315      <tr><td class="lineno" valign="top"></td><td class="left">   request (without the If-Match header field) on that resource, or if</td><td> </td><td class="right">   request (without the If-Match header field) on that resource, or if</td><td class="lineno" valign="top"></td></tr>
316      <tr><td class="lineno" valign="top"></td><td class="left">   "*" is given and any current representation exists for that resource,</td><td> </td><td class="right">   "*" is given and any current representation exists for that resource,</td><td class="lineno" valign="top"></td></tr>
317      <tr><td class="lineno" valign="top"></td><td class="left">   then the server MAY perform the requested method as if the If-Match</td><td> </td><td class="right">   then the server MAY perform the requested method as if the If-Match</td><td class="lineno" valign="top"></td></tr>
318      <tr><td class="lineno" valign="top"></td><td class="left">   header field did not exist.</td><td> </td><td class="right">   header field did not exist.</td><td class="lineno" valign="top"></td></tr>
319      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
320      <tr><td class="lineno" valign="top"></td><td class="left">   If none of the entity-tags match, or if "*" is given and no current</td><td> </td><td class="right">   If none of the entity-tags match, or if "*" is given and no current</td><td class="lineno" valign="top"></td></tr>
321      <tr><td class="lineno" valign="top"></td><td class="left">   representation exists, the server MUST NOT perform the requested</td><td> </td><td class="right">   representation exists, the server MUST NOT perform the requested</td><td class="lineno" valign="top"></td></tr>
322      <tr><td class="lineno" valign="top"></td><td class="left">   method, and MUST return a 412 (Precondition Failed) response.  This</td><td> </td><td class="right">   method, and MUST return a 412 (Precondition Failed) response.  This</td><td class="lineno" valign="top"></td></tr>
323      <tr><td class="lineno" valign="top"></td><td class="left">   behavior is most useful when the client wants to prevent an updating</td><td> </td><td class="right">   behavior is most useful when the client wants to prevent an updating</td><td class="lineno" valign="top"></td></tr>
324      <tr><td><a name="diff0017" /></td></tr>
325      <tr><td class="lineno" valign="top"></td><td class="lblock">   method, such as PUT, from modifying a resource that has changed since</td><td> </td><td class="rblock">   <span class="insert">request</span> method, such as PUT, from modifying a resource that has</td><td class="lineno" valign="top"></td></tr>
326      <tr><td class="lineno" valign="top"></td><td class="lblock">   the client last retrieved it.</td><td> </td><td class="rblock">   changed since the client last retrieved it.</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">   If the request would, without the If-Match header field, result in</td><td> </td><td class="right">   If the request would, without the If-Match header field, result in</td><td class="lineno" valign="top"></td></tr>
329      <tr><td class="lineno" valign="top"></td><td class="left">   anything other than a 2xx or 412 status code, then the If-Match</td><td> </td><td class="right">   anything other than a 2xx or 412 status code, then the If-Match</td><td class="lineno" valign="top"></td></tr>
330      <tr><td class="lineno" valign="top"></td><td class="left">   header field MUST be ignored.</td><td> </td><td class="right">   header field MUST be ignored.</td><td class="lineno" valign="top"></td></tr>
331      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
332      <tr><td><a name="diff0018" /></td></tr>
333      <tr><td class="lineno" valign="top"></td><td class="lblock">   The meaning of "If-Match: *" is that the method SHOULD be performed</td><td> </td><td class="rblock">   The meaning of "If-Match: *" is that the <span class="insert">request</span> method SHOULD be</td><td class="lineno" valign="top"></td></tr>
334      <tr><td class="lineno" valign="top"></td><td class="lblock">   if the representation selected by the origin server (or by a cache,</td><td> </td><td class="rblock">   performed if the representation selected by the origin server (or by</td><td class="lineno" valign="top"></td></tr>
335      <tr><td class="lineno" valign="top"></td><td class="lblock">   possibly using the Vary mechanism, see Section 3.5 of [Part6])</td><td> </td><td class="rblock">   a cache, possibly using the Vary mechanism, see Section 3.5 of</td><td class="lineno" valign="top"></td></tr>
336      <tr><td class="lineno" valign="top"></td><td class="lblock">   exists, and MUST NOT be performed if the representation does not</td><td> </td><td class="rblock">   [Part6]) exists, and MUST NOT be performed if the representation does</td><td class="lineno" valign="top"></td></tr>
337      <tr><td class="lineno" valign="top"></td><td class="lblock">   exist.</td><td> </td><td class="rblock">   not exist.</td><td class="lineno" valign="top"></td></tr>
338      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
339      <tr><td class="lineno" valign="top"></td><td class="left">   A request intended to update a resource (e.g., a PUT) MAY include an</td><td> </td><td class="right">   A request intended to update a resource (e.g., a PUT) MAY include an</td><td class="lineno" valign="top"></td></tr>
340      <tr><td class="lineno" valign="top"></td><td class="left">   If-Match header field to signal that the request method MUST NOT be</td><td> </td><td class="right">   If-Match header field to signal that the request method MUST NOT be</td><td class="lineno" valign="top"></td></tr>
341      <tr><td class="lineno" valign="top"></td><td class="left">   applied if the representation corresponding to the If-Match value (a</td><td> </td><td class="right">   applied if the representation corresponding to the If-Match value (a</td><td class="lineno" valign="top"></td></tr>
342      <tr><td class="lineno" valign="top"></td><td class="left">   single entity-tag) is no longer a representation of that resource.</td><td> </td><td class="right">   single entity-tag) is no longer a representation of that resource.</td><td class="lineno" valign="top"></td></tr>
343      <tr><td class="lineno" valign="top"></td><td class="left">   This allows the user to indicate that they do not wish the request to</td><td> </td><td class="right">   This allows the user to indicate that they do not wish the request to</td><td class="lineno" valign="top"></td></tr>
344      <tr><td class="lineno" valign="top"></td><td class="left">   be successful if the resource has been changed without their</td><td> </td><td class="right">   be successful if the resource has been changed without their</td><td class="lineno" valign="top"></td></tr>
345      <tr><td class="lineno" valign="top"></td><td class="left">   knowledge.  Examples:</td><td> </td><td class="right">   knowledge.  Examples:</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">     If-Match: "xyzzy"</td><td> </td><td class="right">     If-Match: "xyzzy"</td><td class="lineno" valign="top"></td></tr>
348      <tr><td class="lineno" valign="top"></td><td class="left">     If-Match: "xyzzy", "r2d2xxxx", "c3piozzzz"</td><td> </td><td class="right">     If-Match: "xyzzy", "r2d2xxxx", "c3piozzzz"</td><td class="lineno" valign="top"></td></tr>
349      <tr><td class="lineno" valign="top"></td><td class="left">     If-Match: *</td><td> </td><td class="right">     If-Match: *</td><td class="lineno" valign="top"></td></tr>
350      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
351      <tr><td class="lineno" valign="top"></td><td class="left">   The result of a request having both an If-Match header field and</td><td> </td><td class="right">   The result of a request having both an If-Match header field and</td><td class="lineno" valign="top"></td></tr>
352      <tr><td class="lineno" valign="top"></td><td class="left">   either an If-None-Match or an If-Modified-Since header fields is</td><td> </td><td class="right">   either an If-None-Match or an If-Modified-Since header fields is</td><td class="lineno" valign="top"></td></tr>
353      <tr><td class="lineno" valign="top"></td><td class="left">   undefined by this specification.</td><td> </td><td class="right">   undefined by this specification.</td><td class="lineno" valign="top"></td></tr>
354      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
355      <tr><td class="lineno" valign="top"></td><td class="left">6.3.  If-Modified-Since</td><td> </td><td class="right">6.3.  If-Modified-Since</td><td class="lineno" valign="top"></td></tr>
356      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
357      <tr><td><a name="diff0019" /></td></tr>
358      <tr><td class="lineno" valign="top"></td><td class="lblock">   The "If-Modified-Since" <span class="delete">request-header</span> field is used to make a</td><td> </td><td class="rblock">   The "If-Modified-Since" <span class="insert">header</span> field is used to make a request method</td><td class="lineno" valign="top"></td></tr>
359      <tr><td class="lineno" valign="top"></td><td class="lblock">   request method conditional by date: if the representation that would</td><td> </td><td class="rblock">   conditional by date: if the representation that would have been</td><td class="lineno" valign="top"></td></tr>
360      <tr><td class="lineno" valign="top"></td><td class="lblock">   have been transferred in a 200 response to a GET request has not been</td><td> </td><td class="rblock">   transferred in a 200 response to a GET request has not been modified</td><td class="lineno" valign="top"></td></tr>
361      <tr><td class="lineno" valign="top"></td><td class="lblock">   modified since the time specified in this field, then do not perform</td><td> </td><td class="rblock">   since the time specified in this field, then do not perform the</td><td class="lineno" valign="top"></td></tr>
362      <tr><td class="lineno" valign="top"></td><td class="lblock">   the method; instead, respond as detailed below.</td><td> </td><td class="rblock">   method; instead, respond as detailed below.</td><td class="lineno" valign="top"></td></tr>
363      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
364      <tr><td class="lineno" valign="top"></td><td class="left">     If-Modified-Since   = "If-Modified-Since" ":" OWS</td><td> </td><td class="right">     If-Modified-Since   = "If-Modified-Since" ":" OWS</td><td class="lineno" valign="top"></td></tr>
365      <tr><td class="lineno" valign="top"></td><td class="left">                           If-Modified-Since-v</td><td> </td><td class="right">                           If-Modified-Since-v</td><td class="lineno" valign="top"></td></tr>
366      <tr><td class="lineno" valign="top"></td><td class="left">     If-Modified-Since-v = HTTP-date</td><td> </td><td class="right">     If-Modified-Since-v = HTTP-date</td><td class="lineno" valign="top"></td></tr>
367      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
368      <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>
369      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
370      <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>
371      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
372      <tr><td class="lineno" valign="top"></td><td class="left">   A GET method with an If-Modified-Since header field and no Range</td><td> </td><td class="right">   A GET method with an If-Modified-Since header field and no Range</td><td class="lineno" valign="top"></td></tr>
373      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
374      <tr bgcolor="gray" ><td></td><th><a name="part-l9" /><small>skipping to change at</small><em> page 16, line 26</em></th><th> </th><th><a name="part-r9" /><small>skipping to change at</small><em> page 16, line 23</em></th><td></td></tr>
375      <tr><td class="lineno" valign="top"></td><td class="left">   2.  If the representation has been modified since the If-Modified-</td><td> </td><td class="right">   2.  If the representation has been modified since the If-Modified-</td><td class="lineno" valign="top"></td></tr>
376      <tr><td class="lineno" valign="top"></td><td class="left">       Since date, the response is exactly the same as for a normal GET.</td><td> </td><td class="right">       Since date, the response is exactly the same as for a normal GET.</td><td class="lineno" valign="top"></td></tr>
377      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
378      <tr><td class="lineno" valign="top"></td><td class="left">   3.  If the representation has not been modified since a valid If-</td><td> </td><td class="right">   3.  If the representation has not been modified since a valid If-</td><td class="lineno" valign="top"></td></tr>
379      <tr><td class="lineno" valign="top"></td><td class="left">       Modified-Since date, the server SHOULD return a 304 (Not</td><td> </td><td class="right">       Modified-Since date, the server SHOULD return a 304 (Not</td><td class="lineno" valign="top"></td></tr>
380      <tr><td class="lineno" valign="top"></td><td class="left">       Modified) response.</td><td> </td><td class="right">       Modified) response.</td><td class="lineno" valign="top"></td></tr>
381      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
382      <tr><td class="lineno" valign="top"></td><td class="left">   The purpose of this feature is to allow efficient updates of cached</td><td> </td><td class="right">   The purpose of this feature is to allow efficient updates of cached</td><td class="lineno" valign="top"></td></tr>
383      <tr><td class="lineno" valign="top"></td><td class="left">   information with a minimum amount of transaction overhead.</td><td> </td><td class="right">   information with a minimum amount of transaction overhead.</td><td class="lineno" valign="top"></td></tr>
384      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
385      <tr><td><a name="diff0020" /></td></tr>
386      <tr><td class="lineno" valign="top"></td><td class="lblock">      Note: The Range <span class="delete">request-header</span> field modifies the meaning of <span class="delete">If-</span></td><td> </td><td class="rblock">      Note: The Range <span class="insert">header</span> field modifies the meaning of <span class="insert">If-Modified-</span></td><td class="lineno" valign="top"></td></tr>
387      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">      Modified-Since;</span> see Section 5.4 of [Part5] for full details.</td><td> </td><td class="rblock"><span class="insert">      Since;</span> see Section 5.4 of [Part5] for full details.</td><td class="lineno" valign="top"></td></tr>
388      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
389      <tr><td class="lineno" valign="top"></td><td class="left">      Note: If-Modified-Since times are interpreted by the server, whose</td><td> </td><td class="right">      Note: If-Modified-Since times are interpreted by the server, whose</td><td class="lineno" valign="top"></td></tr>
390      <tr><td class="lineno" valign="top"></td><td class="left">      clock might not be synchronized with the client.</td><td> </td><td class="right">      clock might not be synchronized with the client.</td><td class="lineno" valign="top"></td></tr>
391      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
392      <tr><td class="lineno" valign="top"></td><td class="left">      Note: When handling an If-Modified-Since header field, some</td><td> </td><td class="right">      Note: When handling an If-Modified-Since header field, some</td><td class="lineno" valign="top"></td></tr>
393      <tr><td class="lineno" valign="top"></td><td class="left">      servers will use an exact date comparison function, rather than a</td><td> </td><td class="right">      servers will use an exact date comparison function, rather than a</td><td class="lineno" valign="top"></td></tr>
394      <tr><td class="lineno" valign="top"></td><td class="left">      less-than function, for deciding whether to send a 304 (Not</td><td> </td><td class="right">      less-than function, for deciding whether to send a 304 (Not</td><td class="lineno" valign="top"></td></tr>
395      <tr><td class="lineno" valign="top"></td><td class="left">      Modified) response.  To get best results when sending an If-</td><td> </td><td class="right">      Modified) response.  To get best results when sending an If-</td><td class="lineno" valign="top"></td></tr>
396      <tr><td class="lineno" valign="top"></td><td class="left">      Modified-Since header field for cache validation, clients are</td><td> </td><td class="right">      Modified-Since header field for cache validation, clients are</td><td class="lineno" valign="top"></td></tr>
397      <tr><td class="lineno" valign="top"></td><td class="left">      advised to use the exact date string received in a previous Last-</td><td> </td><td class="right">      advised to use the exact date string received in a previous Last-</td><td class="lineno" valign="top"></td></tr>
398      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
399      <tr bgcolor="gray" ><td></td><th><a name="part-l10" /><small>skipping to change at</small><em> page 17, line 11</em></th><th> </th><th><a name="part-r10" /><small>skipping to change at</small><em> page 17, line 9</em></th><td></td></tr>
400      <tr><td class="lineno" valign="top"></td><td class="left">      derived from the client's clock without correction to the server's</td><td> </td><td class="right">      derived from the client's clock without correction to the server's</td><td class="lineno" valign="top"></td></tr>
401      <tr><td class="lineno" valign="top"></td><td class="left">      clock.  Corrections for different time bases between client and</td><td> </td><td class="right">      clock.  Corrections for different time bases between client and</td><td class="lineno" valign="top"></td></tr>
402      <tr><td class="lineno" valign="top"></td><td class="left">      server are at best approximate due to network latency.</td><td> </td><td class="right">      server are at best approximate due to network latency.</td><td class="lineno" valign="top"></td></tr>
403      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
404      <tr><td class="lineno" valign="top"></td><td class="left">   The result of a request having both an If-Modified-Since header field</td><td> </td><td class="right">   The result of a request having both an If-Modified-Since header field</td><td class="lineno" valign="top"></td></tr>
405      <tr><td class="lineno" valign="top"></td><td class="left">   and either an If-Match or an If-Unmodified-Since header fields is</td><td> </td><td class="right">   and either an If-Match or an If-Unmodified-Since header fields is</td><td class="lineno" valign="top"></td></tr>
406      <tr><td class="lineno" valign="top"></td><td class="left">   undefined by this specification.</td><td> </td><td class="right">   undefined by this specification.</td><td class="lineno" valign="top"></td></tr>
407      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
408      <tr><td class="lineno" valign="top"></td><td class="left">6.4.  If-None-Match</td><td> </td><td class="right">6.4.  If-None-Match</td><td class="lineno" valign="top"></td></tr>
409      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
410      <tr><td><a name="diff0021" /></td></tr>
411      <tr><td class="lineno" valign="top"></td><td class="lblock">   The "If-None-Match" <span class="delete">request-header</span> field is used to make a request</td><td> </td><td class="rblock">   The "If-None-Match" <span class="insert">header</span> field is used to make a request method</td><td class="lineno" valign="top"></td></tr>
412      <tr><td class="lineno" valign="top"></td><td class="lblock">   method conditional.  A client that has one or more representations</td><td> </td><td class="rblock">   conditional.  A client that has one or more representations</td><td class="lineno" valign="top"></td></tr>
413      <tr><td class="lineno" valign="top"></td><td class="left">   previously obtained from the resource can verify that none of those</td><td> </td><td class="right">   previously obtained from the resource can verify that none of those</td><td class="lineno" valign="top"></td></tr>
414      <tr><td class="lineno" valign="top"></td><td class="left">   representations is current by including a list of their associated</td><td> </td><td class="right">   representations is current by including a list of their associated</td><td class="lineno" valign="top"></td></tr>
415      <tr><td class="lineno" valign="top"></td><td class="left">   entity-tags in the If-None-Match header field.</td><td> </td><td class="right">   entity-tags in the If-None-Match header field.</td><td class="lineno" valign="top"></td></tr>
416      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
417      <tr><td class="lineno" valign="top"></td><td class="left">   This allows efficient updates of cached information with a minimum</td><td> </td><td class="right">   This allows efficient updates of cached information with a minimum</td><td class="lineno" valign="top"></td></tr>
418      <tr><td><a name="diff0022" /></td></tr>
419      <tr><td class="lineno" valign="top"></td><td class="lblock">   amount of transaction overhead.  It is also used to prevent a method</td><td> </td><td class="rblock">   amount of transaction overhead.  It is also used to prevent a <span class="insert">request</span></td><td class="lineno" valign="top"></td></tr>
420      <tr><td class="lineno" valign="top"></td><td class="lblock">   (e.g., PUT) from inadvertently modifying an existing resource when</td><td> </td><td class="rblock">   method (e.g., PUT) from inadvertently modifying an existing resource</td><td class="lineno" valign="top"></td></tr>
421      <tr><td class="lineno" valign="top"></td><td class="lblock">   the client believes that the resource does not exist.</td><td> </td><td class="rblock">   when the client believes that the resource does not exist.</td><td class="lineno" valign="top"></td></tr>
422      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
423      <tr><td class="lineno" valign="top"></td><td class="left">   As a special case, the value "*" matches any current representation</td><td> </td><td class="right">   As a special case, the value "*" matches any current representation</td><td class="lineno" valign="top"></td></tr>
424      <tr><td class="lineno" valign="top"></td><td class="left">   of the resource.</td><td> </td><td class="right">   of the resource.</td><td class="lineno" valign="top"></td></tr>
425      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
426      <tr><td class="lineno" valign="top"></td><td class="left">     If-None-Match   = "If-None-Match" ":" OWS If-None-Match-v</td><td> </td><td class="right">     If-None-Match   = "If-None-Match" ":" OWS If-None-Match-v</td><td class="lineno" valign="top"></td></tr>
427      <tr><td class="lineno" valign="top"></td><td class="left">     If-None-Match-v = "*" / 1#entity-tag</td><td> </td><td class="right">     If-None-Match-v = "*" / 1#entity-tag</td><td class="lineno" valign="top"></td></tr>
428      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
429      <tr><td class="lineno" valign="top"></td><td class="left">   If any of the entity-tags match the entity-tag of the representation</td><td> </td><td class="right">   If any of the entity-tags match the entity-tag of the representation</td><td class="lineno" valign="top"></td></tr>
430      <tr><td class="lineno" valign="top"></td><td class="left">   that would have been returned in the response to a similar GET</td><td> </td><td class="right">   that would have been returned in the response to a similar GET</td><td class="lineno" valign="top"></td></tr>
431      <tr><td class="lineno" valign="top"></td><td class="left">   request (without the If-None-Match header field) on that resource, or</td><td> </td><td class="right">   request (without the If-None-Match header field) on that resource, or</td><td class="lineno" valign="top"></td></tr>
432      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
433      <tr bgcolor="gray" ><td></td><th><a name="part-l11" /><small>skipping to change at</small><em> page 18, line 4</em></th><th> </th><th><a name="part-r11" /><small>skipping to change at</small><em> page 17, line 50</em></th><td></td></tr>
434      <tr><td class="lineno" valign="top"></td><td class="left">   requested method as if the If-None-Match header field did not exist,</td><td> </td><td class="right">   requested method as if the If-None-Match header field did not exist,</td><td class="lineno" valign="top"></td></tr>
435      <tr><td class="lineno" valign="top"></td><td class="left">   but MUST also ignore any If-Modified-Since header field(s) in the</td><td> </td><td class="right">   but MUST also ignore any If-Modified-Since header field(s) in the</td><td class="lineno" valign="top"></td></tr>
436      <tr><td class="lineno" valign="top"></td><td class="left">   request.  That is, if no entity-tags match, then the server MUST NOT</td><td> </td><td class="right">   request.  That is, if no entity-tags match, then the server MUST NOT</td><td class="lineno" valign="top"></td></tr>
437      <tr><td class="lineno" valign="top"></td><td class="left">   return a 304 (Not Modified) response.</td><td> </td><td class="right">   return a 304 (Not Modified) response.</td><td class="lineno" valign="top"></td></tr>
438      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
439      <tr><td class="lineno" valign="top"></td><td class="left">   If the request would, without the If-None-Match header field, result</td><td> </td><td class="right">   If the request would, without the If-None-Match header field, result</td><td class="lineno" valign="top"></td></tr>
440      <tr><td class="lineno" valign="top"></td><td class="left">   in anything other than a 2xx or 304 status code, then the If-None-</td><td> </td><td class="right">   in anything other than a 2xx or 304 status code, then the If-None-</td><td class="lineno" valign="top"></td></tr>
441      <tr><td class="lineno" valign="top"></td><td class="left">   Match header field MUST be ignored.  (See Section 5 for a discussion</td><td> </td><td class="right">   Match header field MUST be ignored.  (See Section 5 for a discussion</td><td class="lineno" valign="top"></td></tr>
442      <tr><td class="lineno" valign="top"></td><td class="left">   of server behavior when both If-Modified-Since and If-None-Match</td><td> </td><td class="right">   of server behavior when both If-Modified-Since and If-None-Match</td><td class="lineno" valign="top"></td></tr>
443      <tr><td class="lineno" valign="top"></td><td class="left">   appear in the same request.)</td><td> </td><td class="right">   appear in the same request.)</td><td class="lineno" valign="top"></td></tr>
444      <tr><td><a name="diff0023" /></td></tr>
445      <tr><td class="lineno" valign="top"></td><td class="lblock">   The meaning of "If-None-Match: *" is that the method MUST NOT be</td><td> </td><td class="rblock">                                                                         </td><td class="lineno" valign="top"></td></tr>
446      <tr><td class="lineno" valign="top"></td><td class="lblock">   performed if the representation selected by the origin server (or by</td><td> </td><td class="rblock">   The meaning of "If-None-Match: *" is that the <span class="insert">request</span> method MUST NOT</td><td class="lineno" valign="top"></td></tr>
447      <tr><td class="lineno" valign="top"></td><td class="lblock">   a cache, possibly using the Vary mechanism, see Section 3.5 of</td><td> </td><td class="rblock">   be performed if the representation selected by the origin server (or</td><td class="lineno" valign="top"></td></tr>
448      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">   by a cache, possibly using the Vary mechanism, see Section 3.5 of</td><td class="lineno" valign="top"></td></tr>
449      <tr><td class="lineno" valign="top"></td><td class="left">   [Part6]) exists, and SHOULD be performed if the representation does</td><td> </td><td class="right">   [Part6]) exists, and SHOULD be performed if the representation does</td><td class="lineno" valign="top"></td></tr>
450      <tr><td class="lineno" valign="top"></td><td class="left">   not exist.  This feature is intended to be useful in preventing races</td><td> </td><td class="right">   not exist.  This feature is intended to be useful in preventing races</td><td class="lineno" valign="top"></td></tr>
451      <tr><td class="lineno" valign="top"></td><td class="left">   between PUT operations.</td><td> </td><td class="right">   between PUT operations.</td><td class="lineno" valign="top"></td></tr>
452      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
453      <tr><td class="lineno" valign="top"></td><td class="left">   Examples:</td><td> </td><td class="right">   Examples:</td><td class="lineno" valign="top"></td></tr>
454      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
455      <tr><td class="lineno" valign="top"></td><td class="left">     If-None-Match: "xyzzy"</td><td> </td><td class="right">     If-None-Match: "xyzzy"</td><td class="lineno" valign="top"></td></tr>
456      <tr><td class="lineno" valign="top"></td><td class="left">     If-None-Match: W/"xyzzy"</td><td> </td><td class="right">     If-None-Match: W/"xyzzy"</td><td class="lineno" valign="top"></td></tr>
457      <tr><td class="lineno" valign="top"></td><td class="left">     If-None-Match: "xyzzy", "r2d2xxxx", "c3piozzzz"</td><td> </td><td class="right">     If-None-Match: "xyzzy", "r2d2xxxx", "c3piozzzz"</td><td class="lineno" valign="top"></td></tr>
458      <tr><td class="lineno" valign="top"></td><td class="left">     If-None-Match: W/"xyzzy", W/"r2d2xxxx", W/"c3piozzzz"</td><td> </td><td class="right">     If-None-Match: W/"xyzzy", W/"r2d2xxxx", W/"c3piozzzz"</td><td class="lineno" valign="top"></td></tr>
459      <tr><td class="lineno" valign="top"></td><td class="left">     If-None-Match: *</td><td> </td><td class="right">     If-None-Match: *</td><td class="lineno" valign="top"></td></tr>
460      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
461      <tr><td class="lineno" valign="top"></td><td class="left">   The result of a request having both an If-None-Match header field and</td><td> </td><td class="right">   The result of a request having both an If-None-Match header field and</td><td class="lineno" valign="top"></td></tr>
462      <tr><td class="lineno" valign="top"></td><td class="left">   either an If-Match or an If-Unmodified-Since header fields is</td><td> </td><td class="right">   either an If-Match or an If-Unmodified-Since header fields is</td><td class="lineno" valign="top"></td></tr>
463      <tr><td class="lineno" valign="top"></td><td class="left">   undefined by this specification.</td><td> </td><td class="right">   undefined by this specification.</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">6.5.  If-Unmodified-Since</td><td> </td><td class="right">6.5.  If-Unmodified-Since</td><td class="lineno" valign="top"></td></tr>
466      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
467      <tr><td><a name="diff0024" /></td></tr>
468      <tr><td class="lineno" valign="top"></td><td class="lblock">   The "If-Unmodified-Since" <span class="delete">request-header</span> field is used to make a</td><td> </td><td class="rblock">   The "If-Unmodified-Since" <span class="insert">header</span> field is used to make a request</td><td class="lineno" valign="top"></td></tr>
469      <tr><td class="lineno" valign="top"></td><td class="lblock">   request method conditional.  If the representation that would have</td><td> </td><td class="rblock">   method conditional.  If the representation that would have been</td><td class="lineno" valign="top"></td></tr>
470      <tr><td class="lineno" valign="top"></td><td class="lblock">   been transferred in a 200 response to a GET request on the same</td><td> </td><td class="rblock">   transferred in a 200 response to a GET request on the same resource</td><td class="lineno" valign="top"></td></tr>
471      <tr><td class="lineno" valign="top"></td><td class="lblock">   resource has not been modified since the time specified in this</td><td> </td><td class="rblock">   has not been modified since the time specified in this field, the</td><td class="lineno" valign="top"></td></tr>
472      <tr><td class="lineno" valign="top"></td><td class="lblock">   field, the server SHOULD perform the requested operation as if the</td><td> </td><td class="rblock">   server SHOULD perform the requested operation as if the <span class="insert">If-</span></td><td class="lineno" valign="top"></td></tr>
473      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">If-Unmodified-Since</span> header field were not present.</td><td> </td><td class="rblock"><span class="insert">   Unmodified-Since</span> header field were not present.</td><td class="lineno" valign="top"></td></tr>
474      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
475      <tr><td class="lineno" valign="top"></td><td class="left">   If the representation has been modified since the specified time, the</td><td> </td><td class="right">   If the representation has been modified since the specified time, the</td><td class="lineno" valign="top"></td></tr>
476      <tr><td class="lineno" valign="top"></td><td class="left">   server MUST NOT perform the requested operation, and MUST return a</td><td> </td><td class="right">   server MUST NOT perform the requested operation, and MUST return a</td><td class="lineno" valign="top"></td></tr>
477      <tr><td class="lineno" valign="top"></td><td class="left">   412 (Precondition Failed).</td><td> </td><td class="right">   412 (Precondition Failed).</td><td class="lineno" valign="top"></td></tr>
478      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
479      <tr><td class="lineno" valign="top"></td><td class="left">     If-Unmodified-Since   = "If-Unmodified-Since" ":" OWS</td><td> </td><td class="right">     If-Unmodified-Since   = "If-Unmodified-Since" ":" OWS</td><td class="lineno" valign="top"></td></tr>
480      <tr><td class="lineno" valign="top"></td><td class="left">                             If-Unmodified-Since-v</td><td> </td><td class="right">                             If-Unmodified-Since-v</td><td class="lineno" valign="top"></td></tr>
481      <tr><td class="lineno" valign="top"></td><td class="left">     If-Unmodified-Since-v = HTTP-date</td><td> </td><td class="right">     If-Unmodified-Since-v = HTTP-date</td><td class="lineno" valign="top"></td></tr>
482      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
483      <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>
484      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
485      <tr bgcolor="gray" ><td></td><th><a name="part-l12" /><small>skipping to change at</small><em> page 19, line 18</em></th><th> </th><th><a name="part-r12" /><small>skipping to change at</small><em> page 19, line 17</em></th><td></td></tr>
486      <tr><td class="lineno" valign="top"></td><td class="left">   The "Last-Modified" header field indicates the date and time at which</td><td> </td><td class="right">   The "Last-Modified" header field indicates the date and time at which</td><td class="lineno" valign="top"></td></tr>
487      <tr><td class="lineno" valign="top"></td><td class="left">   the origin server believes the representation was last modified.</td><td> </td><td class="right">   the origin server believes the representation was last modified.</td><td class="lineno" valign="top"></td></tr>
488      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
489      <tr><td class="lineno" valign="top"></td><td class="left">     Last-Modified   = "Last-Modified" ":" OWS Last-Modified-v</td><td> </td><td class="right">     Last-Modified   = "Last-Modified" ":" OWS Last-Modified-v</td><td class="lineno" valign="top"></td></tr>
490      <tr><td class="lineno" valign="top"></td><td class="left">     Last-Modified-v = HTTP-date</td><td> </td><td class="right">     Last-Modified-v = HTTP-date</td><td class="lineno" valign="top"></td></tr>
491      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
492      <tr><td class="lineno" valign="top"></td><td class="left">   An example of its use is</td><td> </td><td class="right">   An example of its use is</td><td class="lineno" valign="top"></td></tr>
493      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
494      <tr><td class="lineno" valign="top"></td><td class="left">     Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT</td><td> </td><td class="right">     Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT</td><td class="lineno" valign="top"></td></tr>
495      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
496      <tr><td><a name="diff0025" /></td></tr>
497      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">The exact meaning of this header field depends on the implementation</span></td><td> </td><td class="rblock">   <span class="insert">A representation is typically the sum of many parts behind</span> the</td><td class="lineno" valign="top"></td></tr>
498      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   of the origin server and the nature of the original resource.  For</span></td><td> </td><td class="rblock">   <span class="insert">resource interface.  The</span> last-modified <span class="insert">time would usually</span> be the most</td><td class="lineno" valign="top"></td></tr>
499      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   files, it might be just</span> the <span class="delete">file system</span> last-modified <span class="delete">time.  For</span></td><td> </td><td class="rblock">   recent <span class="insert">time that any</span> of <span class="insert">those parts were changed.  How that value is</span></td><td class="lineno" valign="top"></td></tr>
500      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   representations with dynamically included parts, it might</span> be the most</td><td> </td><td class="rblock"><span class="insert">   determined</span> for <span class="insert">any given resource is an implementation detail beyond</span></td><td class="lineno" valign="top"></td></tr>
501      <tr><td class="lineno" valign="top"></td><td class="lblock">   recent of <span class="delete">the set of last-modify times</span> for <span class="delete">its component parts.  For</span></td><td> </td><td class="rblock">   the <span class="insert">scope of this specification.  What matters to HTTP is how</span></td><td class="lineno" valign="top"></td></tr>
502      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   database gateways, it might be</span> the <span class="delete">last-update time stamp</span> of the</td><td> </td><td class="rblock"><span class="insert">   recipients</span> of the <span class="insert">Last-Modified header field can use its value to</span></td><td class="lineno" valign="top"></td></tr>
503      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">record.  For virtual objects, it might be the last time</span> the <span class="delete">internal</span></td><td> </td><td class="rblock"><span class="insert">   make conditional requests and test</span> the <span class="insert">validity of locally cached</span></td><td class="lineno" valign="top"></td></tr>
504      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   state changed.</span></td><td> </td><td class="rblock"><span class="insert">   responses.</span></td><td class="lineno" valign="top"></td></tr>
505      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
506      <tr><td class="lineno" valign="top"></td><td class="left">   An origin server MUST NOT send a Last-Modified date which is later</td><td> </td><td class="right">   An origin server MUST NOT send a Last-Modified date which is later</td><td class="lineno" valign="top"></td></tr>
507      <tr><td class="lineno" valign="top"></td><td class="left">   than the server's time of message origination.  In such cases, where</td><td> </td><td class="right">   than the server's time of message origination.  In such cases, where</td><td class="lineno" valign="top"></td></tr>
508      <tr><td class="lineno" valign="top"></td><td class="left">   the resource's last modification would indicate some time in the</td><td> </td><td class="right">   the resource's last modification would indicate some time in the</td><td class="lineno" valign="top"></td></tr>
509      <tr><td class="lineno" valign="top"></td><td class="left">   future, the server MUST replace that date with the message</td><td> </td><td class="right">   future, the server MUST replace that date with the message</td><td class="lineno" valign="top"></td></tr>
510      <tr><td class="lineno" valign="top"></td><td class="left">   origination date.</td><td> </td><td class="right">   origination date.</td><td class="lineno" valign="top"></td></tr>
511      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
512      <tr><td class="lineno" valign="top"></td><td class="left">   An origin server SHOULD obtain the Last-Modified value of the</td><td> </td><td class="right">   An origin server SHOULD obtain the Last-Modified value of the</td><td class="lineno" valign="top"></td></tr>
513      <tr><td class="lineno" valign="top"></td><td class="left">   representation as close as possible to the time that it generates the</td><td> </td><td class="right">   representation as close as possible to the time that it generates the</td><td class="lineno" valign="top"></td></tr>
514      <tr><td class="lineno" valign="top"></td><td class="left">   Date value of its response.  This allows a recipient to make an</td><td> </td><td class="right">   Date value of its response.  This allows a recipient to make an</td><td class="lineno" valign="top"></td></tr>
515      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
516      <tr bgcolor="gray" ><td></td><th><a name="part-l13" /><small>skipping to change at</small><em> page 20, line 51</em></th><th> </th><th><a name="part-r13" /><small>skipping to change at</small><em> page 20, line 46</em></th><td></td></tr>
517      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
518      <tr><td class="lineno" valign="top"></td><td class="left">9.  Acknowledgments</td><td> </td><td class="right">9.  Acknowledgments</td><td class="lineno" valign="top"></td></tr>
519      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
520      <tr><td class="lineno" valign="top"></td><td class="left">10.  References</td><td> </td><td class="right">10.  References</td><td class="lineno" valign="top"></td></tr>
521      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
522      <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>
523      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
524      <tr><td class="lineno" valign="top"></td><td class="left">   [Part1]    Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td><td> </td><td class="right">   [Part1]    Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td><td class="lineno" valign="top"></td></tr>
525      <tr><td class="lineno" valign="top"></td><td class="left">              Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td> </td><td class="right">              Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td class="lineno" valign="top"></td></tr>
526      <tr><td class="lineno" valign="top"></td><td class="left">              and J. Reschke, Ed., "HTTP/1.1, part 1: URIs, Connections,</td><td> </td><td class="right">              and J. Reschke, Ed., "HTTP/1.1, part 1: URIs, Connections,</td><td class="lineno" valign="top"></td></tr>
527      <tr><td><a name="diff0026" /></td></tr>
528      <tr><td class="lineno" valign="top"></td><td class="lblock">              and Message Parsing", <span class="delete">draft-ietf-httpbis-p1-messaging-12</span></td><td> </td><td class="rblock">              and Message Parsing", <span class="insert">draft-ietf-httpbis-p1-messaging-13</span></td><td class="lineno" valign="top"></td></tr>
529      <tr><td class="lineno" valign="top"></td><td class="lblock">              (work in progress), <span class="delete">October 2010.</span></td><td> </td><td class="rblock">              (work in progress), <span class="insert">March 2011.</span></td><td class="lineno" valign="top"></td></tr>
530      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
531      <tr><td class="lineno" valign="top"></td><td class="left">   [Part3]    Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td><td> </td><td class="right">   [Part3]    Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td><td class="lineno" valign="top"></td></tr>
532      <tr><td class="lineno" valign="top"></td><td class="left">              Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td> </td><td class="right">              Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td class="lineno" valign="top"></td></tr>
533      <tr><td class="lineno" valign="top"></td><td class="left">              and J. Reschke, Ed., "HTTP/1.1, part 3: Message Payload</td><td> </td><td class="right">              and J. Reschke, Ed., "HTTP/1.1, part 3: Message Payload</td><td class="lineno" valign="top"></td></tr>
534      <tr><td><a name="diff0027" /></td></tr>
535      <tr><td class="lineno" valign="top"></td><td class="lblock">              and Content Negotiation", <span class="delete">draft-ietf-httpbis-p3-payload-12</span></td><td> </td><td class="rblock">              and Content Negotiation", <span class="insert">draft-ietf-httpbis-p3-payload-13</span></td><td class="lineno" valign="top"></td></tr>
536      <tr><td class="lineno" valign="top"></td><td class="lblock">              (work in progress), <span class="delete">October 2010.</span></td><td> </td><td class="rblock">              (work in progress), <span class="insert">March 2011.</span></td><td class="lineno" valign="top"></td></tr>
537      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
538      <tr><td class="lineno" valign="top"></td><td class="left">   [Part5]    Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td><td> </td><td class="right">   [Part5]    Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td><td class="lineno" valign="top"></td></tr>
539      <tr><td class="lineno" valign="top"></td><td class="left">              Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td> </td><td class="right">              Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td class="lineno" valign="top"></td></tr>
540      <tr><td class="lineno" valign="top"></td><td class="left">              and J. Reschke, Ed., "HTTP/1.1, part 5: Range Requests and</td><td> </td><td class="right">              and J. Reschke, Ed., "HTTP/1.1, part 5: Range Requests and</td><td class="lineno" valign="top"></td></tr>
541      <tr><td><a name="diff0028" /></td></tr>
542      <tr><td class="lineno" valign="top"></td><td class="lblock">              Partial Responses", <span class="delete">draft-ietf-httpbis-p5-range-12</span> (work</td><td> </td><td class="rblock">              Partial Responses", <span class="insert">draft-ietf-httpbis-p5-range-13</span> (work</td><td class="lineno" valign="top"></td></tr>
543      <tr><td class="lineno" valign="top"></td><td class="lblock">              in progress), <span class="delete">October 2010.</span></td><td> </td><td class="rblock">              in progress), <span class="insert">March 2011.</span></td><td class="lineno" valign="top"></td></tr>
544      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
545      <tr><td class="lineno" valign="top"></td><td class="left">   [Part6]    Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td><td> </td><td class="right">   [Part6]    Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td><td class="lineno" valign="top"></td></tr>
546      <tr><td class="lineno" valign="top"></td><td class="left">              Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td> </td><td class="right">              Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td class="lineno" valign="top"></td></tr>
547      <tr><td class="lineno" valign="top"></td><td class="left">              Nottingham, M., Ed., and J. Reschke, Ed., "HTTP/1.1, part</td><td> </td><td class="right">              Nottingham, M., Ed., and J. Reschke, Ed., "HTTP/1.1, part</td><td class="lineno" valign="top"></td></tr>
548      <tr><td><a name="diff0029" /></td></tr>
549      <tr><td class="lineno" valign="top"></td><td class="lblock">              6: Caching", <span class="delete">draft-ietf-httpbis-p6-cache-12</span> (work in</td><td> </td><td class="rblock">              6: Caching", <span class="insert">draft-ietf-httpbis-p6-cache-13</span> (work in</td><td class="lineno" valign="top"></td></tr>
550      <tr><td class="lineno" valign="top"></td><td class="lblock">              progress), <span class="delete">October 2010.</span></td><td> </td><td class="rblock">              progress), <span class="insert">March 2011.</span></td><td class="lineno" valign="top"></td></tr>
551      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
552      <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>
553      <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>
554      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
555      <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>
556      <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>
557      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
558      <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>
559      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
560      <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>
561      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
562      <tr bgcolor="gray" ><td></td><th><a name="part-l14" /><small>skipping to change at</small><em> page 25, line 22</em></th><th> </th><th><a name="part-r14" /><small>skipping to change at</small><em> page 25, line 22</em></th><td></td></tr>
563      <tr><td class="lineno" valign="top"></td><td class="left">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/109&gt;: "Clarify</td><td> </td><td class="right">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/109&gt;: "Clarify</td><td class="lineno" valign="top"></td></tr>
564      <tr><td class="lineno" valign="top"></td><td class="left">      entity / representation / variant terminology"</td><td> </td><td class="right">      entity / representation / variant terminology"</td><td class="lineno" valign="top"></td></tr>
565      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
566      <tr><td class="lineno" valign="top"></td><td class="left">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/220&gt;: "consider</td><td> </td><td class="right">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/220&gt;: "consider</td><td class="lineno" valign="top"></td></tr>
567      <tr><td class="lineno" valign="top"></td><td class="left">      removing the 'changes from 2068' sections"</td><td> </td><td class="right">      removing the 'changes from 2068' sections"</td><td class="lineno" valign="top"></td></tr>
568      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
569      <tr><td class="lineno" valign="top"></td><td class="left">C.13.  Since draft-ietf-httpbis-p4-conditional-11</td><td> </td><td class="right">C.13.  Since draft-ietf-httpbis-p4-conditional-11</td><td class="lineno" valign="top"></td></tr>
570      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
571      <tr><td class="lineno" valign="top"></td><td class="left">   None.</td><td> </td><td class="right">   None.</td><td class="lineno" valign="top"></td></tr>
572      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
573      <tr><td><a name="diff0030" /></td></tr>
574      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">C.14.  Since draft-ietf-httpbis-p4-conditional-12</span></td><td class="lineno" valign="top"></td></tr>
575      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
576      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   Closed issues:</span></td><td class="lineno" valign="top"></td></tr>
577      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
578      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/224&gt;: "Header</span></td><td class="lineno" valign="top"></td></tr>
579      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      Classification"</span></td><td class="lineno" valign="top"></td></tr>
580      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">                                                                         </td><td class="lineno" valign="top"></td></tr>
581      <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>
582      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
583      <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>
584      <tr><td class="lineno" valign="top"></td><td class="left">      304 Not Modified (status code)  8</td><td> </td><td class="right">      304 Not Modified (status code)  8</td><td class="lineno" valign="top"></td></tr>
585      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
586      <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>
587      <tr><td class="lineno" valign="top"></td><td class="left">      412 Precondition Failed (status code)  8</td><td> </td><td class="right">      412 Precondition Failed (status code)  8</td><td class="lineno" valign="top"></td></tr>
588      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
589      <tr><td class="lineno" valign="top"></td><td class="left">   E</td><td> </td><td class="right">   E</td><td class="lineno" valign="top"></td></tr>
590      <tr><td><a name="diff0031" /></td></tr>
591      <tr><td class="lineno" valign="top"></td><td class="lblock">      ETag header  13</td><td> </td><td class="rblock">      ETag header <span class="insert">field </span> 13</td><td class="lineno" valign="top"></td></tr>
592      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
593      <tr><td class="lineno" valign="top"></td><td class="left">   G</td><td> </td><td class="right">   G</td><td class="lineno" valign="top"></td></tr>
594      <tr><td class="lineno" valign="top"></td><td class="left">      Grammar</td><td> </td><td class="right">      Grammar</td><td class="lineno" valign="top"></td></tr>
595      <tr><td class="lineno" valign="top"></td><td class="left">         entity-tag  6</td><td> </td><td class="right">         entity-tag  6</td><td class="lineno" valign="top"></td></tr>
596      <tr><td class="lineno" valign="top"></td><td class="left">         ETag  13</td><td> </td><td class="right">         ETag  13</td><td class="lineno" valign="top"></td></tr>
597      <tr><td class="lineno" valign="top"></td><td class="left">         ETag-v  13</td><td> </td><td class="right">         ETag-v  13</td><td class="lineno" valign="top"></td></tr>
598      <tr><td class="lineno" valign="top"></td><td class="left">         If-Match  14</td><td> </td><td class="right">         If-Match  14</td><td class="lineno" valign="top"></td></tr>
599      <tr><td class="lineno" valign="top"></td><td class="left">         If-Match-v  14</td><td> </td><td class="right">         If-Match-v  14</td><td class="lineno" valign="top"></td></tr>
600      <tr><td class="lineno" valign="top"></td><td class="left">         If-Modified-Since  15</td><td> </td><td class="right">         If-Modified-Since  15</td><td class="lineno" valign="top"></td></tr>
601      <tr><td class="lineno" valign="top"></td><td class="left">         If-Modified-Since-v  15</td><td> </td><td class="right">         If-Modified-Since-v  15</td><td class="lineno" valign="top"></td></tr>
602      <tr><td class="lineno" valign="top"></td><td class="left">         If-None-Match  17</td><td> </td><td class="right">         If-None-Match  17</td><td class="lineno" valign="top"></td></tr>
603      <tr><td class="lineno" valign="top"></td><td class="left">         If-None-Match-v  17</td><td> </td><td class="right">         If-None-Match-v  17</td><td class="lineno" valign="top"></td></tr>
604      <tr><td class="lineno" valign="top"></td><td class="left">         If-Unmodified-Since  18</td><td> </td><td class="right">         If-Unmodified-Since  18</td><td class="lineno" valign="top"></td></tr>
605      <tr><td class="lineno" valign="top"></td><td class="left">         If-Unmodified-Since-v  18</td><td> </td><td class="right">         If-Unmodified-Since-v  18</td><td class="lineno" valign="top"></td></tr>
606      <tr><td class="lineno" valign="top"></td><td class="left">         Last-Modified  19</td><td> </td><td class="right">         Last-Modified  19</td><td class="lineno" valign="top"></td></tr>
607      <tr><td class="lineno" valign="top"></td><td class="left">         Last-Modified-v  19</td><td> </td><td class="right">         Last-Modified-v  19</td><td class="lineno" valign="top"></td></tr>
608      <tr><td class="lineno" valign="top"></td><td class="left">         opaque-tag  6</td><td> </td><td class="right">         opaque-tag  6</td><td class="lineno" valign="top"></td></tr>
609      <tr><td class="lineno" valign="top"></td><td class="left">         weak  6</td><td> </td><td class="right">         weak  6</td><td class="lineno" valign="top"></td></tr>
610      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
611      <tr><td class="lineno" valign="top"></td><td class="left">   H</td><td> </td><td class="right">   H</td><td class="lineno" valign="top"></td></tr>
612      <tr><td><a name="diff0032" /></td></tr>
613      <tr><td class="lineno" valign="top"></td><td class="lblock">      Headers</td><td> </td><td class="rblock">      Header<span class="insert"> Field</span>s</td><td class="lineno" valign="top"></td></tr>
614      <tr><td class="lineno" valign="top"></td><td class="left">         ETag  13</td><td> </td><td class="right">         ETag  13</td><td class="lineno" valign="top"></td></tr>
615      <tr><td class="lineno" valign="top"></td><td class="left">         If-Match  14</td><td> </td><td class="right">         If-Match  14</td><td class="lineno" valign="top"></td></tr>
616      <tr><td class="lineno" valign="top"></td><td class="left">         If-Modified-Since  15</td><td> </td><td class="right">         If-Modified-Since  15</td><td class="lineno" valign="top"></td></tr>
617      <tr><td class="lineno" valign="top"></td><td class="left">         If-None-Match  17</td><td> </td><td class="right">         If-None-Match  17</td><td class="lineno" valign="top"></td></tr>
618      <tr><td class="lineno" valign="top"></td><td class="left">         If-Unmodified-Since  18</td><td> </td><td class="right">         If-Unmodified-Since  18</td><td class="lineno" valign="top"></td></tr>
619      <tr><td class="lineno" valign="top"></td><td class="left">         Last-Modified  19</td><td> </td><td class="right">         Last-Modified  19</td><td class="lineno" valign="top"></td></tr>
620      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
621      <tr><td class="lineno" valign="top"></td><td class="left">   I</td><td> </td><td class="right">   I</td><td class="lineno" valign="top"></td></tr>
622      <tr><td><a name="diff0033" /></td></tr>
623      <tr><td class="lineno" valign="top"></td><td class="lblock">      If-Match header  14</td><td> </td><td class="rblock">      If-Match header <span class="insert">field</span>  14</td><td class="lineno" valign="top"></td></tr>
624      <tr><td class="lineno" valign="top"></td><td class="lblock">      If-Modified-Since header  15</td><td> </td><td class="rblock">      If-Modified-Since header <span class="insert">field</span>  15</td><td class="lineno" valign="top"></td></tr>
625      <tr><td class="lineno" valign="top"></td><td class="lblock">      If-None-Match header  17</td><td> </td><td class="rblock">      If-None-Match header <span class="insert">field</span>  17</td><td class="lineno" valign="top"></td></tr>
626      <tr><td class="lineno" valign="top"></td><td class="lblock">      If-Unmodified-Since header  18</td><td> </td><td class="rblock">      If-Unmodified-Since header <span class="insert">field</span>  18</td><td class="lineno" valign="top"></td></tr>
627      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
628      <tr><td class="lineno" valign="top"></td><td class="left">   L</td><td> </td><td class="right">   L</td><td class="lineno" valign="top"></td></tr>
629      <tr><td><a name="diff0034" /></td></tr>
630      <tr><td class="lineno" valign="top"></td><td class="lblock">      Last-Modified header  19</td><td> </td><td class="rblock">      Last-Modified header <span class="insert">field </span> 19</td><td class="lineno" valign="top"></td></tr>
631      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
632      <tr><td class="lineno" valign="top"></td><td class="left">   S</td><td> </td><td class="right">   S</td><td class="lineno" valign="top"></td></tr>
633      <tr><td class="lineno" valign="top"></td><td class="left">      Status Codes</td><td> </td><td class="right">      Status Codes</td><td class="lineno" valign="top"></td></tr>
634      <tr><td class="lineno" valign="top"></td><td class="left">         304 Not Modified  8</td><td> </td><td class="right">         304 Not Modified  8</td><td class="lineno" valign="top"></td></tr>
635      <tr><td class="lineno" valign="top"></td><td class="left">         412 Precondition Failed  8</td><td> </td><td class="right">         412 Precondition Failed  8</td><td class="lineno" valign="top"></td></tr>
636      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
637      <tr><td class="lineno" valign="top"></td><td class="left">Authors' Addresses</td><td> </td><td class="right">Authors' Addresses</td><td class="lineno" valign="top"></td></tr>
638      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
639      <tr><td class="lineno" valign="top"></td><td class="left">   Roy T. Fielding (editor)</td><td> </td><td class="right">   Roy T. Fielding (editor)</td><td class="lineno" valign="top"></td></tr>
640      <tr><td><a name="diff0035" /></td></tr>
641      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">Day Software</span></td><td> </td><td class="rblock">   <span class="insert">Adobe Systems Incorporated</span></td><td class="lineno" valign="top"></td></tr>
642      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   23 Corporate Plaza DR, Suite 280</span></td><td> </td><td class="rblock"><span class="insert">   345 Park Ave</span></td><td class="lineno" valign="top"></td></tr>
643      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   Newport Beach,</span> CA  <span class="delete">92660</span></td><td> </td><td class="rblock"><span class="insert">   San Jose,</span> CA  <span class="insert">95110</span></td><td class="lineno" valign="top"></td></tr>
644      <tr><td class="lineno" valign="top"></td><td class="left">   USA</td><td> </td><td class="right">   USA</td><td class="lineno" valign="top"></td></tr>
645      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
646      <tr><td><a name="diff0036" /></td></tr>
647      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">Phone: +1-949-706-5300</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
648      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   Fax:   +1-949-706-5305</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
649      <tr><td class="lineno" valign="top"></td><td class="left">   EMail: fielding@gbiv.com</td><td> </td><td class="right">   EMail: fielding@gbiv.com</td><td class="lineno" valign="top"></td></tr>
650      <tr><td class="lineno" valign="top"></td><td class="left">   URI:   http://roy.gbiv.com/</td><td> </td><td class="right">   URI:   http://roy.gbiv.com/</td><td class="lineno" valign="top"></td></tr>
651      <tr><td><a name="diff0037" /></td></tr>
652      <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>
653      <tr><td class="lineno" valign="top"></td><td class="left">   Jim Gettys</td><td> </td><td class="right">   Jim Gettys</td><td class="lineno" valign="top"></td></tr>
654      <tr><td class="lineno" valign="top"></td><td class="left">   Alcatel-Lucent Bell Labs</td><td> </td><td class="right">   Alcatel-Lucent Bell Labs</td><td class="lineno" valign="top"></td></tr>
655      <tr><td class="lineno" valign="top"></td><td class="left">   21 Oak Knoll Road</td><td> </td><td class="right">   21 Oak Knoll Road</td><td class="lineno" valign="top"></td></tr>
656      <tr><td class="lineno" valign="top"></td><td class="left">   Carlisle, MA  01741</td><td> </td><td class="right">   Carlisle, MA  01741</td><td class="lineno" valign="top"></td></tr>
657      <tr><td class="lineno" valign="top"></td><td class="left">   USA</td><td> </td><td class="right">   USA</td><td class="lineno" valign="top"></td></tr>
658      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
659      <tr><td class="lineno" valign="top"></td><td class="left">   EMail: jg@freedesktop.org</td><td> </td><td class="right">   EMail: jg@freedesktop.org</td><td class="lineno" valign="top"></td></tr>
660      <tr><td class="lineno" valign="top"></td><td class="left">   URI:   http://gettys.wordpress.com/</td><td> </td><td class="right">   URI:   http://gettys.wordpress.com/</td><td class="lineno" valign="top"></td></tr>
661      <tr><td><a name="diff0038" /></td></tr>
662      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">                                                                         </span></td><td class="lineno" valign="top"></td></tr>
663      <tr><td class="lineno" valign="top"></td><td class="left">   Jeffrey C. Mogul</td><td> </td><td class="right">   Jeffrey C. Mogul</td><td class="lineno" valign="top"></td></tr>
664      <tr><td class="lineno" valign="top"></td><td class="left">   Hewlett-Packard Company</td><td> </td><td class="right">   Hewlett-Packard Company</td><td class="lineno" valign="top"></td></tr>
665      <tr><td class="lineno" valign="top"></td><td class="left">   HP Labs, Large Scale Systems Group</td><td> </td><td class="right">   HP Labs, Large Scale Systems Group</td><td class="lineno" valign="top"></td></tr>
666      <tr><td class="lineno" valign="top"></td><td class="left">   1501 Page Mill Road, MS 1177</td><td> </td><td class="right">   1501 Page Mill Road, MS 1177</td><td class="lineno" valign="top"></td></tr>
667      <tr><td class="lineno" valign="top"></td><td class="left">   Palo Alto, CA  94304</td><td> </td><td class="right">   Palo Alto, CA  94304</td><td class="lineno" valign="top"></td></tr>
668      <tr><td class="lineno" valign="top"></td><td class="left">   USA</td><td> </td><td class="right">   USA</td><td class="lineno" valign="top"></td></tr>
669      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
670      <tr><td class="lineno" valign="top"></td><td class="left">   EMail: JeffMogul@acm.org</td><td> </td><td class="right">   EMail: JeffMogul@acm.org</td><td class="lineno" valign="top"></td></tr>
671      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
672      <tr><td class="lineno" valign="top"></td><td class="left">   Henrik Frystyk Nielsen</td><td> </td><td class="right">   Henrik Frystyk Nielsen</td><td class="lineno" valign="top"></td></tr>
673      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
674      <tr bgcolor="gray" ><td></td><th><a name="part-l15" /><small>skipping to change at</small><em> page 27, line 22</em></th><th> </th><th><a name="part-r15" /><small>skipping to change at</small><em> page 27, line 31</em></th><td></td></tr>
675      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
676      <tr><td class="lineno" valign="top"></td><td class="left">   Henrik Frystyk Nielsen</td><td> </td><td class="right">   Henrik Frystyk Nielsen</td><td class="lineno" valign="top"></td></tr>
677      <tr><td class="lineno" valign="top"></td><td class="left">   Microsoft Corporation</td><td> </td><td class="right">   Microsoft Corporation</td><td class="lineno" valign="top"></td></tr>
678      <tr><td class="lineno" valign="top"></td><td class="left">   1 Microsoft Way</td><td> </td><td class="right">   1 Microsoft Way</td><td class="lineno" valign="top"></td></tr>
679      <tr><td class="lineno" valign="top"></td><td class="left">   Redmond, WA  98052</td><td> </td><td class="right">   Redmond, WA  98052</td><td class="lineno" valign="top"></td></tr>
680      <tr><td class="lineno" valign="top"></td><td class="left">   USA</td><td> </td><td class="right">   USA</td><td class="lineno" valign="top"></td></tr>
681      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
682      <tr><td class="lineno" valign="top"></td><td class="left">   EMail: henrikn@microsoft.com</td><td> </td><td class="right">   EMail: henrikn@microsoft.com</td><td class="lineno" valign="top"></td></tr>
683      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
684      <tr><td class="lineno" valign="top"></td><td class="left">   Larry Masinter</td><td> </td><td class="right">   Larry Masinter</td><td class="lineno" valign="top"></td></tr>
685      <tr><td><a name="diff0039" /></td></tr>
686      <tr><td class="lineno" valign="top"></td><td class="lblock">   Adobe Systems<span class="delete">,</span> Incorporated</td><td> </td><td class="rblock">   Adobe Systems Incorporated</td><td class="lineno" valign="top"></td></tr>
687      <tr><td class="lineno" valign="top"></td><td class="left">   345 Park Ave</td><td> </td><td class="right">   345 Park Ave</td><td class="lineno" valign="top"></td></tr>
688      <tr><td class="lineno" valign="top"></td><td class="left">   San Jose, CA  95110</td><td> </td><td class="right">   San Jose, CA  95110</td><td class="lineno" valign="top"></td></tr>
689      <tr><td class="lineno" valign="top"></td><td class="left">   USA</td><td> </td><td class="right">   USA</td><td class="lineno" valign="top"></td></tr>
690      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
691      <tr><td class="lineno" valign="top"></td><td class="left">   EMail: LMM@acm.org</td><td> </td><td class="right">   EMail: LMM@acm.org</td><td class="lineno" valign="top"></td></tr>
692      <tr><td class="lineno" valign="top"></td><td class="left">   URI:   http://larry.masinter.net/</td><td> </td><td class="right">   URI:   http://larry.masinter.net/</td><td class="lineno" valign="top"></td></tr>
693      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
694      <tr><td class="lineno" valign="top"></td><td class="left">   Paul J. Leach</td><td> </td><td class="right">   Paul J. Leach</td><td class="lineno" valign="top"></td></tr>
695      <tr><td class="lineno" valign="top"></td><td class="left">   Microsoft Corporation</td><td> </td><td class="right">   Microsoft Corporation</td><td class="lineno" valign="top"></td></tr>
696      <tr><td class="lineno" valign="top"></td><td class="left">   1 Microsoft Way</td><td> </td><td class="right">   1 Microsoft Way</td><td class="lineno" valign="top"></td></tr>
697
698     <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr>
699     <tr bgcolor="gray"><th colspan="5" align="center"><a name="end">&nbsp;End of changes. 39 change blocks.&nbsp;</a></th></tr>
700     <tr class="stats"><td></td><th><i>84 lines changed or deleted</i></th><th><i> </i></th><th><i>89 lines changed or added</i></th><td></td></tr>
701     <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>
702   </table>
703   </body>
704   </html>
Note: See TracBrowser for help on using the repository browser.