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.34: rfcdiff --> |
---|
3 | <!-- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional" > --> |
---|
4 | <!-- System: Darwin kiwi.local 8.11.0 Darwin Kernel Version 8.11.0: Wed Oct 10 18:26:00 PDT 2007; root:xnu-792.24.17~1/RELEASE_PPC Power Macintosh powerpc --> |
---|
5 | <!-- Using awk: /usr/local/bin/gawk: GNU Awk 3.1.6 --> |
---|
6 | <!-- Using diff: /usr/bin/diff: diff (GNU diffutils) 2.8.1 --> |
---|
7 | <!-- Using wdiff: /usr/local/bin/wdiff: wdiff (Free wdiff) 0.5g --> |
---|
8 | <html> |
---|
9 | <head> |
---|
10 | <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> |
---|
11 | <meta http-equiv="Content-Style-Type" content="text/css" /> |
---|
12 | <title>Diff: draft-ietf-httpbis-p4-conditional-01.txt - draft-ietf-httpbis-p4-conditional-02.txt</title> |
---|
13 | <style type="text/css"> |
---|
14 | body { margin: 0.4ex; margin-right: auto; } |
---|
15 | tr { } |
---|
16 | td { white-space: pre; font-family: monospace; vertical-align: top; font-size: 0.86em;} |
---|
17 | th { font-size: 0.86em; } |
---|
18 | .small { font-size: 0.6em; font-style: italic; font-family: Verdana, Helvetica, sans-serif; } |
---|
19 | .left { background-color: #EEE; } |
---|
20 | .right { background-color: #FFF; } |
---|
21 | .diff { background-color: #CCF; } |
---|
22 | .lblock { background-color: #BFB; } |
---|
23 | .rblock { background-color: #FF8; } |
---|
24 | .insert { background-color: #8FF; } |
---|
25 | .delete { background-color: #ACF; } |
---|
26 | .void { background-color: #FFB; } |
---|
27 | .cont { background-color: #EEE; } |
---|
28 | .linebr { background-color: #AAA; } |
---|
29 | .lineno { color: red; background-color: #FFF; font-size: 0.7em; text-align: right; padding: 0 2px; } |
---|
30 | .elipsis{ background-color: #AAA; } |
---|
31 | .left .cont { background-color: #DDD; } |
---|
32 | .right .cont { background-color: #EEE; } |
---|
33 | .lblock .cont { background-color: #9D9; } |
---|
34 | .rblock .cont { background-color: #DD6; } |
---|
35 | .insert .cont { background-color: #0DD; } |
---|
36 | .delete .cont { background-color: #8AD; } |
---|
37 | .stats, .stats td, .stats th { background-color: #EEE; padding: 2px 0; } |
---|
38 | </style> |
---|
39 | </head> |
---|
40 | <body > |
---|
41 | <table border="0" cellpadding="0" cellspacing="0"> |
---|
42 | <tr bgcolor="orange"><th></th><th> draft-ietf-httpbis-p4-conditional-01.txt </th><th> </th><th> draft-ietf-httpbis-p4-conditional-02.txt </th><th></th></tr> |
---|
43 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
44 | <tr><td class="lineno" valign="top"></td><td class="left">Network Working Group R. Fielding, Ed.</td><td> </td><td class="right">Network Working Group R. Fielding, Ed.</td><td class="lineno" valign="top"></td></tr> |
---|
45 | <tr><td class="lineno" valign="top"></td><td class="left">Internet-Draft Day Software</td><td> </td><td class="right">Internet-Draft Day Software</td><td class="lineno" valign="top"></td></tr> |
---|
46 | <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> |
---|
47 | <tr><td class="lineno" valign="top"></td><td class="left">Intended status: Standards Track One Laptop per Child</td><td> </td><td class="right">Intended status: Standards Track One Laptop per Child</td><td class="lineno" valign="top"></td></tr> |
---|
48 | <tr><td><a name="diff0001" /></td></tr> |
---|
49 | <tr><td class="lineno" valign="top"></td><td class="lblock">Expires: <span class="delete">July 15, 2008 </span> J. Mogul</td><td> </td><td class="rblock">Expires: <span class="insert">August 27, 2008</span> J. Mogul</td><td class="lineno" valign="top"></td></tr> |
---|
50 | <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> |
---|
51 | <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> |
---|
52 | <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> |
---|
53 | <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> |
---|
54 | <tr><td class="lineno" valign="top"></td><td class="left"> Adobe Systems</td><td> </td><td class="right"> Adobe Systems</td><td class="lineno" valign="top"></td></tr> |
---|
55 | <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> |
---|
56 | <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> |
---|
57 | <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> |
---|
58 | <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> |
---|
59 | <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> |
---|
60 | <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> |
---|
61 | <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> |
---|
62 | <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> |
---|
63 | <tr><td><a name="diff0002" /></td></tr> |
---|
64 | <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> January 12</span>, 2008</td><td> </td><td class="rblock"> <span class="insert">February 24</span>, 2008</td><td class="lineno" valign="top"></td></tr> |
---|
65 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
66 | <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> |
---|
67 | <tr><td><a name="diff0003" /></td></tr> |
---|
68 | <tr><td class="lineno" valign="top"></td><td class="lblock"> draft-ietf-httpbis-p4-conditional-0<span class="delete">1</span></td><td> </td><td class="rblock"> draft-ietf-httpbis-p4-conditional-0<span class="insert">2</span></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">Status of this Memo</td><td> </td><td class="right">Status of this Memo</td><td class="lineno" valign="top"></td></tr> |
---|
71 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
72 | <tr><td class="lineno" valign="top"></td><td class="left"> By submitting this Internet-Draft, each author represents that any</td><td> </td><td class="right"> By submitting this Internet-Draft, each author represents that any</td><td class="lineno" valign="top"></td></tr> |
---|
73 | <tr><td class="lineno" valign="top"></td><td class="left"> applicable patent or other IPR claims of which he or she is aware</td><td> </td><td class="right"> applicable patent or other IPR claims of which he or she is aware</td><td class="lineno" valign="top"></td></tr> |
---|
74 | <tr><td class="lineno" valign="top"></td><td class="left"> have been or will be disclosed, and any of which he or she becomes</td><td> </td><td class="right"> have been or will be disclosed, and any of which he or she becomes</td><td class="lineno" valign="top"></td></tr> |
---|
75 | <tr><td class="lineno" valign="top"></td><td class="left"> aware will be disclosed, in accordance with Section 6 of BCP 79.</td><td> </td><td class="right"> aware will be disclosed, in accordance with Section 6 of BCP 79.</td><td class="lineno" valign="top"></td></tr> |
---|
76 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
77 | <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> |
---|
78 | <tr><td class="lineno" valign="top"></td><td class="left"> Task Force (IETF), its areas, and its working groups. Note that</td><td> </td><td class="right"> Task Force (IETF), its areas, and its working groups. Note that</td><td class="lineno" valign="top"></td></tr> |
---|
79 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
80 | <tr bgcolor="gray" ><td></td><th><a name="part-l2" /><small>skipping to change at</small><em> page 1, line 49</em></th><th> </th><th><a name="part-r2" /><small>skipping to change at</small><em> page 1, line 49</em></th><td></td></tr> |
---|
81 | <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> |
---|
82 | <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> |
---|
83 | <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> |
---|
84 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
85 | <tr><td class="lineno" valign="top"></td><td class="left"> The list of current Internet-Drafts can be accessed at</td><td> </td><td class="right"> The list of current Internet-Drafts can be accessed at</td><td class="lineno" valign="top"></td></tr> |
---|
86 | <tr><td class="lineno" valign="top"></td><td class="left"> http://www.ietf.org/ietf/1id-abstracts.txt.</td><td> </td><td class="right"> http://www.ietf.org/ietf/1id-abstracts.txt.</td><td class="lineno" valign="top"></td></tr> |
---|
87 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
88 | <tr><td class="lineno" valign="top"></td><td class="left"> The list of Internet-Draft Shadow Directories can be accessed at</td><td> </td><td class="right"> The list of Internet-Draft Shadow Directories can be accessed at</td><td class="lineno" valign="top"></td></tr> |
---|
89 | <tr><td class="lineno" valign="top"></td><td class="left"> http://www.ietf.org/shadow.html.</td><td> </td><td class="right"> http://www.ietf.org/shadow.html.</td><td class="lineno" valign="top"></td></tr> |
---|
90 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
91 | <tr><td><a name="diff0004" /></td></tr> |
---|
92 | <tr><td class="lineno" valign="top"></td><td class="lblock"> This Internet-Draft will expire on <span class="delete">July 15</span>, 2008.</td><td> </td><td class="rblock"> This Internet-Draft will expire on <span class="insert">August 27</span>, 2008.</td><td class="lineno" valign="top"></td></tr> |
---|
93 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
94 | <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> |
---|
95 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
96 | <tr><td class="lineno" valign="top"></td><td class="left"> Copyright (C) The IETF Trust (2008).</td><td> </td><td class="right"> Copyright (C) The IETF Trust (2008).</td><td class="lineno" valign="top"></td></tr> |
---|
97 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
98 | <tr><td class="lineno" valign="top"></td><td class="left">Abstract</td><td> </td><td class="right">Abstract</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"> 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> |
---|
101 | <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> |
---|
102 | <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> |
---|
103 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
104 | <tr bgcolor="gray" ><td></td><th><a name="part-l3" /><small>skipping to change at</small><em> page 3, line 9</em></th><th> </th><th><a name="part-r3" /><small>skipping to change at</small><em> page 3, line 9</em></th><td></td></tr> |
---|
105 | <tr><td class="lineno" valign="top"></td><td class="left"> This draft incorporates those issue resolutions that were either</td><td> </td><td class="right"> This draft incorporates those issue resolutions that were either</td><td class="lineno" valign="top"></td></tr> |
---|
106 | <tr><td class="lineno" valign="top"></td><td class="left"> collected in the original RFC2616 errata list</td><td> </td><td class="right"> collected in the original RFC2616 errata list</td><td class="lineno" valign="top"></td></tr> |
---|
107 | <tr><td class="lineno" valign="top"></td><td class="left"> (<http://purl.org/NET/http-errata>), or which were agreed upon on the</td><td> </td><td class="right"> (<http://purl.org/NET/http-errata>), or which were agreed upon on the</td><td class="lineno" valign="top"></td></tr> |
---|
108 | <tr><td class="lineno" valign="top"></td><td class="left"> mailing list between October 2006 and November 2007 (as published in</td><td> </td><td class="right"> mailing list between October 2006 and November 2007 (as published in</td><td class="lineno" valign="top"></td></tr> |
---|
109 | <tr><td class="lineno" valign="top"></td><td class="left"> "draft-lafon-rfc2616bis-03").</td><td> </td><td class="right"> "draft-lafon-rfc2616bis-03").</td><td class="lineno" valign="top"></td></tr> |
---|
110 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
111 | <tr><td class="lineno" valign="top"></td><td class="left">Table of Contents</td><td> </td><td class="right">Table of Contents</td><td class="lineno" valign="top"></td></tr> |
---|
112 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
113 | <tr><td class="lineno" valign="top"></td><td class="left"> 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4</td><td> </td><td class="right"> 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4</td><td class="lineno" valign="top"></td></tr> |
---|
114 | <tr><td class="lineno" valign="top"></td><td class="left"> 1.1. Requirements . . . . . . . . . . . . . . . . . . . . . . . 4</td><td> </td><td class="right"> 1.1. Requirements . . . . . . . . . . . . . . . . . . . . . . . 4</td><td class="lineno" valign="top"></td></tr> |
---|
115 | <tr><td><a name="diff0005" /></td></tr> |
---|
116 | <tr><td class="lineno" valign="top"></td><td class="lblock"> 2. Entity Tags . . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">4</span></td><td> </td><td class="rblock"> 2. <span class="insert">Notational Conventions and Generic Grammar . . . . . . . . . . 4</span></td><td class="lineno" valign="top"></td></tr> |
---|
117 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 3.</span> Status Code Definitions . . . . . . . . . . . . . . . . . . . 5</td><td> </td><td class="rblock"><span class="insert"> 3.</span> Entity Tags . . . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">5</span></td><td class="lineno" valign="top"></td></tr> |
---|
118 | <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">3.1.</span> 304 Not Modified . . . . . . . . . . . . . . . . . . . . . 5</td><td> </td><td class="rblock"><span class="insert"> 4.</span> Status Code Definitions . . . . . . . . . . . . . . . . . . . 5</td><td class="lineno" valign="top"></td></tr> |
---|
119 | <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">3.2.</span> 412 Precondition Failed . . . . . . . . . . . . . . . . . 6</td><td> </td><td class="rblock"> <span class="insert">4.1.</span> 304 Not Modified . . . . . . . . . . . . . . . . . . . . . 5</td><td class="lineno" valign="top"></td></tr> |
---|
120 | <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">4.</span> Weak and Strong Validators . . . . . . . . . . . . . . . . . . 6</td><td> </td><td class="rblock"> <span class="insert">4.2.</span> 412 Precondition Failed . . . . . . . . . . . . . . . . . 6</td><td class="lineno" valign="top"></td></tr> |
---|
121 | <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">5.</span> Rules for When to Use Entity Tags and Last-Modified Dates . . 9</td><td> </td><td class="rblock"> <span class="insert">5.</span> Weak and Strong Validators . . . . . . . . . . . . . . . . . . 6</td><td class="lineno" valign="top"></td></tr> |
---|
122 | <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">6.</span> Header Field Definitions . . . . . . . . . . . . . . . . . . . <span class="delete">10</span></td><td> </td><td class="rblock"> <span class="insert">6.</span> Rules for When to Use Entity Tags and Last-Modified Dates . . 9</td><td class="lineno" valign="top"></td></tr> |
---|
123 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 6.1.</span> ETag . . . . . . . . . . . . . . . . . . . . . . . . . . . 11</td><td> </td><td class="rblock"> <span class="insert">7.</span> Header Field Definitions . . . . . . . . . . . . . . . . . . . <span class="insert">11</span></td><td class="lineno" valign="top"></td></tr> |
---|
124 | <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">6.2.</span> If-Match . . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">11</span></td><td> </td><td class="rblock"><span class="insert"> 7.1.</span> ETag . . . . . . . . . . . . . . . . . . . . . . . . . . . 11</td><td class="lineno" valign="top"></td></tr> |
---|
125 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 6.3.</span> If-Modified-Since . . . . . . . . . . . . . . . . . . . . <span class="delete">12</span></td><td> </td><td class="rblock"> <span class="insert">7.2.</span> If-Match . . . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">12</span></td><td class="lineno" valign="top"></td></tr> |
---|
126 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 6.4.</span> If-None-Match . . . . . . . . . . . . . . . . . . . . . . 14</td><td> </td><td class="rblock"><span class="insert"> 7.3.</span> If-Modified-Since . . . . . . . . . . . . . . . . . . . . <span class="insert">13</span></td><td class="lineno" valign="top"></td></tr> |
---|
127 | <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">6.5.</span> If-Unmodified-Since . . . . . . . . . . . . . . . . . . . <span class="delete">15</span></td><td> </td><td class="rblock"><span class="insert"> 7.4.</span> If-None-Match . . . . . . . . . . . . . . . . . . . . . . 14</td><td class="lineno" valign="top"></td></tr> |
---|
128 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 6.6.</span> Last-Modified . . . . . . . . . . . . . . . . . . . . . . 16</td><td> </td><td class="rblock"> <span class="insert">7.5.</span> If-Unmodified-Since . . . . . . . . . . . . . . . . . . . <span class="insert">16</span></td><td class="lineno" valign="top"></td></tr> |
---|
129 | <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">7.</span> IANA Considerations . . . . . . . . . . . . . . . . . . . . . <span class="delete">16</span></td><td> </td><td class="rblock"><span class="insert"> 7.6.</span> Last-Modified . . . . . . . . . . . . . . . . . . . . . . 16</td><td class="lineno" valign="top"></td></tr> |
---|
130 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 8.</span> Security Considerations . . . . . . . . . . . . . . . . . . . <span class="delete">16</span></td><td> </td><td class="rblock"> <span class="insert">8.</span> IANA Considerations . . . . . . . . . . . . . . . . . . . . . <span class="insert">17</span></td><td class="lineno" valign="top"></td></tr> |
---|
131 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 9.</span> Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">16</span></td><td> </td><td class="rblock"><span class="insert"> 9.</span> Security Considerations . . . . . . . . . . . . . . . . . . . <span class="insert">17</span></td><td class="lineno" valign="top"></td></tr> |
---|
132 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 10.</span> References . . . . . . . . . . . . . . . . . . . . . . . . . . 17</td><td> </td><td class="rblock"><span class="insert"> 10.</span> Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">17</span></td><td class="lineno" valign="top"></td></tr> |
---|
133 | <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">10.1.</span> Normative References . . . . . . . . . . . . . . . . . . . 17</td><td> </td><td class="rblock"><span class="insert"> 11.</span> References . . . . . . . . . . . . . . . . . . . . . . . . . . 17</td><td class="lineno" valign="top"></td></tr> |
---|
134 | <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">10.2.</span> Informative References . . . . . . . . . . . . . . . . . . <span class="delete">17</span></td><td> </td><td class="rblock"> <span class="insert">11.1.</span> Normative References . . . . . . . . . . . . . . . . . . . 17</td><td class="lineno" valign="top"></td></tr> |
---|
135 | <tr><td class="lineno" valign="top"></td><td class="lblock"> Appendix A. Compatibility with Previous Versions . . . . . . . . <span class="delete">17</span></td><td> </td><td class="rblock"> <span class="insert">11.2.</span> Informative References . . . . . . . . . . . . . . . . . . <span class="insert">18</span></td><td class="lineno" valign="top"></td></tr> |
---|
136 | <tr><td class="lineno" valign="top"></td><td class="lblock"> A.1. Changes from RFC 2616 . . . . . . . . . . . . . . . . . . <span class="delete">17</span></td><td> </td><td class="rblock"> Appendix A. Compatibility with Previous Versions . . . . . . . . <span class="insert">18</span></td><td class="lineno" valign="top"></td></tr> |
---|
137 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> A.1. Changes from RFC 2616 . . . . . . . . . . . . . . . . . . <span class="insert">18</span></td><td class="lineno" valign="top"></td></tr> |
---|
138 | <tr><td class="lineno" valign="top"></td><td class="left"> Appendix B. Change Log (to be removed by RFC Editor before</td><td> </td><td class="right"> Appendix B. Change Log (to be removed by RFC Editor before</td><td class="lineno" valign="top"></td></tr> |
---|
139 | <tr><td><a name="diff0006" /></td></tr> |
---|
140 | <tr><td class="lineno" valign="top"></td><td class="lblock"> publication) . . . . . . . . . . . . . . . . . . . . <span class="delete">17</span></td><td> </td><td class="rblock"> publication) . . . . . . . . . . . . . . . . . . . . <span class="insert">18</span></td><td class="lineno" valign="top"></td></tr> |
---|
141 | <tr><td class="lineno" valign="top"></td><td class="lblock"> B.1. Since RFC2616 . . . . . . . . . . . . . . . . . . . . . . <span class="delete">17</span></td><td> </td><td class="rblock"> B.1. Since RFC2616 . . . . . . . . . . . . . . . . . . . . . . <span class="insert">18</span></td><td class="lineno" valign="top"></td></tr> |
---|
142 | <tr><td class="lineno" valign="top"></td><td class="left"> B.2. Since draft-ietf-httpbis-p4-conditional-00 . . . . . . . . 18</td><td> </td><td class="right"> B.2. Since draft-ietf-httpbis-p4-conditional-00 . . . . . . . . 18</td><td class="lineno" valign="top"></td></tr> |
---|
143 | <tr><td><a name="diff0007" /></td></tr> |
---|
144 | <tr><td class="lineno" valign="top"></td><td class="lblock"> Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">18</span></td><td> </td><td class="rblock"> <span class="insert">B.3. Since draft-ietf-httpbis-p4-conditional-01 . . . . . . . . 18</span></td><td class="lineno" valign="top"></td></tr> |
---|
145 | <tr><td class="lineno" valign="top"></td><td class="lblock"> Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">19</span></td><td> </td><td class="rblock"> Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">19</span></td><td class="lineno" valign="top"></td></tr> |
---|
146 | <tr><td class="lineno" valign="top"></td><td class="lblock"> Intellectual Property and Copyright Statements . . . . . . . . . . <span class="delete">22</span></td><td> </td><td class="rblock"> Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">20</span></td><td class="lineno" valign="top"></td></tr> |
---|
147 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> Intellectual Property and Copyright Statements . . . . . . . . . . <span class="insert">23</span></td><td class="lineno" valign="top"></td></tr> |
---|
148 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
149 | <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> |
---|
150 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
151 | <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> |
---|
152 | <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> |
---|
153 | <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> |
---|
154 | <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> |
---|
155 | <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> |
---|
156 | <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> |
---|
157 | <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> |
---|
158 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
159 | <tr bgcolor="gray" ><td></td><th><a name="part-l4" /><small>skipping to change at</small><em> page 4, line 43</em></th><th> </th><th><a name="part-r4" /><small>skipping to change at</small><em> page 4, line 43</em></th><td></td></tr> |
---|
160 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
161 | <tr><td class="lineno" valign="top"></td><td class="left"> An implementation is not compliant if it fails to satisfy one or more</td><td> </td><td class="right"> An implementation is not compliant if it fails to satisfy one or more</td><td class="lineno" valign="top"></td></tr> |
---|
162 | <tr><td class="lineno" valign="top"></td><td class="left"> of the MUST or REQUIRED level requirements for the protocols it</td><td> </td><td class="right"> of the MUST or REQUIRED level requirements for the protocols it</td><td class="lineno" valign="top"></td></tr> |
---|
163 | <tr><td class="lineno" valign="top"></td><td class="left"> implements. An implementation that satisfies all the MUST or</td><td> </td><td class="right"> implements. An implementation that satisfies all the MUST or</td><td class="lineno" valign="top"></td></tr> |
---|
164 | <tr><td class="lineno" valign="top"></td><td class="left"> REQUIRED level and all the SHOULD level requirements for its</td><td> </td><td class="right"> REQUIRED level and all the SHOULD level requirements for its</td><td class="lineno" valign="top"></td></tr> |
---|
165 | <tr><td class="lineno" valign="top"></td><td class="left"> protocols is said to be "unconditionally compliant"; one that</td><td> </td><td class="right"> protocols is said to be "unconditionally compliant"; one that</td><td class="lineno" valign="top"></td></tr> |
---|
166 | <tr><td class="lineno" valign="top"></td><td class="left"> satisfies all the MUST level requirements but not all the SHOULD</td><td> </td><td class="right"> satisfies all the MUST level requirements but not all the SHOULD</td><td class="lineno" valign="top"></td></tr> |
---|
167 | <tr><td class="lineno" valign="top"></td><td class="left"> level requirements for its protocols is said to be "conditionally</td><td> </td><td class="right"> level requirements for its protocols is said to be "conditionally</td><td class="lineno" valign="top"></td></tr> |
---|
168 | <tr><td class="lineno" valign="top"></td><td class="left"> compliant."</td><td> </td><td class="right"> compliant."</td><td class="lineno" valign="top"></td></tr> |
---|
169 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
170 | <tr><td><a name="diff0008" /></td></tr> |
---|
171 | <tr><td class="lineno" valign="top"></td><td class="lblock">2. Entity Tags</td><td> </td><td class="rblock">2. <span class="insert">Notational Conventions and Generic Grammar</span></td><td class="lineno" valign="top"></td></tr> |
---|
172 | <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> |
---|
173 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> This specification uses the ABNF syntax defined in Section 2.1 of</span></td><td class="lineno" valign="top"></td></tr> |
---|
174 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> [Part1] and the core rules defined in Section 2.2 of [Part1]:</span></td><td class="lineno" valign="top"></td></tr> |
---|
175 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> [[abnf.dep: ABNF syntax and basic rules will be adopted from RFC</span></td><td class="lineno" valign="top"></td></tr> |
---|
176 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> 5234, see <http://tools.ietf.org/wg/httpbis/trac/ticket/36>.]]</span></td><td class="lineno" valign="top"></td></tr> |
---|
177 | <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> |
---|
178 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> quoted-string = <quoted-string, defined in [Part1], Section 2.2></span></td><td class="lineno" valign="top"></td></tr> |
---|
179 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> The ABNF rules below are defined in other parts:</span></td><td class="lineno" valign="top"></td></tr> |
---|
180 | <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> |
---|
181 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> HTTP-date = <HTTP-date, defined in [Part1], Section 3.3.1></span></td><td class="lineno" valign="top"></td></tr> |
---|
182 | <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> |
---|
183 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">3.</span> Entity Tags</td><td class="lineno" valign="top"></td></tr> |
---|
184 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
185 | <tr><td class="lineno" valign="top"></td><td class="left"> Entity tags are used for comparing two or more entities from the same</td><td> </td><td class="right"> Entity tags are used for comparing two or more entities from the same</td><td class="lineno" valign="top"></td></tr> |
---|
186 | <tr><td class="lineno" valign="top"></td><td class="left"> requested resource. HTTP/1.1 uses entity tags in the ETag</td><td> </td><td class="right"> requested resource. HTTP/1.1 uses entity tags in the ETag</td><td class="lineno" valign="top"></td></tr> |
---|
187 | <tr><td><a name="diff0009" /></td></tr> |
---|
188 | <tr><td class="lineno" valign="top"></td><td class="lblock"> (Section <span class="delete">6.1),</span> If-Match (Section <span class="delete">6.2),</span> If-None-Match (Section <span class="delete">6.4),</span></td><td> </td><td class="rblock"> (Section <span class="insert">7.1),</span> If-Match (Section <span class="insert">7.2),</span> If-None-Match (Section <span class="insert">7.4),</span></td><td class="lineno" valign="top"></td></tr> |
---|
189 | <tr><td class="lineno" valign="top"></td><td class="lblock"> and If-Range (Section <span class="delete">5.3</span> of [Part5]) header fields. The definition</td><td> </td><td class="rblock"> and If-Range (Section <span class="insert">6.3</span> of [Part5]) header fields. The definition</td><td class="lineno" valign="top"></td></tr> |
---|
190 | <tr><td class="lineno" valign="top"></td><td class="left"> of how they are used and compared as cache validators is in</td><td> </td><td class="right"> of how they are used and compared as cache validators is in</td><td class="lineno" valign="top"></td></tr> |
---|
191 | <tr><td><a name="diff0010" /></td></tr> |
---|
192 | <tr><td class="lineno" valign="top"></td><td class="lblock"> Section <span class="delete">4</span>. An entity tag consists of an opaque quoted string,</td><td> </td><td class="rblock"> Section <span class="insert">5</span>. An entity tag consists of an opaque quoted string,</td><td class="lineno" valign="top"></td></tr> |
---|
193 | <tr><td class="lineno" valign="top"></td><td class="left"> possibly prefixed by a weakness indicator.</td><td> </td><td class="right"> possibly prefixed by a weakness indicator.</td><td class="lineno" valign="top"></td></tr> |
---|
194 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
195 | <tr><td class="lineno" valign="top"></td><td class="left"> entity-tag = [ weak ] opaque-tag</td><td> </td><td class="right"> entity-tag = [ weak ] opaque-tag</td><td class="lineno" valign="top"></td></tr> |
---|
196 | <tr><td class="lineno" valign="top"></td><td class="left"> weak = "W/"</td><td> </td><td class="right"> weak = "W/"</td><td class="lineno" valign="top"></td></tr> |
---|
197 | <tr><td class="lineno" valign="top"></td><td class="left"> opaque-tag = quoted-string</td><td> </td><td class="right"> opaque-tag = quoted-string</td><td class="lineno" valign="top"></td></tr> |
---|
198 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
199 | <tr><td class="lineno" valign="top"></td><td class="left"> A "strong entity tag" MAY be shared by two entities of a resource</td><td> </td><td class="right"> A "strong entity tag" MAY be shared by two entities of a resource</td><td class="lineno" valign="top"></td></tr> |
---|
200 | <tr><td class="lineno" valign="top"></td><td class="left"> only if they are equivalent by octet equality.</td><td> </td><td class="right"> only if they are equivalent by octet equality.</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 class="lineno" valign="top"></td><td class="left"> A "weak entity tag," indicated by the "W/" prefix, MAY be shared by</td><td> </td><td class="right"> A "weak entity tag," indicated by the "W/" prefix, MAY be shared by</td><td class="lineno" valign="top"></td></tr> |
---|
203 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
204 | <tr bgcolor="gray" ><td></td><th><a name="part-l5" /><small>skipping to change at</small><em> page 5, line 24</em></th><th> </th><th><a name="part-r5" /><small>skipping to change at</small><em> page 5, line 37</em></th><td></td></tr> |
---|
205 | <tr><td class="lineno" valign="top"></td><td class="left"> could be substituted for each other with no significant change in</td><td> </td><td class="right"> could be substituted for each other with no significant change in</td><td class="lineno" valign="top"></td></tr> |
---|
206 | <tr><td class="lineno" valign="top"></td><td class="left"> semantics. A weak entity tag can only be used for weak comparison.</td><td> </td><td class="right"> semantics. A weak entity tag can only be used for weak comparison.</td><td class="lineno" valign="top"></td></tr> |
---|
207 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
208 | <tr><td class="lineno" valign="top"></td><td class="left"> An entity tag MUST be unique across all versions of all entities</td><td> </td><td class="right"> An entity tag MUST be unique across all versions of all entities</td><td class="lineno" valign="top"></td></tr> |
---|
209 | <tr><td class="lineno" valign="top"></td><td class="left"> associated with a particular resource. A given entity tag value MAY</td><td> </td><td class="right"> associated with a particular resource. A given entity tag value MAY</td><td class="lineno" valign="top"></td></tr> |
---|
210 | <tr><td class="lineno" valign="top"></td><td class="left"> be used for entities obtained by requests on different URIs. The use</td><td> </td><td class="right"> be used for entities obtained by requests on different URIs. The use</td><td class="lineno" valign="top"></td></tr> |
---|
211 | <tr><td class="lineno" valign="top"></td><td class="left"> of the same entity tag value in conjunction with entities obtained by</td><td> </td><td class="right"> of the same entity tag value in conjunction with entities obtained by</td><td class="lineno" valign="top"></td></tr> |
---|
212 | <tr><td class="lineno" valign="top"></td><td class="left"> requests on different URIs does not imply the equivalence of those</td><td> </td><td class="right"> requests on different URIs does not imply the equivalence of those</td><td class="lineno" valign="top"></td></tr> |
---|
213 | <tr><td class="lineno" valign="top"></td><td class="left"> entities.</td><td> </td><td class="right"> entities.</td><td class="lineno" valign="top"></td></tr> |
---|
214 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
215 | <tr><td><a name="diff0011" /></td></tr> |
---|
216 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">3</span>. Status Code Definitions</td><td> </td><td class="rblock"><span class="insert">4</span>. Status Code Definitions</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><a name="diff0012" /></td></tr> |
---|
219 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">3</span>.1. 304 Not Modified</td><td> </td><td class="rblock"><span class="insert">4</span>.1. 304 Not Modified</td><td class="lineno" valign="top"></td></tr> |
---|
220 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
221 | <tr><td class="lineno" valign="top"></td><td class="left"> If the client has performed a conditional GET request and access is</td><td> </td><td class="right"> If the client has performed a conditional GET request and access is</td><td class="lineno" valign="top"></td></tr> |
---|
222 | <tr><td class="lineno" valign="top"></td><td class="left"> allowed, but the document has not been modified, the server SHOULD</td><td> </td><td class="right"> allowed, but the document has not been modified, the server SHOULD</td><td class="lineno" valign="top"></td></tr> |
---|
223 | <tr><td class="lineno" valign="top"></td><td class="left"> respond with this status code. The 304 response MUST NOT contain a</td><td> </td><td class="right"> respond with this status code. The 304 response MUST NOT contain a</td><td class="lineno" valign="top"></td></tr> |
---|
224 | <tr><td class="lineno" valign="top"></td><td class="left"> message-body, and thus is always terminated by the first empty line</td><td> </td><td class="right"> message-body, and thus is always terminated by the first empty line</td><td class="lineno" valign="top"></td></tr> |
---|
225 | <tr><td class="lineno" valign="top"></td><td class="left"> after the header fields.</td><td> </td><td class="right"> after the header fields.</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"> The response MUST include the following header fields:</td><td> </td><td class="right"> The response MUST include the following header fields:</td><td class="lineno" valign="top"></td></tr> |
---|
228 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
229 | <tr><td class="lineno" valign="top"></td><td class="left"> o Date, unless its omission is required by Section 8.3.1 of [Part1]</td><td> </td><td class="right"> o Date, unless its omission is required by Section 8.3.1 of [Part1]</td><td class="lineno" valign="top"></td></tr> |
---|
230 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
231 | <tr bgcolor="gray" ><td></td><th><a name="part-l6" /><small>skipping to change at</small><em> page 5, line 50</em></th><th> </th><th><a name="part-r6" /><small>skipping to change at</small><em> page 6, line 19</em></th><td></td></tr> |
---|
232 | <tr><td class="lineno" valign="top"></td><td class="left"> already specified by [RFC2068], Section 14.19), caches will operate</td><td> </td><td class="right"> already specified by [RFC2068], Section 14.19), caches will operate</td><td class="lineno" valign="top"></td></tr> |
---|
233 | <tr><td class="lineno" valign="top"></td><td class="left"> correctly.</td><td> </td><td class="right"> correctly.</td><td class="lineno" valign="top"></td></tr> |
---|
234 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
235 | <tr><td class="lineno" valign="top"></td><td class="left"> o ETag and/or Content-Location, if the header would have been sent</td><td> </td><td class="right"> o ETag and/or Content-Location, if the header would have been sent</td><td class="lineno" valign="top"></td></tr> |
---|
236 | <tr><td class="lineno" valign="top"></td><td class="left"> in a 200 response to the same request</td><td> </td><td class="right"> in a 200 response to the same request</td><td class="lineno" valign="top"></td></tr> |
---|
237 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
238 | <tr><td class="lineno" valign="top"></td><td class="left"> o Expires, Cache-Control, and/or Vary, if the field-value might</td><td> </td><td class="right"> o Expires, Cache-Control, and/or Vary, if the field-value might</td><td class="lineno" valign="top"></td></tr> |
---|
239 | <tr><td class="lineno" valign="top"></td><td class="left"> differ from that sent in any previous response for the same</td><td> </td><td class="right"> differ from that sent in any previous response for the same</td><td class="lineno" valign="top"></td></tr> |
---|
240 | <tr><td class="lineno" valign="top"></td><td class="left"> variant</td><td> </td><td class="right"> variant</td><td class="lineno" valign="top"></td></tr> |
---|
241 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
242 | <tr><td><a name="diff0013" /></td></tr> |
---|
243 | <tr><td class="lineno" valign="top"></td><td class="lblock"> If the conditional GET used a strong cache validator (see Section <span class="delete">4</span>),</td><td> </td><td class="rblock"> If the conditional GET used a strong cache validator (see Section <span class="insert">5</span>),</td><td class="lineno" valign="top"></td></tr> |
---|
244 | <tr><td class="lineno" valign="top"></td><td class="left"> the response SHOULD NOT include other entity-headers. Otherwise</td><td> </td><td class="right"> the response SHOULD NOT include other entity-headers. Otherwise</td><td class="lineno" valign="top"></td></tr> |
---|
245 | <tr><td class="lineno" valign="top"></td><td class="left"> (i.e., the conditional GET used a weak validator), the response MUST</td><td> </td><td class="right"> (i.e., the conditional GET used a weak validator), the response MUST</td><td class="lineno" valign="top"></td></tr> |
---|
246 | <tr><td class="lineno" valign="top"></td><td class="left"> NOT include other entity-headers; this prevents inconsistencies</td><td> </td><td class="right"> NOT include other entity-headers; this prevents inconsistencies</td><td class="lineno" valign="top"></td></tr> |
---|
247 | <tr><td class="lineno" valign="top"></td><td class="left"> between cached entity-bodies and updated headers.</td><td> </td><td class="right"> between cached entity-bodies and updated headers.</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"> If a 304 response indicates an entity not currently cached, then the</td><td> </td><td class="right"> If a 304 response indicates an entity not currently cached, then the</td><td class="lineno" valign="top"></td></tr> |
---|
250 | <tr><td class="lineno" valign="top"></td><td class="left"> cache MUST disregard the response and repeat the request without the</td><td> </td><td class="right"> cache MUST disregard the response and repeat the request without the</td><td class="lineno" valign="top"></td></tr> |
---|
251 | <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> |
---|
252 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
253 | <tr><td 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> |
---|
254 | <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> |
---|
255 | <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> |
---|
256 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
257 | <tr><td><a name="diff0014" /></td></tr> |
---|
258 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">3</span>.2. 412 Precondition Failed</td><td> </td><td class="rblock"><span class="insert">4</span>.2. 412 Precondition Failed</td><td class="lineno" valign="top"></td></tr> |
---|
259 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
260 | <tr><td class="lineno" valign="top"></td><td class="left"> The precondition given in one or more of the request-header fields</td><td> </td><td class="right"> The precondition given in one or more of the request-header fields</td><td class="lineno" valign="top"></td></tr> |
---|
261 | <tr><td class="lineno" valign="top"></td><td class="left"> evaluated to false when it was tested on the server. This response</td><td> </td><td class="right"> evaluated to false when it was tested on the server. This response</td><td class="lineno" valign="top"></td></tr> |
---|
262 | <tr><td class="lineno" valign="top"></td><td class="left"> code allows the client to place preconditions on the current resource</td><td> </td><td class="right"> code allows the client to place preconditions on the current resource</td><td class="lineno" valign="top"></td></tr> |
---|
263 | <tr><td class="lineno" valign="top"></td><td class="left"> metainformation (header field data) and thus prevent the requested</td><td> </td><td class="right"> metainformation (header field data) and thus prevent the requested</td><td class="lineno" valign="top"></td></tr> |
---|
264 | <tr><td class="lineno" valign="top"></td><td class="left"> method from being applied to a resource other than the one intended.</td><td> </td><td class="right"> method from being applied to a resource other than the one intended.</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><a name="diff0015" /></td></tr> |
---|
267 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">4</span>. Weak and Strong Validators</td><td> </td><td class="rblock"><span class="insert">5</span>. Weak and Strong Validators</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"> 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> |
---|
270 | <tr><td class="lineno" valign="top"></td><td class="left"> decide if they represent the same or different entities, one normally</td><td> </td><td class="right"> decide if they represent the same or different entities, one normally</td><td class="lineno" valign="top"></td></tr> |
---|
271 | <tr><td class="lineno" valign="top"></td><td class="left"> would expect that if the entity (the entity-body or any entity-</td><td> </td><td class="right"> would expect that if the entity (the entity-body or any entity-</td><td class="lineno" valign="top"></td></tr> |
---|
272 | <tr><td class="lineno" valign="top"></td><td class="left"> headers) changes in any way, then the associated validator would</td><td> </td><td class="right"> headers) changes in any way, then the associated validator would</td><td class="lineno" valign="top"></td></tr> |
---|
273 | <tr><td class="lineno" valign="top"></td><td class="left"> change as well. If this is true, then we call this validator a</td><td> </td><td class="right"> change as well. If this is true, then we call this validator a</td><td class="lineno" valign="top"></td></tr> |
---|
274 | <tr><td class="lineno" valign="top"></td><td class="left"> "strong validator."</td><td> </td><td class="right"> "strong validator."</td><td class="lineno" valign="top"></td></tr> |
---|
275 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
276 | <tr><td class="lineno" valign="top"></td><td class="left"> However, there might be cases when a server prefers to change the</td><td> </td><td class="right"> However, there might be cases when a server prefers to change the</td><td class="lineno" valign="top"></td></tr> |
---|
277 | <tr><td class="lineno" valign="top"></td><td class="left"> validator only on semantically significant changes, and not when</td><td> </td><td class="right"> validator only on semantically significant changes, and not when</td><td class="lineno" valign="top"></td></tr> |
---|
278 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
279 | <tr bgcolor="gray" ><td></td><th><a name="part-l7" /><small>skipping to change at</small><em> page 7, line 30</em></th><th> </th><th><a name="part-r7" /><small>skipping to change at</small><em> page 7, line 44</em></th><td></td></tr> |
---|
280 | <tr><td class="lineno" valign="top"></td><td class="left"> only usable in contexts that do not depend on exact equality of an</td><td> </td><td class="right"> only usable in contexts that do not depend on exact equality of an</td><td class="lineno" valign="top"></td></tr> |
---|
281 | <tr><td class="lineno" valign="top"></td><td class="left"> entity. For example, either kind is usable for a conditional GET of</td><td> </td><td class="right"> entity. For example, either kind is usable for a conditional GET of</td><td class="lineno" valign="top"></td></tr> |
---|
282 | <tr><td class="lineno" valign="top"></td><td class="left"> a full entity. However, only a strong validator is usable for a sub-</td><td> </td><td class="right"> a full entity. However, only a strong validator is usable for a sub-</td><td class="lineno" valign="top"></td></tr> |
---|
283 | <tr><td class="lineno" valign="top"></td><td class="left"> range retrieval, since otherwise the client might end up with an</td><td> </td><td class="right"> range retrieval, since otherwise the client might end up with an</td><td class="lineno" valign="top"></td></tr> |
---|
284 | <tr><td class="lineno" valign="top"></td><td class="left"> internally inconsistent entity.</td><td> </td><td class="right"> internally inconsistent entity.</td><td class="lineno" valign="top"></td></tr> |
---|
285 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
286 | <tr><td class="lineno" valign="top"></td><td class="left"> Clients MAY issue simple (non-subrange) GET requests with either weak</td><td> </td><td class="right"> Clients MAY issue simple (non-subrange) GET requests with either weak</td><td class="lineno" valign="top"></td></tr> |
---|
287 | <tr><td class="lineno" valign="top"></td><td class="left"> validators or strong validators. Clients MUST NOT use weak</td><td> </td><td class="right"> validators or strong validators. Clients MUST NOT use weak</td><td class="lineno" valign="top"></td></tr> |
---|
288 | <tr><td class="lineno" valign="top"></td><td class="left"> validators in other forms of request.</td><td> </td><td class="right"> validators in other forms of request.</td><td class="lineno" valign="top"></td></tr> |
---|
289 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
290 | <tr><td><a name="diff0016" /></td></tr> |
---|
291 | <tr><td class="lineno" valign="top"></td><td class="lblock"> The only function that <span class="delete">the</span> HTTP/1.1 <span class="delete">protocol</span> defines on validators is</td><td> </td><td class="rblock"> The only function that HTTP/1.1 defines on validators is comparison.</td><td class="lineno" valign="top"></td></tr> |
---|
292 | <tr><td class="lineno" valign="top"></td><td class="lblock"> comparison. There are two validator comparison functions, depending</td><td> </td><td class="rblock"> There are two validator comparison functions, depending on whether</td><td class="lineno" valign="top"></td></tr> |
---|
293 | <tr><td class="lineno" valign="top"></td><td class="lblock"> on whether the comparison context allows the use of weak validators</td><td> </td><td class="rblock"> the comparison context allows the use of weak validators or not:</td><td class="lineno" valign="top"></td></tr> |
---|
294 | <tr><td class="lineno" valign="top"></td><td class="lblock"> or not:</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
295 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
296 | <tr><td class="lineno" valign="top"></td><td class="left"> o The strong comparison function: in order to be considered equal,</td><td> </td><td class="right"> o The strong comparison function: in order to be considered equal,</td><td class="lineno" valign="top"></td></tr> |
---|
297 | <tr><td class="lineno" valign="top"></td><td class="left"> both validators MUST be identical in every way, and both MUST NOT</td><td> </td><td class="right"> both validators MUST be identical in every way, and both MUST NOT</td><td class="lineno" valign="top"></td></tr> |
---|
298 | <tr><td class="lineno" valign="top"></td><td class="left"> be weak.</td><td> </td><td class="right"> be weak.</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 class="lineno" valign="top"></td><td class="left"> o The weak comparison function: in order to be considered equal,</td><td> </td><td class="right"> o The weak comparison function: in order to be considered equal,</td><td class="lineno" valign="top"></td></tr> |
---|
301 | <tr><td class="lineno" valign="top"></td><td class="left"> both validators MUST be identical in every way, but either or both</td><td> </td><td class="right"> both validators MUST be identical in every way, but either or both</td><td class="lineno" valign="top"></td></tr> |
---|
302 | <tr><td class="lineno" valign="top"></td><td class="left"> of them MAY be tagged as "weak" without affecting the result.</td><td> </td><td class="right"> of them MAY be tagged as "weak" without affecting the result.</td><td class="lineno" valign="top"></td></tr> |
---|
303 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
304 | <tr><td class="lineno" valign="top"></td><td class="left"> An entity tag is strong unless it is explicitly tagged as weak.</td><td> </td><td class="right"> An entity tag is strong unless it is explicitly tagged as weak.</td><td class="lineno" valign="top"></td></tr> |
---|
305 | <tr><td><a name="diff0017" /></td></tr> |
---|
306 | <tr><td class="lineno" valign="top"></td><td class="lblock"> Section <span class="delete">2</span> gives the syntax for entity tags.</td><td> </td><td class="rblock"> Section <span class="insert">3</span> gives the syntax for entity tags.</td><td class="lineno" valign="top"></td></tr> |
---|
307 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
308 | <tr><td class="lineno" valign="top"></td><td class="left"> A Last-Modified time, when used as a validator in a request, is</td><td> </td><td class="right"> A Last-Modified time, when used as a validator in a request, is</td><td class="lineno" valign="top"></td></tr> |
---|
309 | <tr><td class="lineno" valign="top"></td><td class="left"> implicitly weak unless it is possible to deduce that it is strong,</td><td> </td><td class="right"> implicitly weak unless it is possible to deduce that it is strong,</td><td class="lineno" valign="top"></td></tr> |
---|
310 | <tr><td class="lineno" valign="top"></td><td class="left"> using the following rules:</td><td> </td><td class="right"> using the following rules:</td><td class="lineno" valign="top"></td></tr> |
---|
311 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
312 | <tr><td class="lineno" valign="top"></td><td class="left"> o The validator is being compared by an origin server to the actual</td><td> </td><td class="right"> o The validator is being compared by an origin server to the actual</td><td class="lineno" valign="top"></td></tr> |
---|
313 | <tr><td class="lineno" valign="top"></td><td class="left"> current validator for the entity and,</td><td> </td><td class="right"> current validator for the entity and,</td><td class="lineno" valign="top"></td></tr> |
---|
314 | <tr><td><a name="diff0018" /></td></tr> |
---|
315 | <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> |
---|
316 | <tr><td class="lineno" valign="top"></td><td class="left"> o That origin server reliably knows that the associated entity did</td><td> </td><td class="right"> o That origin server reliably knows that the associated entity did</td><td class="lineno" valign="top"></td></tr> |
---|
317 | <tr><td class="lineno" valign="top"></td><td class="left"> not change twice during the second covered by the presented</td><td> </td><td class="right"> not change twice during the second covered by the presented</td><td class="lineno" valign="top"></td></tr> |
---|
318 | <tr><td class="lineno" valign="top"></td><td class="left"> validator.</td><td> </td><td class="right"> validator.</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"> or</td><td> </td><td class="right"> or</td><td class="lineno" valign="top"></td></tr> |
---|
321 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
322 | <tr><td class="lineno" valign="top"></td><td class="left"> o The validator is about to be used by a client in an If-Modified-</td><td> </td><td class="right"> o The validator is about to be used by a client in an If-Modified-</td><td class="lineno" valign="top"></td></tr> |
---|
323 | <tr><td class="lineno" valign="top"></td><td class="left"> Since or If-Unmodified-Since header, because the client has a</td><td> </td><td class="right"> Since or If-Unmodified-Since header, because the client has a</td><td class="lineno" valign="top"></td></tr> |
---|
324 | <tr><td class="lineno" valign="top"></td><td class="left"> cache entry for the associated entity, and</td><td> </td><td class="right"> cache entry for the associated entity, and</td><td class="lineno" valign="top"></td></tr> |
---|
325 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
326 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
327 | <tr bgcolor="gray" ><td></td><th><a name="part-l8" /><small>skipping to change at</small><em> page 9, line 6</em></th><th> </th><th><a name="part-r8" /><small>skipping to change at</small><em> page 9, line 20</em></th><td></td></tr> |
---|
328 | <tr><td class="lineno" valign="top"></td><td class="left"> described here.</td><td> </td><td class="right"> described here.</td><td class="lineno" valign="top"></td></tr> |
---|
329 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
330 | <tr><td class="lineno" valign="top"></td><td class="left"> A cache or origin server receiving a conditional request, other than</td><td> </td><td class="right"> A cache or origin server receiving a conditional request, other than</td><td class="lineno" valign="top"></td></tr> |
---|
331 | <tr><td class="lineno" valign="top"></td><td class="left"> a full-body GET request, MUST use the strong comparison function to</td><td> </td><td class="right"> a full-body GET request, MUST use the strong comparison function to</td><td class="lineno" valign="top"></td></tr> |
---|
332 | <tr><td class="lineno" valign="top"></td><td class="left"> evaluate the condition.</td><td> </td><td class="right"> evaluate the condition.</td><td class="lineno" valign="top"></td></tr> |
---|
333 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
334 | <tr><td class="lineno" valign="top"></td><td class="left"> These rules allow HTTP/1.1 caches and clients to safely perform sub-</td><td> </td><td class="right"> These rules allow HTTP/1.1 caches and clients to safely perform sub-</td><td class="lineno" valign="top"></td></tr> |
---|
335 | <tr><td class="lineno" valign="top"></td><td class="left"> range retrievals on values that have been obtained from HTTP/1.0</td><td> </td><td class="right"> range retrievals on values that have been obtained from HTTP/1.0</td><td class="lineno" valign="top"></td></tr> |
---|
336 | <tr><td class="lineno" valign="top"></td><td class="left"> servers.</td><td> </td><td class="right"> servers.</td><td class="lineno" valign="top"></td></tr> |
---|
337 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
338 | <tr><td><a name="diff0019" /></td></tr> |
---|
339 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">5</span>. Rules for When to Use Entity Tags and Last-Modified Dates</td><td> </td><td class="rblock"><span class="insert">6</span>. Rules for When to Use Entity Tags and Last-Modified Dates</td><td class="lineno" valign="top"></td></tr> |
---|
340 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
341 | <tr><td class="lineno" valign="top"></td><td class="left"> We adopt a set of rules and recommendations for origin servers,</td><td> </td><td class="right"> We adopt a set of rules and recommendations for origin servers,</td><td class="lineno" valign="top"></td></tr> |
---|
342 | <tr><td class="lineno" valign="top"></td><td class="left"> clients, and caches regarding when various validator types ought to</td><td> </td><td class="right"> clients, and caches regarding when various validator types ought to</td><td class="lineno" valign="top"></td></tr> |
---|
343 | <tr><td class="lineno" valign="top"></td><td class="left"> be used, and for what purposes.</td><td> </td><td class="right"> be used, and for what purposes.</td><td class="lineno" valign="top"></td></tr> |
---|
344 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
345 | <tr><td class="lineno" valign="top"></td><td class="left"> HTTP/1.1 origin servers:</td><td> </td><td class="right"> HTTP/1.1 origin servers:</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"> o SHOULD send an entity tag validator unless it is not feasible to</td><td> </td><td class="right"> o SHOULD send an entity tag validator unless it is not feasible to</td><td class="lineno" valign="top"></td></tr> |
---|
348 | <tr><td class="lineno" valign="top"></td><td class="left"> generate one.</td><td> </td><td class="right"> generate one.</td><td class="lineno" valign="top"></td></tr> |
---|
349 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
350 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
351 | <tr bgcolor="gray" ><td></td><th><a name="part-l9" /><small>skipping to change at</small><em> page 10, line 44</em></th><th> </th><th><a name="part-r9" /><small>skipping to change at</small><em> page 11, line 10</em></th><td></td></tr> |
---|
352 | <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> |
---|
353 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
354 | <tr><td class="lineno" valign="top"></td><td class="left"> HTTP/1.0 clients and caches will ignore entity tags. Generally,</td><td> </td><td class="right"> HTTP/1.0 clients and caches will ignore entity tags. Generally,</td><td class="lineno" valign="top"></td></tr> |
---|
355 | <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> |
---|
356 | <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> |
---|
357 | <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> |
---|
358 | <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> |
---|
359 | <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> |
---|
360 | <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> |
---|
361 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
362 | <tr><td><a name="diff0020" /></td></tr> |
---|
363 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">6</span>. Header Field Definitions</td><td> </td><td class="rblock"><span class="insert">7</span>. Header Field Definitions</td><td class="lineno" valign="top"></td></tr> |
---|
364 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
365 | <tr><td class="lineno" valign="top"></td><td class="left"> 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> |
---|
366 | <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> |
---|
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"> For entity-header fields, both sender and recipient refer to either</td><td> </td><td class="right"> For entity-header fields, both sender and recipient refer to either</td><td class="lineno" valign="top"></td></tr> |
---|
369 | <tr><td class="lineno" valign="top"></td><td class="left"> the client or the server, depending on who sends and who receives the</td><td> </td><td class="right"> the client or the server, depending on who sends and who receives the</td><td class="lineno" valign="top"></td></tr> |
---|
370 | <tr><td class="lineno" valign="top"></td><td class="left"> entity.</td><td> </td><td class="right"> entity.</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><a name="diff0021" /></td></tr> |
---|
373 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">6</span>.1. ETag</td><td> </td><td class="rblock"><span class="insert">7</span>.1. ETag</td><td class="lineno" valign="top"></td></tr> |
---|
374 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
375 | <tr><td class="lineno" valign="top"></td><td class="left"> The ETag response-header field provides the current value of the</td><td> </td><td class="right"> The ETag response-header field provides the current value of the</td><td class="lineno" valign="top"></td></tr> |
---|
376 | <tr><td class="lineno" valign="top"></td><td class="left"> entity tag for the requested variant. The headers used with entity</td><td> </td><td class="right"> entity tag for the requested variant. The headers used with entity</td><td class="lineno" valign="top"></td></tr> |
---|
377 | <tr><td><a name="diff0022" /></td></tr> |
---|
378 | <tr><td class="lineno" valign="top"></td><td class="lblock"> tags are described in Sections <span class="delete">6.2</span> and <span class="delete">6.4</span> of this document, and in</td><td> </td><td class="rblock"> tags are described in Sections <span class="insert">7.2</span> and <span class="insert">7.4</span> of this document, and in</td><td class="lineno" valign="top"></td></tr> |
---|
379 | <tr><td class="lineno" valign="top"></td><td class="lblock"> Section <span class="delete">5.3</span> of [Part5]. The entity tag MAY be used for comparison</td><td> </td><td class="rblock"> Section <span class="insert">6.3</span> of [Part5]. The entity tag MAY be used for comparison</td><td class="lineno" valign="top"></td></tr> |
---|
380 | <tr><td class="lineno" valign="top"></td><td class="lblock"> with other entities from the same resource (see Section <span class="delete">4).</span></td><td> </td><td class="rblock"> with other entities from the same resource (see Section <span class="insert">5).</span></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"> ETag = "ETag" ":" entity-tag</td><td> </td><td class="right"> ETag = "ETag" ":" entity-tag</td><td class="lineno" valign="top"></td></tr> |
---|
383 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
384 | <tr><td class="lineno" valign="top"></td><td class="left"> Examples:</td><td> </td><td class="right"> Examples:</td><td class="lineno" valign="top"></td></tr> |
---|
385 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
386 | <tr><td 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> |
---|
387 | <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> |
---|
388 | <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> |
---|
389 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
390 | <tr><td><a name="diff0023" /></td></tr> |
---|
391 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">6.2.</span> If-Match</td><td> </td><td class="rblock"> <span class="insert">The ETag response-header field value, an entity tag, provides for an</span></td><td class="lineno" valign="top"></td></tr> |
---|
392 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> "opaque" cache validator. This might allow more reliable validation</span></td><td class="lineno" valign="top"></td></tr> |
---|
393 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> in situations where it is inconvenient to store modification dates,</span></td><td class="lineno" valign="top"></td></tr> |
---|
394 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> where the one-second resolution of HTTP date values is not</span></td><td class="lineno" valign="top"></td></tr> |
---|
395 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> sufficient, or where the origin server wishes to avoid certain</span></td><td class="lineno" valign="top"></td></tr> |
---|
396 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> paradoxes that might arise from the use of modification dates.</span></td><td class="lineno" valign="top"></td></tr> |
---|
397 | <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> |
---|
398 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> The principle behind entity tags is that only the service author</span></td><td class="lineno" valign="top"></td></tr> |
---|
399 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> knows the semantics of a resource well enough to select an</span></td><td class="lineno" valign="top"></td></tr> |
---|
400 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> appropriate cache validation mechanism, and the specification of any</span></td><td class="lineno" valign="top"></td></tr> |
---|
401 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> validator comparison function more complex than byte-equality would</span></td><td class="lineno" valign="top"></td></tr> |
---|
402 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> open up a can of worms. Thus, comparisons of any other headers</span></td><td class="lineno" valign="top"></td></tr> |
---|
403 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> (except Last-Modified, for compatibility with HTTP/1.0) are never</span></td><td class="lineno" valign="top"></td></tr> |
---|
404 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> used for purposes of validating a cache entry.</span></td><td class="lineno" valign="top"></td></tr> |
---|
405 | <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> |
---|
406 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">7.2.</span> If-Match</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"> The If-Match request-header field is used with a method to make it</td><td> </td><td class="right"> The If-Match request-header field is used with a method to make it</td><td class="lineno" valign="top"></td></tr> |
---|
409 | <tr><td class="lineno" valign="top"></td><td class="left"> conditional. A client that has one or more entities previously</td><td> </td><td class="right"> conditional. A client that has one or more entities previously</td><td class="lineno" valign="top"></td></tr> |
---|
410 | <tr><td class="lineno" valign="top"></td><td class="left"> obtained from the resource can verify that one of those entities is</td><td> </td><td class="right"> obtained from the resource can verify that one of those entities is</td><td class="lineno" valign="top"></td></tr> |
---|
411 | <tr><td class="lineno" valign="top"></td><td class="left"> current by including a list of their associated entity tags in the</td><td> </td><td class="right"> current by including a list of their associated entity tags in the</td><td class="lineno" valign="top"></td></tr> |
---|
412 | <tr><td><a name="diff0024" /></td></tr> |
---|
413 | <tr><td class="lineno" valign="top"></td><td class="lblock"> If-Match header field. Entity tags are defined in Section <span class="delete">2</span>. The</td><td> </td><td class="rblock"> If-Match header field. Entity tags are defined in Section <span class="insert">3</span>. The</td><td class="lineno" valign="top"></td></tr> |
---|
414 | <tr><td class="lineno" valign="top"></td><td class="left"> purpose of this feature is to allow efficient updates of cached</td><td> </td><td class="right"> purpose of this feature is to allow efficient updates of cached</td><td class="lineno" valign="top"></td></tr> |
---|
415 | <tr><td class="lineno" valign="top"></td><td class="left"> information with a minimum amount of transaction overhead. It is</td><td> </td><td class="right"> information with a minimum amount of transaction overhead. It is</td><td class="lineno" valign="top"></td></tr> |
---|
416 | <tr><td class="lineno" valign="top"></td><td class="left"> also used, on updating requests, to prevent inadvertent modification</td><td> </td><td class="right"> also used, on updating requests, to prevent inadvertent modification</td><td class="lineno" valign="top"></td></tr> |
---|
417 | <tr><td class="lineno" valign="top"></td><td class="left"> of the wrong version of a resource. As a special case, the value "*"</td><td> </td><td class="right"> of the wrong version of a resource. As a special case, the value "*"</td><td class="lineno" valign="top"></td></tr> |
---|
418 | <tr><td class="lineno" valign="top"></td><td class="left"> matches any current entity of the resource.</td><td> </td><td class="right"> matches any current entity of the resource.</td><td class="lineno" valign="top"></td></tr> |
---|
419 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
420 | <tr><td class="lineno" valign="top"></td><td class="left"> If-Match = "If-Match" ":" ( "*" | 1#entity-tag )</td><td> </td><td class="right"> If-Match = "If-Match" ":" ( "*" | 1#entity-tag )</td><td class="lineno" valign="top"></td></tr> |
---|
421 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
422 | <tr><td class="lineno" valign="top"></td><td class="left"> If any of the entity tags match the entity tag of the entity that</td><td> </td><td class="right"> If any of the entity tags match the entity tag of the entity that</td><td class="lineno" valign="top"></td></tr> |
---|
423 | <tr><td class="lineno" valign="top"></td><td class="left"> would have been returned in the response to a similar GET request</td><td> </td><td class="right"> would have been returned in the response to a similar GET request</td><td class="lineno" valign="top"></td></tr> |
---|
424 | <tr><td class="lineno" valign="top"></td><td class="left"> (without the If-Match header) on that resource, or if "*" is given</td><td> </td><td class="right"> (without the If-Match header) on that resource, or if "*" is given</td><td class="lineno" valign="top"></td></tr> |
---|
425 | <tr><td class="lineno" valign="top"></td><td class="left"> and any current entity exists for that resource, then the server MAY</td><td> </td><td class="right"> and any current entity exists for that resource, then the server MAY</td><td class="lineno" valign="top"></td></tr> |
---|
426 | <tr><td class="lineno" valign="top"></td><td class="left"> perform the requested method as if the If-Match header field did not</td><td> </td><td class="right"> perform the requested method as if the If-Match header field did not</td><td class="lineno" valign="top"></td></tr> |
---|
427 | <tr><td class="lineno" valign="top"></td><td class="left"> exist.</td><td> </td><td class="right"> exist.</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><a name="diff0025" /></td></tr> |
---|
430 | <tr><td class="lineno" valign="top"></td><td class="lblock"> A server MUST use the strong comparison function (see Section <span class="delete">4</span>) to</td><td> </td><td class="rblock"> A server MUST use the strong comparison function (see Section <span class="insert">5</span>) to</td><td class="lineno" valign="top"></td></tr> |
---|
431 | <tr><td class="lineno" valign="top"></td><td class="left"> compare the entity tags in If-Match.</td><td> </td><td class="right"> compare the entity tags in If-Match.</td><td class="lineno" valign="top"></td></tr> |
---|
432 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
433 | <tr><td class="lineno" valign="top"></td><td class="left"> 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> |
---|
434 | <tr><td class="lineno" valign="top"></td><td class="left"> entity exists, the server MUST NOT perform the requested method, and</td><td> </td><td class="right"> entity exists, the server MUST NOT perform the requested method, and</td><td class="lineno" valign="top"></td></tr> |
---|
435 | <tr><td class="lineno" valign="top"></td><td class="left"> MUST return a 412 (Precondition Failed) response. This behavior is</td><td> </td><td class="right"> MUST return a 412 (Precondition Failed) response. This behavior is</td><td class="lineno" valign="top"></td></tr> |
---|
436 | <tr><td class="lineno" valign="top"></td><td class="left"> most useful when the client wants to prevent an updating method, such</td><td> </td><td class="right"> most useful when the client wants to prevent an updating method, such</td><td class="lineno" valign="top"></td></tr> |
---|
437 | <tr><td class="lineno" valign="top"></td><td class="left"> as PUT, from modifying a resource that has changed since the client</td><td> </td><td class="right"> as PUT, from modifying a resource that has changed since the client</td><td class="lineno" valign="top"></td></tr> |
---|
438 | <tr><td class="lineno" valign="top"></td><td class="left"> last retrieved it.</td><td> </td><td class="right"> last retrieved it.</td><td class="lineno" valign="top"></td></tr> |
---|
439 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
440 | <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> |
---|
441 | <tr><td class="lineno" valign="top"></td><td class="left"> anything other than a 2xx or 412 status, then the If-Match header</td><td> </td><td class="right"> anything other than a 2xx or 412 status, then the If-Match header</td><td class="lineno" valign="top"></td></tr> |
---|
442 | <tr><td class="lineno" valign="top"></td><td class="left"> MUST be ignored.</td><td> </td><td class="right"> MUST be ignored.</td><td class="lineno" valign="top"></td></tr> |
---|
443 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
444 | <tr><td class="lineno" valign="top"></td><td class="left"> The meaning of "If-Match: *" is that the method SHOULD be performed</td><td> </td><td class="right"> The meaning of "If-Match: *" is that the method SHOULD be performed</td><td class="lineno" valign="top"></td></tr> |
---|
445 | <tr><td class="lineno" valign="top"></td><td class="left"> if the representation selected by the origin server (or by a cache,</td><td> </td><td class="right"> if the representation selected by the origin server (or by a cache,</td><td class="lineno" valign="top"></td></tr> |
---|
446 | <tr><td><a name="diff0026" /></td></tr> |
---|
447 | <tr><td class="lineno" valign="top"></td><td class="lblock"> possibly using the Vary mechanism, see Section 1<span class="delete">5</span>.5 of [Part6])</td><td> </td><td class="rblock"> possibly using the Vary mechanism, see Section 1<span class="insert">6</span>.5 of [Part6])</td><td class="lineno" valign="top"></td></tr> |
---|
448 | <tr><td class="lineno" valign="top"></td><td class="left"> exists, and MUST NOT be performed if the representation does not</td><td> </td><td class="right"> exists, and MUST NOT be performed if the representation does not</td><td class="lineno" valign="top"></td></tr> |
---|
449 | <tr><td class="lineno" valign="top"></td><td class="left"> exist.</td><td> </td><td class="right"> exist.</td><td class="lineno" valign="top"></td></tr> |
---|
450 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
451 | <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> |
---|
452 | <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> |
---|
453 | <tr><td class="lineno" valign="top"></td><td class="left"> applied if the entity corresponding to the If-Match value (a single</td><td> </td><td class="right"> applied if the entity corresponding to the If-Match value (a single</td><td class="lineno" valign="top"></td></tr> |
---|
454 | <tr><td class="lineno" valign="top"></td><td class="left"> entity tag) is no longer a representation of that resource. This</td><td> </td><td class="right"> entity tag) is no longer a representation of that resource. This</td><td class="lineno" valign="top"></td></tr> |
---|
455 | <tr><td class="lineno" valign="top"></td><td class="left"> allows the user to indicate that they do not wish the request to be</td><td> </td><td class="right"> allows the user to indicate that they do not wish the request to be</td><td class="lineno" valign="top"></td></tr> |
---|
456 | <tr><td class="lineno" valign="top"></td><td class="left"> successful if the resource has been changed without their knowledge.</td><td> </td><td class="right"> successful if the resource has been changed without their knowledge.</td><td class="lineno" valign="top"></td></tr> |
---|
457 | <tr><td><a name="diff0027" /></td></tr> |
---|
458 | <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> |
---|
459 | <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> |
---|
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"> If-Match: "xyzzy"</td><td> </td><td class="right"> If-Match: "xyzzy"</td><td class="lineno" valign="top"></td></tr> |
---|
462 | <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> |
---|
463 | <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> |
---|
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"> 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> |
---|
466 | <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> |
---|
467 | <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> |
---|
468 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
469 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
470 | <tr bgcolor="gray" ><td></td><th><a name="part-l10" /><small>skipping to change at</small><em> page 12, line 32</em></th><th> </th><th><a name="part-r10" /><small>skipping to change at</small><em> page 13, line 15</em></th><td></td></tr> |
---|
471 | <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> |
---|
472 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
473 | <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> |
---|
474 | <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> |
---|
475 | <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> |
---|
476 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
477 | <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> |
---|
478 | <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> |
---|
479 | <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> |
---|
480 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
481 | <tr><td><a name="diff0028" /></td></tr> |
---|
482 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">6</span>.3. If-Modified-Since</td><td> </td><td class="rblock"><span class="insert">7</span>.3. If-Modified-Since</td><td class="lineno" valign="top"></td></tr> |
---|
483 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
484 | <tr><td class="lineno" valign="top"></td><td class="left"> The If-Modified-Since request-header field is used with a method to</td><td> </td><td class="right"> The If-Modified-Since request-header field is used with a method to</td><td class="lineno" valign="top"></td></tr> |
---|
485 | <tr><td class="lineno" valign="top"></td><td class="left"> make it conditional: if the requested variant has not been modified</td><td> </td><td class="right"> make it conditional: if the requested variant has not been modified</td><td class="lineno" valign="top"></td></tr> |
---|
486 | <tr><td class="lineno" valign="top"></td><td class="left"> since the time specified in this field, an entity will not be</td><td> </td><td class="right"> since the time specified in this field, an entity will not be</td><td class="lineno" valign="top"></td></tr> |
---|
487 | <tr><td class="lineno" valign="top"></td><td class="left"> returned from the server; instead, a 304 (Not Modified) response will</td><td> </td><td class="right"> returned from the server; instead, a 304 (Not Modified) response will</td><td class="lineno" valign="top"></td></tr> |
---|
488 | <tr><td class="lineno" valign="top"></td><td class="left"> be returned without any message-body.</td><td> </td><td class="right"> be returned without any message-body.</td><td class="lineno" valign="top"></td></tr> |
---|
489 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
490 | <tr><td class="lineno" valign="top"></td><td class="left"> If-Modified-Since = "If-Modified-Since" ":" HTTP-date</td><td> </td><td class="right"> If-Modified-Since = "If-Modified-Since" ":" 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 the field is:</td><td> </td><td class="right"> An example of the field is:</td><td class="lineno" valign="top"></td></tr> |
---|
493 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
494 | <tr bgcolor="gray" ><td></td><th><a name="part-l11" /><small>skipping to change at</small><em> page 13, line 21</em></th><th> </th><th><a name="part-r11" /><small>skipping to change at</small><em> page 13, line 50</em></th><td></td></tr> |
---|
495 | <tr><td class="lineno" valign="top"></td><td class="left"> date, the response is exactly the same as for a normal GET.</td><td> </td><td class="right"> date, the response is exactly the same as for a normal GET.</td><td class="lineno" valign="top"></td></tr> |
---|
496 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
497 | <tr><td class="lineno" valign="top"></td><td class="left"> 3. If the variant has not been modified since a valid If-Modified-</td><td> </td><td class="right"> 3. If the variant has not been modified since a valid If-Modified-</td><td class="lineno" valign="top"></td></tr> |
---|
498 | <tr><td class="lineno" valign="top"></td><td class="left"> Since date, the server SHOULD return a 304 (Not Modified)</td><td> </td><td class="right"> Since date, the server SHOULD return a 304 (Not Modified)</td><td class="lineno" valign="top"></td></tr> |
---|
499 | <tr><td class="lineno" valign="top"></td><td class="left"> response.</td><td> </td><td class="right"> response.</td><td class="lineno" valign="top"></td></tr> |
---|
500 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
501 | <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> |
---|
502 | <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> |
---|
503 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
504 | <tr><td class="lineno" valign="top"></td><td class="left"> Note: The Range request-header field modifies the meaning of If-</td><td> </td><td class="right"> Note: The Range request-header field modifies the meaning of If-</td><td class="lineno" valign="top"></td></tr> |
---|
505 | <tr><td><a name="diff0029" /></td></tr> |
---|
506 | <tr><td class="lineno" valign="top"></td><td class="lblock"> Modified-Since; see Section <span class="delete">5</span>.4 of [Part5] for full details.</td><td> </td><td class="rblock"> Modified-Since; see Section <span class="insert">6</span>.4 of [Part5] for full details.</td><td class="lineno" valign="top"></td></tr> |
---|
507 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
508 | <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> |
---|
509 | <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> |
---|
510 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
511 | <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> |
---|
512 | <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> |
---|
513 | <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> |
---|
514 | <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> |
---|
515 | <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> |
---|
516 | <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> |
---|
517 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
518 | <tr bgcolor="gray" ><td></td><th><a name="part-l12" /><small>skipping to change at</small><em> page 14, line 5</em></th><th> </th><th><a name="part-r12" /><small>skipping to change at</small><em> page 14, line 35</em></th><td></td></tr> |
---|
519 | <tr><td class="lineno" valign="top"></td><td class="left"> possibility of clock-skew-related problems if the If-Modified-</td><td> </td><td class="right"> possibility of clock-skew-related problems if the If-Modified-</td><td class="lineno" valign="top"></td></tr> |
---|
520 | <tr><td class="lineno" valign="top"></td><td class="left"> Since date is derived from the client's clock without correction</td><td> </td><td class="right"> Since date is derived from the client's clock without correction</td><td class="lineno" valign="top"></td></tr> |
---|
521 | <tr><td class="lineno" valign="top"></td><td class="left"> to the server's clock. Corrections for different time bases</td><td> </td><td class="right"> to the server's clock. Corrections for different time bases</td><td class="lineno" valign="top"></td></tr> |
---|
522 | <tr><td class="lineno" valign="top"></td><td class="left"> between client and server are at best approximate due to network</td><td> </td><td class="right"> between client and server are at best approximate due to network</td><td class="lineno" valign="top"></td></tr> |
---|
523 | <tr><td class="lineno" valign="top"></td><td class="left"> latency.</td><td> </td><td class="right"> latency.</td><td class="lineno" valign="top"></td></tr> |
---|
524 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
525 | <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> |
---|
526 | <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> |
---|
527 | <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> |
---|
528 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
529 | <tr><td><a name="diff0030" /></td></tr> |
---|
530 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">6</span>.4. If-None-Match</td><td> </td><td class="rblock"><span class="insert">7</span>.4. If-None-Match</td><td class="lineno" valign="top"></td></tr> |
---|
531 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
532 | <tr><td class="lineno" valign="top"></td><td class="left"> The If-None-Match request-header field is used with a method to make</td><td> </td><td class="right"> The If-None-Match request-header field is used with a method to make</td><td class="lineno" valign="top"></td></tr> |
---|
533 | <tr><td class="lineno" valign="top"></td><td class="left"> it conditional. A client that has one or more entities previously</td><td> </td><td class="right"> it conditional. A client that has one or more entities previously</td><td class="lineno" valign="top"></td></tr> |
---|
534 | <tr><td class="lineno" valign="top"></td><td class="left"> obtained from the resource can verify that none of those entities is</td><td> </td><td class="right"> obtained from the resource can verify that none of those entities is</td><td class="lineno" valign="top"></td></tr> |
---|
535 | <tr><td class="lineno" valign="top"></td><td class="left"> current by including a list of their associated entity tags in the</td><td> </td><td class="right"> current by including a list of their associated entity tags in the</td><td class="lineno" valign="top"></td></tr> |
---|
536 | <tr><td class="lineno" valign="top"></td><td class="left"> If-None-Match header field. The purpose of this feature is to allow</td><td> </td><td class="right"> If-None-Match header field. The purpose of this feature is to allow</td><td class="lineno" valign="top"></td></tr> |
---|
537 | <tr><td class="lineno" valign="top"></td><td class="left"> efficient updates of cached information with a minimum amount of</td><td> </td><td class="right"> efficient updates of cached information with a minimum amount of</td><td class="lineno" valign="top"></td></tr> |
---|
538 | <tr><td class="lineno" valign="top"></td><td class="left"> transaction overhead. It is also used to prevent a method (e.g.</td><td> </td><td class="right"> transaction overhead. It is also used to prevent a method (e.g.</td><td class="lineno" valign="top"></td></tr> |
---|
539 | <tr><td class="lineno" valign="top"></td><td class="left"> PUT) from inadvertently modifying an existing resource when the</td><td> </td><td class="right"> PUT) from inadvertently modifying an existing resource when the</td><td class="lineno" valign="top"></td></tr> |
---|
540 | <tr><td class="lineno" valign="top"></td><td class="left"> client believes that the resource does not exist.</td><td> </td><td class="right"> client believes that the resource does not exist.</td><td class="lineno" valign="top"></td></tr> |
---|
541 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
542 | <tr bgcolor="gray" ><td></td><th><a name="part-l13" /><small>skipping to change at</small><em> page 14, line 35</em></th><th> </th><th><a name="part-r13" /><small>skipping to change at</small><em> page 15, line 16</em></th><td></td></tr> |
---|
543 | <tr><td class="lineno" valign="top"></td><td class="left"> given and any current entity exists for that resource, then the</td><td> </td><td class="right"> given and any current entity exists for that resource, then the</td><td class="lineno" valign="top"></td></tr> |
---|
544 | <tr><td class="lineno" valign="top"></td><td class="left"> server MUST NOT perform the requested method, unless required to do</td><td> </td><td class="right"> server MUST NOT perform the requested method, unless required to do</td><td class="lineno" valign="top"></td></tr> |
---|
545 | <tr><td class="lineno" valign="top"></td><td class="left"> so because the resource's modification date fails to match that</td><td> </td><td class="right"> so because the resource's modification date fails to match that</td><td class="lineno" valign="top"></td></tr> |
---|
546 | <tr><td class="lineno" valign="top"></td><td class="left"> supplied in an If-Modified-Since header field in the request.</td><td> </td><td class="right"> supplied in an If-Modified-Since header field in the request.</td><td class="lineno" valign="top"></td></tr> |
---|
547 | <tr><td class="lineno" valign="top"></td><td class="left"> Instead, if the request method was GET or HEAD, the server SHOULD</td><td> </td><td class="right"> Instead, if the request method was GET or HEAD, the server SHOULD</td><td class="lineno" valign="top"></td></tr> |
---|
548 | <tr><td class="lineno" valign="top"></td><td class="left"> respond with a 304 (Not Modified) response, including the cache-</td><td> </td><td class="right"> respond with a 304 (Not Modified) response, including the cache-</td><td class="lineno" valign="top"></td></tr> |
---|
549 | <tr><td class="lineno" valign="top"></td><td class="left"> related header fields (particularly ETag) of one of the entities that</td><td> </td><td class="right"> related header fields (particularly ETag) of one of the entities that</td><td class="lineno" valign="top"></td></tr> |
---|
550 | <tr><td class="lineno" valign="top"></td><td class="left"> matched. For all other request methods, the server MUST respond with</td><td> </td><td class="right"> matched. For all other request methods, the server MUST respond with</td><td class="lineno" valign="top"></td></tr> |
---|
551 | <tr><td class="lineno" valign="top"></td><td class="left"> a status of 412 (Precondition Failed).</td><td> </td><td class="right"> a status of 412 (Precondition Failed).</td><td class="lineno" valign="top"></td></tr> |
---|
552 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
553 | <tr><td><a name="diff0031" /></td></tr> |
---|
554 | <tr><td class="lineno" valign="top"></td><td class="lblock"> See Section <span class="delete">4</span> for rules on how to determine if two entities tags</td><td> </td><td class="rblock"> See Section <span class="insert">5</span> for rules on how to determine if two entities tags</td><td class="lineno" valign="top"></td></tr> |
---|
555 | <tr><td class="lineno" valign="top"></td><td class="left"> match. The weak comparison function can only be used with GET or</td><td> </td><td class="right"> match. The weak comparison function can only be used with GET or</td><td class="lineno" valign="top"></td></tr> |
---|
556 | <tr><td class="lineno" valign="top"></td><td class="left"> HEAD requests.</td><td> </td><td class="right"> HEAD requests.</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"> If none of the entity tags match, then the server MAY perform the</td><td> </td><td class="right"> If none of the entity tags match, then the server MAY perform the</td><td class="lineno" valign="top"></td></tr> |
---|
559 | <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> |
---|
560 | <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> |
---|
561 | <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> |
---|
562 | <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> |
---|
563 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
564 | <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> |
---|
565 | <tr><td class="lineno" valign="top"></td><td class="left"> in anything other than a 2xx or 304 status, then the If-None-Match</td><td> </td><td class="right"> in anything other than a 2xx or 304 status, then the If-None-Match</td><td class="lineno" valign="top"></td></tr> |
---|
566 | <tr><td><a name="diff0032" /></td></tr> |
---|
567 | <tr><td class="lineno" valign="top"></td><td class="lblock"> header MUST be ignored. (See Section <span class="delete">5</span> for a discussion of server</td><td> </td><td class="rblock"> header MUST be ignored. (See Section <span class="insert">6</span> for a discussion of server</td><td class="lineno" valign="top"></td></tr> |
---|
568 | <tr><td class="lineno" valign="top"></td><td class="left"> behavior when both If-Modified-Since and If-None-Match appear in the</td><td> </td><td class="right"> behavior when both If-Modified-Since and If-None-Match appear in the</td><td class="lineno" valign="top"></td></tr> |
---|
569 | <tr><td class="lineno" valign="top"></td><td class="left"> same request.)</td><td> </td><td class="right"> same request.)</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"> The meaning of "If-None-Match: *" is that the method MUST NOT be</td><td> </td><td class="right"> The meaning of "If-None-Match: *" is that the method MUST NOT be</td><td class="lineno" valign="top"></td></tr> |
---|
572 | <tr><td class="lineno" valign="top"></td><td class="left"> performed if the representation selected by the origin server (or by</td><td> </td><td class="right"> performed if the representation selected by the origin server (or by</td><td class="lineno" valign="top"></td></tr> |
---|
573 | <tr><td><a name="diff0033" /></td></tr> |
---|
574 | <tr><td class="lineno" valign="top"></td><td class="lblock"> a cache, possibly using the Vary mechanism, see Section 1<span class="delete">5</span>.5 of</td><td> </td><td class="rblock"> a cache, possibly using the Vary mechanism, see Section 1<span class="insert">6</span>.5 of</td><td class="lineno" valign="top"></td></tr> |
---|
575 | <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> |
---|
576 | <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> |
---|
577 | <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> |
---|
578 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
579 | <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> |
---|
580 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
581 | <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> |
---|
582 | <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> |
---|
583 | <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> |
---|
584 | <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> |
---|
585 | <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> |
---|
586 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
587 | <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> |
---|
588 | <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> |
---|
589 | <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> |
---|
590 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
591 | <tr><td><a name="diff0034" /></td></tr> |
---|
592 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">6</span>.5. If-Unmodified-Since</td><td> </td><td class="rblock"><span class="insert">7</span>.5. If-Unmodified-Since</td><td class="lineno" valign="top"></td></tr> |
---|
593 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
594 | <tr><td class="lineno" valign="top"></td><td class="left"> The If-Unmodified-Since request-header field is used with a method to</td><td> </td><td class="right"> The If-Unmodified-Since request-header field is used with a method to</td><td class="lineno" valign="top"></td></tr> |
---|
595 | <tr><td class="lineno" valign="top"></td><td class="left"> make it conditional. If the requested resource has not been modified</td><td> </td><td class="right"> make it conditional. If the requested resource has not been modified</td><td class="lineno" valign="top"></td></tr> |
---|
596 | <tr><td class="lineno" valign="top"></td><td class="left"> since the time specified in this field, the server SHOULD perform the</td><td> </td><td class="right"> since the time specified in this field, the server SHOULD perform the</td><td class="lineno" valign="top"></td></tr> |
---|
597 | <tr><td class="lineno" valign="top"></td><td class="left"> requested operation as if the If-Unmodified-Since header were not</td><td> </td><td class="right"> requested operation as if the If-Unmodified-Since header were not</td><td class="lineno" valign="top"></td></tr> |
---|
598 | <tr><td class="lineno" valign="top"></td><td class="left"> present.</td><td> </td><td class="right"> present.</td><td class="lineno" valign="top"></td></tr> |
---|
599 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
600 | <tr><td class="lineno" valign="top"></td><td class="left"> If the requested variant has been modified since the specified time,</td><td> </td><td class="right"> If the requested variant has been modified since the specified time,</td><td class="lineno" valign="top"></td></tr> |
---|
601 | <tr><td class="lineno" valign="top"></td><td class="left"> the server MUST NOT perform the requested operation, and MUST return</td><td> </td><td class="right"> the server MUST NOT perform the requested operation, and MUST return</td><td class="lineno" valign="top"></td></tr> |
---|
602 | <tr><td class="lineno" valign="top"></td><td class="left"> a 412 (Precondition Failed).</td><td> </td><td class="right"> a 412 (Precondition Failed).</td><td class="lineno" valign="top"></td></tr> |
---|
603 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
604 | <tr bgcolor="gray" ><td></td><th><a name="part-l14" /><small>skipping to change at</small><em> page 16, line 5</em></th><th> </th><th><a name="part-r14" /><small>skipping to change at</small><em> page 16, line 33</em></th><td></td></tr> |
---|
605 | <tr><td class="lineno" valign="top"></td><td class="left"> If the request normally (i.e., without the If-Unmodified-Since</td><td> </td><td class="right"> If the request normally (i.e., without the If-Unmodified-Since</td><td class="lineno" valign="top"></td></tr> |
---|
606 | <tr><td class="lineno" valign="top"></td><td class="left"> header) would result in anything other than a 2xx or 412 status, the</td><td> </td><td class="right"> header) would result in anything other than a 2xx or 412 status, the</td><td class="lineno" valign="top"></td></tr> |
---|
607 | <tr><td class="lineno" valign="top"></td><td class="left"> If-Unmodified-Since header SHOULD be ignored.</td><td> </td><td class="right"> If-Unmodified-Since header SHOULD be ignored.</td><td class="lineno" valign="top"></td></tr> |
---|
608 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
609 | <tr><td class="lineno" valign="top"></td><td class="left"> If the specified date is invalid, the header is ignored.</td><td> </td><td class="right"> If the specified date is invalid, the header is ignored.</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"> The result of a request having both an If-Unmodified-Since header</td><td> </td><td class="right"> The result of a request having both an If-Unmodified-Since header</td><td class="lineno" valign="top"></td></tr> |
---|
612 | <tr><td class="lineno" valign="top"></td><td class="left"> field and either an If-None-Match or an If-Modified-Since header</td><td> </td><td class="right"> field and either an If-None-Match or an If-Modified-Since header</td><td class="lineno" valign="top"></td></tr> |
---|
613 | <tr><td class="lineno" valign="top"></td><td class="left"> fields is undefined by this specification.</td><td> </td><td class="right"> fields is undefined by this specification.</td><td class="lineno" valign="top"></td></tr> |
---|
614 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
615 | <tr><td><a name="diff0035" /></td></tr> |
---|
616 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">6</span>.6. Last-Modified</td><td> </td><td class="rblock"><span class="insert">7</span>.6. Last-Modified</td><td class="lineno" valign="top"></td></tr> |
---|
617 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
618 | <tr><td class="lineno" valign="top"></td><td class="left"> The Last-Modified entity-header field indicates the date and time at</td><td> </td><td class="right"> The Last-Modified entity-header field indicates the date and time at</td><td class="lineno" valign="top"></td></tr> |
---|
619 | <tr><td class="lineno" valign="top"></td><td class="left"> which the origin server believes the variant was last modified.</td><td> </td><td class="right"> which the origin server believes the variant was last modified.</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"> Last-Modified = "Last-Modified" ":" HTTP-date</td><td> </td><td class="right"> Last-Modified = "Last-Modified" ":" HTTP-date</td><td class="lineno" valign="top"></td></tr> |
---|
622 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
623 | <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> |
---|
624 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
625 | <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> |
---|
626 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
627 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
628 | <tr bgcolor="gray" ><td></td><th><a name="part-l15" /><small>skipping to change at</small><em> page 16, line 39</em></th><th> </th><th><a name="part-r15" /><small>skipping to change at</small><em> page 17, line 19</em></th><td></td></tr> |
---|
629 | <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> |
---|
630 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
631 | <tr><td class="lineno" valign="top"></td><td class="left"> An origin server SHOULD obtain the Last-Modified value of the entity</td><td> </td><td class="right"> An origin server SHOULD obtain the Last-Modified value of the entity</td><td class="lineno" valign="top"></td></tr> |
---|
632 | <tr><td class="lineno" valign="top"></td><td class="left"> as close as possible to the time that it generates the Date value of</td><td> </td><td class="right"> as close as possible to the time that it generates the Date value of</td><td class="lineno" valign="top"></td></tr> |
---|
633 | <tr><td class="lineno" valign="top"></td><td class="left"> its response. This allows a recipient to make an accurate assessment</td><td> </td><td class="right"> its response. This allows a recipient to make an accurate assessment</td><td class="lineno" valign="top"></td></tr> |
---|
634 | <tr><td class="lineno" valign="top"></td><td class="left"> of the entity's modification time, especially if the entity changes</td><td> </td><td class="right"> of the entity's modification time, especially if the entity changes</td><td class="lineno" valign="top"></td></tr> |
---|
635 | <tr><td class="lineno" valign="top"></td><td class="left"> near the time that the response is generated.</td><td> </td><td class="right"> near the time that the response is generated.</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"> HTTP/1.1 servers SHOULD send Last-Modified whenever feasible.</td><td> </td><td class="right"> HTTP/1.1 servers SHOULD send Last-Modified whenever feasible.</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><a name="diff0036" /></td></tr> |
---|
640 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">7. IANA Considerations</span></td><td> </td><td class="rblock"> <span class="insert">The Last-Modified entity-header field value is often used as a cache</span></td><td class="lineno" valign="top"></td></tr> |
---|
641 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> validator. In simple terms, a cache entry is considered to be valid</span></td><td class="lineno" valign="top"></td></tr> |
---|
642 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> if the entity has not been modified since the Last-Modified value.</span></td><td class="lineno" valign="top"></td></tr> |
---|
643 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
644 | <tr><td><a name="diff0037" /></td></tr> |
---|
645 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> TBD.</span></td><td> </td><td class="rblock"><span class="insert">8. IANA Considerations</span></td><td class="lineno" valign="top"></td></tr> |
---|
646 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
647 | <tr><td><a name="diff0038" /></td></tr> |
---|
648 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">8.</span> Security Considerations</td><td> </td><td class="rblock"> <span class="insert">[[anchor2: TBD.]]</span></td><td class="lineno" valign="top"></td></tr> |
---|
649 | <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> |
---|
650 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">9.</span> Security Considerations</td><td class="lineno" valign="top"></td></tr> |
---|
651 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
652 | <tr><td class="lineno" valign="top"></td><td class="left"> No additional security considerations have been identified beyond</td><td> </td><td class="right"> No additional security considerations have been identified beyond</td><td class="lineno" valign="top"></td></tr> |
---|
653 | <tr><td class="lineno" valign="top"></td><td class="left"> those applicable to HTTP in general [Part1].</td><td> </td><td class="right"> those applicable to HTTP in general [Part1].</td><td class="lineno" valign="top"></td></tr> |
---|
654 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
655 | <tr><td><a name="diff0039" /></td></tr> |
---|
656 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">9</span>. Acknowledgments</td><td> </td><td class="rblock"><span class="insert">10</span>. Acknowledgments</td><td class="lineno" valign="top"></td></tr> |
---|
657 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
658 | <tr><td><a name="diff0040" /></td></tr> |
---|
659 | <tr><td class="lineno" valign="top"></td><td class="lblock">1<span class="delete">0</span>. References</td><td> </td><td class="rblock">1<span class="insert">1</span>. References</td><td class="lineno" valign="top"></td></tr> |
---|
660 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
661 | <tr><td><a name="diff0041" /></td></tr> |
---|
662 | <tr><td class="lineno" valign="top"></td><td class="lblock">1<span class="delete">0</span>.1. Normative References</td><td> </td><td class="rblock">1<span class="insert">1</span>.1. Normative References</td><td class="lineno" valign="top"></td></tr> |
---|
663 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
664 | <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> |
---|
665 | <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> |
---|
666 | <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> |
---|
667 | <tr><td><a name="diff0042" /></td></tr> |
---|
668 | <tr><td class="lineno" valign="top"></td><td class="lblock"> and Message Parsing", <span class="delete">draft-ietf-httpbis-p1-messaging-01</span></td><td> </td><td class="rblock"> and Message Parsing", <span class="insert">draft-ietf-httpbis-p1-messaging-02</span></td><td class="lineno" valign="top"></td></tr> |
---|
669 | <tr><td class="lineno" valign="top"></td><td class="lblock"> (work in progress), <span class="delete">January</span> 2008.</td><td> </td><td class="rblock"> (work in progress), <span class="insert">February</span> 2008.</td><td class="lineno" valign="top"></td></tr> |
---|
670 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
671 | <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> |
---|
672 | <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> |
---|
673 | <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> |
---|
674 | <tr><td><a name="diff0043" /></td></tr> |
---|
675 | <tr><td class="lineno" valign="top"></td><td class="lblock"> Partial Responses", <span class="delete">draft-ietf-httpbis-p5-range-01</span> (work</td><td> </td><td class="rblock"> Partial Responses", <span class="insert">draft-ietf-httpbis-p5-range-02</span> (work</td><td class="lineno" valign="top"></td></tr> |
---|
676 | <tr><td class="lineno" valign="top"></td><td class="lblock"> in progress), <span class="delete">January</span> 2008.</td><td> </td><td class="rblock"> in progress), <span class="insert">February</span> 2008.</td><td class="lineno" valign="top"></td></tr> |
---|
677 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
678 | <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> |
---|
679 | <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> |
---|
680 | <tr><td class="lineno" valign="top"></td><td class="left"> and J. Reschke, Ed., "HTTP/1.1, part 6: Caching",</td><td> </td><td class="right"> and J. Reschke, Ed., "HTTP/1.1, part 6: Caching",</td><td class="lineno" valign="top"></td></tr> |
---|
681 | <tr><td><a name="diff0044" /></td></tr> |
---|
682 | <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">draft-ietf-httpbis-p6-cache-01</span> (work in progress),</td><td> </td><td class="rblock"> <span class="insert">draft-ietf-httpbis-p6-cache-02</span> (work in progress),</td><td class="lineno" valign="top"></td></tr> |
---|
683 | <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">January</span> 2008.</td><td> </td><td class="rblock"> <span class="insert">February</span> 2008.</td><td class="lineno" valign="top"></td></tr> |
---|
684 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
685 | <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> |
---|
686 | <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> |
---|
687 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
688 | <tr><td><a name="diff0045" /></td></tr> |
---|
689 | <tr><td class="lineno" valign="top"></td><td class="lblock">1<span class="delete">0</span>.2. Informative References</td><td> </td><td class="rblock">1<span class="insert">1</span>.2. Informative References</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"> [RFC2068] Fielding, R., Gettys, J., Mogul, J., Nielsen, H., and T.</td><td> </td><td class="right"> [RFC2068] Fielding, R., Gettys, J., Mogul, J., Nielsen, H., and T.</td><td class="lineno" valign="top"></td></tr> |
---|
692 | <tr><td class="lineno" valign="top"></td><td class="left"> Berners-Lee, "Hypertext Transfer Protocol -- HTTP/1.1",</td><td> </td><td class="right"> Berners-Lee, "Hypertext Transfer Protocol -- HTTP/1.1",</td><td class="lineno" valign="top"></td></tr> |
---|
693 | <tr><td class="lineno" valign="top"></td><td class="left"> RFC 2068, January 1997.</td><td> </td><td class="right"> RFC 2068, January 1997.</td><td class="lineno" valign="top"></td></tr> |
---|
694 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
695 | <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> |
---|
696 | <tr><td class="lineno" valign="top"></td><td class="left"> Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext</td><td> </td><td class="right"> Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext</td><td class="lineno" valign="top"></td></tr> |
---|
697 | <tr><td class="lineno" valign="top"></td><td class="left"> Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.</td><td> </td><td class="right"> Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.</td><td class="lineno" valign="top"></td></tr> |
---|
698 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
699 | <tr><td class="lineno" valign="top"></td><td class="left">Appendix A. Compatibility with Previous Versions</td><td> </td><td class="right">Appendix A. Compatibility with Previous Versions</td><td class="lineno" valign="top"></td></tr> |
---|
700 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
701 | <tr bgcolor="gray" ><td></td><th><a name="part-l16" /><small>skipping to change at</small><em> page 18, line 16</em></th><th> </th><th><a name="part-r16" /><small>skipping to change at</small><em> page 18, line 45</em></th><td></td></tr> |
---|
702 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
703 | <tr><td class="lineno" valign="top"></td><td class="left"> Closed issues:</td><td> </td><td class="right"> Closed issues:</td><td class="lineno" valign="top"></td></tr> |
---|
704 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
705 | <tr><td class="lineno" valign="top"></td><td class="left"> o <http://www3.tools.ietf.org/wg/httpbis/trac/ticket/35>: "Normative</td><td> </td><td class="right"> o <http://www3.tools.ietf.org/wg/httpbis/trac/ticket/35>: "Normative</td><td class="lineno" valign="top"></td></tr> |
---|
706 | <tr><td class="lineno" valign="top"></td><td class="left"> and Informative references"</td><td> </td><td class="right"> and Informative references"</td><td class="lineno" valign="top"></td></tr> |
---|
707 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
708 | <tr><td class="lineno" valign="top"></td><td class="left"> Other changes:</td><td> </td><td class="right"> Other changes:</td><td class="lineno" valign="top"></td></tr> |
---|
709 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
710 | <tr><td class="lineno" valign="top"></td><td class="left"> o Move definitions of 304 and 412 condition codes from Part2.</td><td> </td><td class="right"> o Move definitions of 304 and 412 condition codes from Part2.</td><td class="lineno" valign="top"></td></tr> |
---|
711 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
712 | <tr><td><a name="diff0046" /></td></tr> |
---|
713 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">B.3. Since draft-ietf-httpbis-p4-conditional-01</span></td><td class="lineno" valign="top"></td></tr> |
---|
714 | <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> |
---|
715 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> Ongoing work on ABNF conversion</span></td><td class="lineno" valign="top"></td></tr> |
---|
716 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> (<http://www3.tools.ietf.org/wg/httpbis/trac/ticket/36>):</span></td><td class="lineno" valign="top"></td></tr> |
---|
717 | <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> |
---|
718 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> o Add explicit references to BNF syntax and rules imported from</span></td><td class="lineno" valign="top"></td></tr> |
---|
719 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> other parts of the specification.</span></td><td class="lineno" valign="top"></td></tr> |
---|
720 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> </td><td class="lineno" valign="top"></td></tr> |
---|
721 | <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> |
---|
722 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
723 | <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> |
---|
724 | <tr><td class="lineno" valign="top"></td><td class="left"> 304 Not Modified (status code) 5</td><td> </td><td class="right"> 304 Not Modified (status code) 5</td><td class="lineno" valign="top"></td></tr> |
---|
725 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
726 | <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> |
---|
727 | <tr><td class="lineno" valign="top"></td><td class="left"> 412 Precondition Failed (status code) 6</td><td> </td><td class="right"> 412 Precondition Failed (status code) 6</td><td class="lineno" valign="top"></td></tr> |
---|
728 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
729 | <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> |
---|
730 | <tr><td class="lineno" valign="top"></td><td class="left"> ETag header 11</td><td> </td><td class="right"> ETag header 11</td><td class="lineno" valign="top"></td></tr> |
---|
731 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
732 | <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> |
---|
733 | <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> |
---|
734 | <tr><td class="lineno" valign="top"></td><td class="left"> entity-tag 5</td><td> </td><td class="right"> entity-tag 5</td><td class="lineno" valign="top"></td></tr> |
---|
735 | <tr><td class="lineno" valign="top"></td><td class="left"> ETag 11</td><td> </td><td class="right"> ETag 11</td><td class="lineno" valign="top"></td></tr> |
---|
736 | <tr><td><a name="diff0047" /></td></tr> |
---|
737 | <tr><td class="lineno" valign="top"></td><td class="lblock"> If-Match <span class="delete">11</span></td><td> </td><td class="rblock"> If-Match 12</td><td class="lineno" valign="top"></td></tr> |
---|
738 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> If-Modified-Since</span> 12</td><td> </td><td class="rblock"> <span class="insert">If-Modified-Since 13</span></td><td class="lineno" valign="top"></td></tr> |
---|
739 | <tr><td class="lineno" valign="top"></td><td class="left"> If-None-Match 14</td><td> </td><td class="right"> If-None-Match 14</td><td class="lineno" valign="top"></td></tr> |
---|
740 | <tr><td><a name="diff0048" /></td></tr> |
---|
741 | <tr><td class="lineno" valign="top"></td><td class="lblock"> If-Unmodified-Since 1<span class="delete">5</span></td><td> </td><td class="rblock"> If-Unmodified-Since 1<span class="insert">6</span></td><td class="lineno" valign="top"></td></tr> |
---|
742 | <tr><td class="lineno" valign="top"></td><td class="left"> Last-Modified 16</td><td> </td><td class="right"> Last-Modified 16</td><td class="lineno" valign="top"></td></tr> |
---|
743 | <tr><td class="lineno" valign="top"></td><td class="left"> opaque-tag 5</td><td> </td><td class="right"> opaque-tag 5</td><td class="lineno" valign="top"></td></tr> |
---|
744 | <tr><td class="lineno" valign="top"></td><td class="left"> weak 5</td><td> </td><td class="right"> weak 5</td><td class="lineno" valign="top"></td></tr> |
---|
745 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
746 | <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> |
---|
747 | <tr><td class="lineno" valign="top"></td><td class="left"> Headers</td><td> </td><td class="right"> Headers</td><td class="lineno" valign="top"></td></tr> |
---|
748 | <tr><td class="lineno" valign="top"></td><td class="left"> ETag 11</td><td> </td><td class="right"> ETag 11</td><td class="lineno" valign="top"></td></tr> |
---|
749 | <tr><td><a name="diff0049" /></td></tr> |
---|
750 | <tr><td class="lineno" valign="top"></td><td class="lblock"> If-Match <span class="delete">11</span></td><td> </td><td class="rblock"> If-Match 12</td><td class="lineno" valign="top"></td></tr> |
---|
751 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> If-Modified-Since</span> 12</td><td> </td><td class="rblock"> <span class="insert">If-Modified-Since 13</span></td><td class="lineno" valign="top"></td></tr> |
---|
752 | <tr><td class="lineno" valign="top"></td><td class="left"> If-None-Match 14</td><td> </td><td class="right"> If-None-Match 14</td><td class="lineno" valign="top"></td></tr> |
---|
753 | <tr><td><a name="diff0050" /></td></tr> |
---|
754 | <tr><td class="lineno" valign="top"></td><td class="lblock"> If-Unmodified-Since 1<span class="delete">5</span></td><td> </td><td class="rblock"> If-Unmodified-Since 1<span class="insert">6</span></td><td class="lineno" valign="top"></td></tr> |
---|
755 | <tr><td class="lineno" valign="top"></td><td class="left"> Last-Modified 16</td><td> </td><td class="right"> Last-Modified 16</td><td class="lineno" valign="top"></td></tr> |
---|
756 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
757 | <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> |
---|
758 | <tr><td><a name="diff0051" /></td></tr> |
---|
759 | <tr><td class="lineno" valign="top"></td><td class="lblock"> If-Match header <span class="delete">11</span></td><td> </td><td class="rblock"> If-Match header <span class="insert">12</span></td><td class="lineno" valign="top"></td></tr> |
---|
760 | <tr><td class="lineno" valign="top"></td><td class="lblock"> If-Modified-Since header <span class="delete">12</span></td><td> </td><td class="rblock"> If-Modified-Since header <span class="insert">13</span></td><td class="lineno" valign="top"></td></tr> |
---|
761 | <tr><td class="lineno" valign="top"></td><td class="left"> If-None-Match header 14</td><td> </td><td class="right"> If-None-Match header 14</td><td class="lineno" valign="top"></td></tr> |
---|
762 | <tr><td><a name="diff0052" /></td></tr> |
---|
763 | <tr><td class="lineno" valign="top"></td><td class="lblock"> If-Unmodified-Since header 1<span class="delete">5</span></td><td> </td><td class="rblock"> If-Unmodified-Since header 1<span class="insert">6</span></td><td class="lineno" valign="top"></td></tr> |
---|
764 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
765 | <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> |
---|
766 | <tr><td class="lineno" valign="top"></td><td class="left"> Last-Modified header 16</td><td> </td><td class="right"> Last-Modified header 16</td><td class="lineno" valign="top"></td></tr> |
---|
767 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
768 | <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> |
---|
769 | <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> |
---|
770 | <tr><td class="lineno" valign="top"></td><td class="left"> 304 Not Modified 5</td><td> </td><td class="right"> 304 Not Modified 5</td><td class="lineno" valign="top"></td></tr> |
---|
771 | <tr><td class="lineno" valign="top"></td><td class="left"> 412 Precondition Failed 6</td><td> </td><td class="right"> 412 Precondition Failed 6</td><td class="lineno" valign="top"></td></tr> |
---|
772 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
773 | <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> |
---|
774 | |
---|
775 | <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr> |
---|
776 | <tr bgcolor="gray"><th colspan="5" align="center"><a name="end"> End of changes. 52 change blocks. </a></th></tr> |
---|
777 | <tr class="stats"><td></td><th><i>84 lines changed or deleted</i></th><th><i> </i></th><th><i>126 lines changed or added</i></th><td></td></tr> |
---|
778 | <tr><td colspan="5" align="center" class="small"><br/>This html diff was produced by rfcdiff 1.34. The latest version is available from <a href="http://www.tools.ietf.org/tools/rfcdiff/" >http://tools.ietf.org/tools/rfcdiff/</a> </td></tr> |
---|
779 | </table> |
---|
780 | </body> |
---|
781 | </html> |
---|