source: draft-ietf-httpbis/diffs/draft-ietf-httpbis-p4-conditional-26-from-25.diff.html @ 2650

Last change on this file since 2650 was 2616, checked in by julian.reschke@…, 7 years ago

prepare publication of -26

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/html; charset=iso-8859-1
File size: 69.8 KB
Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<!-- Generated by rfcdiff 1.38: rfcdiff  -->
3<!-- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional" > -->
4<html> 
5<head> 
6  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
7  <meta http-equiv="Content-Style-Type" content="text/css" />
8  <title>Diff: draft-ietf-httpbis-p4-conditional-25.txt - draft-ietf-httpbis-p4-conditional-26.txt</title>
9  <style type="text/css">
10    body    { margin: 0.4ex; margin-right: auto; }
11    tr      { }
12    td      { white-space: pre; font-family: monospace; vertical-align: top; font-size: 0.86em;}
13    th      { font-size: 0.86em; }
14    .small  { font-size: 0.6em; font-style: italic; font-family: Verdana, Helvetica, sans-serif; }
15    .left   { background-color: #EEE; }
16    .right  { background-color: #FFF; }
17    .diff   { background-color: #CCF; }
18    .lblock { background-color: #BFB; }
19    .rblock { background-color: #FF8; }
20    .insert { background-color: #8FF; }
21    .delete { background-color: #ACF; }
22    .void   { background-color: #FFB; }
23    .cont   { background-color: #EEE; }
24    .linebr { background-color: #AAA; }
25    .lineno { color: red; background-color: #FFF; font-size: 0.7em; text-align: right; padding: 0 2px; }
26    .elipsis{ background-color: #AAA; }
27    .left .cont { background-color: #DDD; }
28    .right .cont { background-color: #EEE; }
29    .lblock .cont { background-color: #9D9; }
30    .rblock .cont { background-color: #DD6; }
31    .insert .cont { background-color: #0DD; }
32    .delete .cont { background-color: #8AD; }
33    .stats, .stats td, .stats th { background-color: #EEE; padding: 2px 0; }
34  </style>
35</head>
36<body > 
37  <table border="0" cellpadding="0" cellspacing="0">
38  <tr bgcolor="orange"><th></th><th>&nbsp;draft-ietf-httpbis-p4-conditional-25.txt&nbsp;</th><th> </th><th>&nbsp;draft-ietf-httpbis-p4-conditional-26.txt&nbsp;</th><th></th></tr>
39      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
40      <tr><td class="lineno" valign="top"></td><td class="left">HTTPbis Working Group                                   R. Fielding, Ed.</td><td> </td><td class="right">HTTPbis Working Group                                   R. Fielding, Ed.</td><td class="lineno" valign="top"></td></tr>
41      <tr><td class="lineno" valign="top"></td><td class="left">Internet-Draft                                                     Adobe</td><td> </td><td class="right">Internet-Draft                                                     Adobe</td><td class="lineno" valign="top"></td></tr>
42      <tr><td class="lineno" valign="top"></td><td class="left">Obsoletes: 2616 (if approved)                            J. Reschke, Ed.</td><td> </td><td class="right">Obsoletes: 2616 (if approved)                            J. Reschke, Ed.</td><td class="lineno" valign="top"></td></tr>
43      <tr><td class="lineno" valign="top"></td><td class="left">Intended status: Standards Track                              greenbytes</td><td> </td><td class="right">Intended status: Standards Track                              greenbytes</td><td class="lineno" valign="top"></td></tr>
44      <tr><td><a name="diff0001" /></td></tr>
45      <tr><td class="lineno" valign="top"></td><td class="lblock">Expires: <span class="delete">May 21, 2014                                  November 17, 2013</span></td><td> </td><td class="rblock">Expires: <span class="insert">August 10, 2014                                February 6, 2014</span></td><td class="lineno" valign="top"></td></tr>
46      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
47      <tr><td class="lineno" valign="top"></td><td class="left">      Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests</td><td> </td><td class="right">      Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests</td><td class="lineno" valign="top"></td></tr>
48      <tr><td><a name="diff0002" /></td></tr>
49      <tr><td class="lineno" valign="top"></td><td class="lblock">                  draft-ietf-httpbis-p4-conditional-2<span class="delete">5</span></td><td> </td><td class="rblock">                  draft-ietf-httpbis-p4-conditional-2<span class="insert">6</span></td><td class="lineno" valign="top"></td></tr>
50      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
51      <tr><td class="lineno" valign="top"></td><td class="left">Abstract</td><td> </td><td class="right">Abstract</td><td class="lineno" valign="top"></td></tr>
52      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
53      <tr><td><a name="diff0003" /></td></tr>
54      <tr><td class="lineno" valign="top"></td><td class="lblock">   The Hypertext Transfer Protocol (HTTP) is <span class="delete">an application-level</span></td><td> </td><td class="rblock">   The Hypertext Transfer Protocol (HTTP) is <span class="insert">a stateless application-</span></td><td class="lineno" valign="top"></td></tr>
55      <tr><td class="lineno" valign="top"></td><td class="lblock">   protocol for distributed, collaborative, hypertext information</td><td> </td><td class="rblock"><span class="insert">   level</span> protocol for distributed, collaborative, hypertext information</td><td class="lineno" valign="top"></td></tr>
56      <tr><td class="lineno" valign="top"></td><td class="left">   systems.  This document defines HTTP/1.1 conditional requests,</td><td> </td><td class="right">   systems.  This document defines HTTP/1.1 conditional requests,</td><td class="lineno" valign="top"></td></tr>
57      <tr><td class="lineno" valign="top"></td><td class="left">   including metadata header fields for indicating state changes,</td><td> </td><td class="right">   including metadata header fields for indicating state changes,</td><td class="lineno" valign="top"></td></tr>
58      <tr><td class="lineno" valign="top"></td><td class="left">   request header fields for making preconditions on such state, and</td><td> </td><td class="right">   request header fields for making preconditions on such state, and</td><td class="lineno" valign="top"></td></tr>
59      <tr><td class="lineno" valign="top"></td><td class="left">   rules for constructing the responses to a conditional request when</td><td> </td><td class="right">   rules for constructing the responses to a conditional request when</td><td class="lineno" valign="top"></td></tr>
60      <tr><td class="lineno" valign="top"></td><td class="left">   one or more preconditions evaluate to false.</td><td> </td><td class="right">   one or more preconditions evaluate to false.</td><td class="lineno" valign="top"></td></tr>
61      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
62      <tr><td class="lineno" valign="top"></td><td class="left">Editorial Note (To be removed by RFC Editor)</td><td> </td><td class="right">Editorial Note (To be removed by RFC Editor)</td><td class="lineno" valign="top"></td></tr>
63      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
64      <tr><td class="lineno" valign="top"></td><td class="left">   Discussion of this draft takes place on the HTTPBIS working group</td><td> </td><td class="right">   Discussion of this draft takes place on the HTTPBIS working group</td><td class="lineno" valign="top"></td></tr>
65      <tr><td class="lineno" valign="top"></td><td class="left">   mailing list (ietf-http-wg@w3.org), which is archived at</td><td> </td><td class="right">   mailing list (ietf-http-wg@w3.org), which is archived at</td><td class="lineno" valign="top"></td></tr>
66      <tr><td class="lineno" valign="top"></td><td class="left">   &lt;http://lists.w3.org/Archives/Public/ietf-http-wg/&gt;.</td><td> </td><td class="right">   &lt;http://lists.w3.org/Archives/Public/ietf-http-wg/&gt;.</td><td class="lineno" valign="top"></td></tr>
67      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
68      <tr><td class="lineno" valign="top"></td><td class="left">   The current issues list is at</td><td> </td><td class="right">   The current issues list is at</td><td class="lineno" valign="top"></td></tr>
69      <tr><td class="lineno" valign="top"></td><td class="left">   &lt;http://tools.ietf.org/wg/httpbis/trac/report/3&gt; and related</td><td> </td><td class="right">   &lt;http://tools.ietf.org/wg/httpbis/trac/report/3&gt; and related</td><td class="lineno" valign="top"></td></tr>
70      <tr><td class="lineno" valign="top"></td><td class="left">   documents (including fancy diffs) can be found at</td><td> </td><td class="right">   documents (including fancy diffs) can be found at</td><td class="lineno" valign="top"></td></tr>
71      <tr><td class="lineno" valign="top"></td><td class="left">   &lt;http://tools.ietf.org/wg/httpbis/&gt;.</td><td> </td><td class="right">   &lt;http://tools.ietf.org/wg/httpbis/&gt;.</td><td class="lineno" valign="top"></td></tr>
72      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
73      <tr><td><a name="diff0004" /></td></tr>
74      <tr><td class="lineno" valign="top"></td><td class="lblock">   The changes in this draft are summarized in Appendix D.<span class="delete">1</span>.</td><td> </td><td class="rblock">   The changes in this draft are summarized in Appendix D.<span class="insert">2</span>.</td><td class="lineno" valign="top"></td></tr>
75      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
76      <tr><td class="lineno" valign="top"></td><td class="left">Status of This Memo</td><td> </td><td class="right">Status of This Memo</td><td class="lineno" valign="top"></td></tr>
77      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
78      <tr><td class="lineno" valign="top"></td><td class="left">   This Internet-Draft is submitted in full conformance with the</td><td> </td><td class="right">   This Internet-Draft is submitted in full conformance with the</td><td class="lineno" valign="top"></td></tr>
79      <tr><td class="lineno" valign="top"></td><td class="left">   provisions of BCP 78 and BCP 79.</td><td> </td><td class="right">   provisions of BCP 78 and BCP 79.</td><td class="lineno" valign="top"></td></tr>
80      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
81      <tr><td class="lineno" valign="top"></td><td class="left">   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>
82      <tr><td class="lineno" valign="top"></td><td class="left">   Task Force (IETF).  Note that other groups may also distribute</td><td> </td><td class="right">   Task Force (IETF).  Note that other groups may also distribute</td><td class="lineno" valign="top"></td></tr>
83      <tr><td class="lineno" valign="top"></td><td class="left">   working documents as Internet-Drafts.  The list of current Internet-</td><td> </td><td class="right">   working documents as Internet-Drafts.  The list of current Internet-</td><td class="lineno" valign="top"></td></tr>
84      <tr><td class="lineno" valign="top"></td><td class="left">   Drafts is at http://datatracker.ietf.org/drafts/current/.</td><td> </td><td class="right">   Drafts is at http://datatracker.ietf.org/drafts/current/.</td><td class="lineno" valign="top"></td></tr>
85      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
86      <tr><td class="lineno" valign="top"></td><td class="left">   Internet-Drafts are draft documents valid for a maximum of six months</td><td> </td><td class="right">   Internet-Drafts are draft documents valid for a maximum of six months</td><td class="lineno" valign="top"></td></tr>
87      <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>
88      <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>
89      <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>
90      <tr><td><a name="diff0005" /></td></tr>
91      <tr><td class="lineno" valign="top"></td><td class="lblock">   This Internet-Draft will expire on <span class="delete">May 21</span>, 2014.</td><td> </td><td class="rblock">   This Internet-Draft will expire on <span class="insert">August 10</span>, 2014.</td><td class="lineno" valign="top"></td></tr>
92      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
93      <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>
94      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
95      <tr><td><a name="diff0006" /></td></tr>
96      <tr><td class="lineno" valign="top"></td><td class="lblock">   Copyright (c) 201<span class="delete">3</span> IETF Trust and the persons identified as the</td><td> </td><td class="rblock">   Copyright (c) 201<span class="insert">4</span> IETF Trust and the persons identified as the</td><td class="lineno" valign="top"></td></tr>
97      <tr><td class="lineno" valign="top"></td><td class="left">   document authors.  All rights reserved.</td><td> </td><td class="right">   document authors.  All rights reserved.</td><td class="lineno" valign="top"></td></tr>
98      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
99      <tr><td class="lineno" valign="top"></td><td class="left">   This document is subject to BCP 78 and the IETF Trust's Legal</td><td> </td><td class="right">   This document is subject to BCP 78 and the IETF Trust's Legal</td><td class="lineno" valign="top"></td></tr>
100      <tr><td class="lineno" valign="top"></td><td class="left">   Provisions Relating to IETF Documents</td><td> </td><td class="right">   Provisions Relating to IETF Documents</td><td class="lineno" valign="top"></td></tr>
101      <tr><td class="lineno" valign="top"></td><td class="left">   (http://trustee.ietf.org/license-info) in effect on the date of</td><td> </td><td class="right">   (http://trustee.ietf.org/license-info) in effect on the date of</td><td class="lineno" valign="top"></td></tr>
102      <tr><td class="lineno" valign="top"></td><td class="left">   publication of this document.  Please review these documents</td><td> </td><td class="right">   publication of this document.  Please review these documents</td><td class="lineno" valign="top"></td></tr>
103      <tr><td class="lineno" valign="top"></td><td class="left">   carefully, as they describe your rights and restrictions with respect</td><td> </td><td class="right">   carefully, as they describe your rights and restrictions with respect</td><td class="lineno" valign="top"></td></tr>
104      <tr><td class="lineno" valign="top"></td><td class="left">   to this document.  Code Components extracted from this document must</td><td> </td><td class="right">   to this document.  Code Components extracted from this document must</td><td class="lineno" valign="top"></td></tr>
105      <tr><td class="lineno" valign="top"></td><td class="left">   include Simplified BSD License text as described in Section 4.e of</td><td> </td><td class="right">   include Simplified BSD License text as described in Section 4.e of</td><td class="lineno" valign="top"></td></tr>
106      <tr><td class="lineno" valign="top"></td><td class="left">   the Trust Legal Provisions and are provided without warranty as</td><td> </td><td class="right">   the Trust Legal Provisions and are provided without warranty as</td><td class="lineno" valign="top"></td></tr>
107      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
108      <tr bgcolor="gray" ><td></td><th><a name="part-l2" /><small>skipping to change at</small><em> page 3, line 16</em></th><th> </th><th><a name="part-r2" /><small>skipping to change at</small><em> page 3, line 16</em></th><td></td></tr>
109      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
110      <tr><td class="lineno" valign="top"></td><td class="left">   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4</td><td> </td><td class="right">   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4</td><td class="lineno" valign="top"></td></tr>
111      <tr><td class="lineno" valign="top"></td><td class="left">     1.1.  Conformance and Error Handling . . . . . . . . . . . . . .  4</td><td> </td><td class="right">     1.1.  Conformance and Error Handling . . . . . . . . . . . . . .  4</td><td class="lineno" valign="top"></td></tr>
112      <tr><td class="lineno" valign="top"></td><td class="left">     1.2.  Syntax Notation  . . . . . . . . . . . . . . . . . . . . .  4</td><td> </td><td class="right">     1.2.  Syntax Notation  . . . . . . . . . . . . . . . . . . . . .  4</td><td class="lineno" valign="top"></td></tr>
113      <tr><td class="lineno" valign="top"></td><td class="left">   2.  Validators . . . . . . . . . . . . . . . . . . . . . . . . . .  5</td><td> </td><td class="right">   2.  Validators . . . . . . . . . . . . . . . . . . . . . . . . . .  5</td><td class="lineno" valign="top"></td></tr>
114      <tr><td class="lineno" valign="top"></td><td class="left">     2.1.  Weak versus Strong . . . . . . . . . . . . . . . . . . . .  5</td><td> </td><td class="right">     2.1.  Weak versus Strong . . . . . . . . . . . . . . . . . . . .  5</td><td class="lineno" valign="top"></td></tr>
115      <tr><td class="lineno" valign="top"></td><td class="left">     2.2.  Last-Modified  . . . . . . . . . . . . . . . . . . . . . .  7</td><td> </td><td class="right">     2.2.  Last-Modified  . . . . . . . . . . . . . . . . . . . . . .  7</td><td class="lineno" valign="top"></td></tr>
116      <tr><td class="lineno" valign="top"></td><td class="left">       2.2.1.  Generation . . . . . . . . . . . . . . . . . . . . . .  7</td><td> </td><td class="right">       2.2.1.  Generation . . . . . . . . . . . . . . . . . . . . . .  7</td><td class="lineno" valign="top"></td></tr>
117      <tr><td class="lineno" valign="top"></td><td class="left">       2.2.2.  Comparison . . . . . . . . . . . . . . . . . . . . . .  8</td><td> </td><td class="right">       2.2.2.  Comparison . . . . . . . . . . . . . . . . . . . . . .  8</td><td class="lineno" valign="top"></td></tr>
118      <tr><td class="lineno" valign="top"></td><td class="left">     2.3.  ETag . . . . . . . . . . . . . . . . . . . . . . . . . . .  9</td><td> </td><td class="right">     2.3.  ETag . . . . . . . . . . . . . . . . . . . . . . . . . . .  9</td><td class="lineno" valign="top"></td></tr>
119      <tr><td><a name="diff0007" /></td></tr>
120      <tr><td class="lineno" valign="top"></td><td class="lblock">       2.3.1.  Generation . . . . . . . . . . . . . . . . . . . . . . <span class="delete"> 9</span></td><td> </td><td class="rblock">       2.3.1.  Generation . . . . . . . . . . . . . . . . . . . . . . <span class="insert">10</span></td><td class="lineno" valign="top"></td></tr>
121      <tr><td class="lineno" valign="top"></td><td class="left">       2.3.2.  Comparison . . . . . . . . . . . . . . . . . . . . . . 10</td><td> </td><td class="right">       2.3.2.  Comparison . . . . . . . . . . . . . . . . . . . . . . 10</td><td class="lineno" valign="top"></td></tr>
122      <tr><td class="lineno" valign="top"></td><td class="left">       2.3.3.  Example: Entity-tags Varying on Content-Negotiated</td><td> </td><td class="right">       2.3.3.  Example: Entity-tags Varying on Content-Negotiated</td><td class="lineno" valign="top"></td></tr>
123      <tr><td class="lineno" valign="top"></td><td class="left">               Resources  . . . . . . . . . . . . . . . . . . . . . . 11</td><td> </td><td class="right">               Resources  . . . . . . . . . . . . . . . . . . . . . . 11</td><td class="lineno" valign="top"></td></tr>
124      <tr><td class="lineno" valign="top"></td><td class="left">     2.4.  When to Use Entity-tags and Last-Modified Dates  . . . . . 12</td><td> </td><td class="right">     2.4.  When to Use Entity-tags and Last-Modified Dates  . . . . . 12</td><td class="lineno" valign="top"></td></tr>
125      <tr><td class="lineno" valign="top"></td><td class="left">   3.  Precondition Header Fields . . . . . . . . . . . . . . . . . . 13</td><td> </td><td class="right">   3.  Precondition Header Fields . . . . . . . . . . . . . . . . . . 13</td><td class="lineno" valign="top"></td></tr>
126      <tr><td class="lineno" valign="top"></td><td class="left">     3.1.  If-Match . . . . . . . . . . . . . . . . . . . . . . . . . 13</td><td> </td><td class="right">     3.1.  If-Match . . . . . . . . . . . . . . . . . . . . . . . . . 13</td><td class="lineno" valign="top"></td></tr>
127      <tr><td class="lineno" valign="top"></td><td class="left">     3.2.  If-None-Match  . . . . . . . . . . . . . . . . . . . . . . 14</td><td> </td><td class="right">     3.2.  If-None-Match  . . . . . . . . . . . . . . . . . . . . . . 14</td><td class="lineno" valign="top"></td></tr>
128      <tr><td class="lineno" valign="top"></td><td class="left">     3.3.  If-Modified-Since  . . . . . . . . . . . . . . . . . . . . 15</td><td> </td><td class="right">     3.3.  If-Modified-Since  . . . . . . . . . . . . . . . . . . . . 15</td><td class="lineno" valign="top"></td></tr>
129      <tr><td class="lineno" valign="top"></td><td class="left">     3.4.  If-Unmodified-Since  . . . . . . . . . . . . . . . . . . . 16</td><td> </td><td class="right">     3.4.  If-Unmodified-Since  . . . . . . . . . . . . . . . . . . . 16</td><td class="lineno" valign="top"></td></tr>
130      <tr><td class="lineno" valign="top"></td><td class="left">     3.5.  If-Range . . . . . . . . . . . . . . . . . . . . . . . . . 18</td><td> </td><td class="right">     3.5.  If-Range . . . . . . . . . . . . . . . . . . . . . . . . . 18</td><td class="lineno" valign="top"></td></tr>
131      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
132      <tr bgcolor="gray" ><td></td><th><a name="part-l3" /><small>skipping to change at</small><em> page 3, line 46</em></th><th> </th><th><a name="part-r3" /><small>skipping to change at</small><em> page 3, line 46</em></th><td></td></tr>
133      <tr><td class="lineno" valign="top"></td><td class="left">   9.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 22</td><td> </td><td class="right">   9.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 22</td><td class="lineno" valign="top"></td></tr>
134      <tr><td class="lineno" valign="top"></td><td class="left">   10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 23</td><td> </td><td class="right">   10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 23</td><td class="lineno" valign="top"></td></tr>
135      <tr><td class="lineno" valign="top"></td><td class="left">     10.1. Normative References . . . . . . . . . . . . . . . . . . . 23</td><td> </td><td class="right">     10.1. Normative References . . . . . . . . . . . . . . . . . . . 23</td><td class="lineno" valign="top"></td></tr>
136      <tr><td class="lineno" valign="top"></td><td class="left">     10.2. Informative References . . . . . . . . . . . . . . . . . . 23</td><td> </td><td class="right">     10.2. Informative References . . . . . . . . . . . . . . . . . . 23</td><td class="lineno" valign="top"></td></tr>
137      <tr><td class="lineno" valign="top"></td><td class="left">   Appendix A.  Changes from RFC 2616 . . . . . . . . . . . . . . . . 23</td><td> </td><td class="right">   Appendix A.  Changes from RFC 2616 . . . . . . . . . . . . . . . . 23</td><td class="lineno" valign="top"></td></tr>
138      <tr><td class="lineno" valign="top"></td><td class="left">   Appendix B.  Imported ABNF . . . . . . . . . . . . . . . . . . . . 24</td><td> </td><td class="right">   Appendix B.  Imported ABNF . . . . . . . . . . . . . . . . . . . . 24</td><td class="lineno" valign="top"></td></tr>
139      <tr><td class="lineno" valign="top"></td><td class="left">   Appendix C.  Collected ABNF  . . . . . . . . . . . . . . . . . . . 24</td><td> </td><td class="right">   Appendix C.  Collected ABNF  . . . . . . . . . . . . . . . . . . . 24</td><td class="lineno" valign="top"></td></tr>
140      <tr><td class="lineno" valign="top"></td><td class="left">   Appendix D.  Change Log (to be removed by RFC Editor before</td><td> </td><td class="right">   Appendix D.  Change Log (to be removed by RFC Editor before</td><td class="lineno" valign="top"></td></tr>
141      <tr><td class="lineno" valign="top"></td><td class="left">                publication)  . . . . . . . . . . . . . . . . . . . . 25</td><td> </td><td class="right">                publication)  . . . . . . . . . . . . . . . . . . . . 25</td><td class="lineno" valign="top"></td></tr>
142      <tr><td class="lineno" valign="top"></td><td class="left">     D.1.  Since draft-ietf-httpbis-p4-conditional-24 . . . . . . . . 25</td><td> </td><td class="right">     D.1.  Since draft-ietf-httpbis-p4-conditional-24 . . . . . . . . 25</td><td class="lineno" valign="top"></td></tr>
143      <tr><td><a name="diff0008" /></td></tr>
144      <tr><td class="lineno" valign="top"></td><td class="lblock">   Index  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">25</span></td><td> </td><td class="rblock">     <span class="insert">D.2.  Since draft-ietf-httpbis-p4-conditional-25 . . . . . . . . 25</span></td><td class="lineno" valign="top"></td></tr>
145      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">   Index  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">26</span></td><td class="lineno" valign="top"></td></tr>
146      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
147      <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>
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">   Conditional requests are HTTP requests [Part2] that include one or</td><td> </td><td class="right">   Conditional requests are HTTP requests [Part2] that include one or</td><td class="lineno" valign="top"></td></tr>
150      <tr><td class="lineno" valign="top"></td><td class="left">   more header fields indicating a precondition to be tested before</td><td> </td><td class="right">   more header fields indicating a precondition to be tested before</td><td class="lineno" valign="top"></td></tr>
151      <tr><td class="lineno" valign="top"></td><td class="left">   applying the method semantics to the target resource.  This document</td><td> </td><td class="right">   applying the method semantics to the target resource.  This document</td><td class="lineno" valign="top"></td></tr>
152      <tr><td class="lineno" valign="top"></td><td class="left">   defines the HTTP/1.1 conditional request mechanisms in terms of the</td><td> </td><td class="right">   defines the HTTP/1.1 conditional request mechanisms in terms of the</td><td class="lineno" valign="top"></td></tr>
153      <tr><td class="lineno" valign="top"></td><td class="left">   architecture, syntax notation, and conformance criteria defined in</td><td> </td><td class="right">   architecture, syntax notation, and conformance criteria defined in</td><td class="lineno" valign="top"></td></tr>
154      <tr><td class="lineno" valign="top"></td><td class="left">   [Part1].</td><td> </td><td class="right">   [Part1].</td><td class="lineno" valign="top"></td></tr>
155      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
156      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
157      <tr bgcolor="gray" ><td></td><th><a name="part-l4" /><small>skipping to change at</small><em> page 4, line 48</em></th><th> </th><th><a name="part-r4" /><small>skipping to change at</small><em> page 4, line 48</em></th><td></td></tr>
158      <tr><td class="lineno" valign="top"></td><td class="left">   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",</td><td> </td><td class="right">   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",</td><td class="lineno" valign="top"></td></tr>
159      <tr><td class="lineno" valign="top"></td><td class="left">   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this</td><td> </td><td class="right">   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this</td><td class="lineno" valign="top"></td></tr>
160      <tr><td class="lineno" valign="top"></td><td class="left">   document are to be interpreted as described in [RFC2119].</td><td> </td><td class="right">   document are to be interpreted as described in [RFC2119].</td><td class="lineno" valign="top"></td></tr>
161      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
162      <tr><td class="lineno" valign="top"></td><td class="left">   Conformance criteria and considerations regarding error handling are</td><td> </td><td class="right">   Conformance criteria and considerations regarding error handling are</td><td class="lineno" valign="top"></td></tr>
163      <tr><td class="lineno" valign="top"></td><td class="left">   defined in Section 2.5 of [Part1].</td><td> </td><td class="right">   defined in Section 2.5 of [Part1].</td><td class="lineno" valign="top"></td></tr>
164      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
165      <tr><td class="lineno" valign="top"></td><td class="left">1.2.  Syntax Notation</td><td> </td><td class="right">1.2.  Syntax Notation</td><td class="lineno" valign="top"></td></tr>
166      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
167      <tr><td class="lineno" valign="top"></td><td class="left">   This specification uses the Augmented Backus-Naur Form (ABNF)</td><td> </td><td class="right">   This specification uses the Augmented Backus-Naur Form (ABNF)</td><td class="lineno" valign="top"></td></tr>
168      <tr><td><a name="diff0009" /></td></tr>
169      <tr><td class="lineno" valign="top"></td><td class="lblock">   notation of [RFC5234] with <span class="delete">the</span> list <span class="delete">rule extension</span> defined in Section</td><td> </td><td class="rblock">   notation of [RFC5234] with <span class="insert">a</span> list <span class="insert">extension,</span> defined in Section 7 of</td><td class="lineno" valign="top"></td></tr>
170      <tr><td class="lineno" valign="top"></td><td class="lblock">   7 of <span class="delete">[Part1].</span>  Appendix B describes rules imported from other</td><td> </td><td class="rblock">   <span class="insert">[Part1], that allows for compact definition of comma-separated lists</span></td><td class="lineno" valign="top"></td></tr>
171      <tr><td class="lineno" valign="top"></td><td class="lblock">   documents.  Appendix C shows the collected <span class="delete">ABNF</span> with <span class="delete">the</span> list <span class="delete">rule</span></td><td> </td><td class="rblock"><span class="insert">   using a '#' operator (similar to how the '*' operator indicates</span></td><td class="lineno" valign="top"></td></tr>
172      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   expanded.</span></td><td> </td><td class="rblock"><span class="insert">   repetition).</span>  Appendix B describes rules imported from other</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">   documents.  Appendix C shows the collected <span class="insert">grammar</span> with <span class="insert">all</span> list</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">operators expanded to standard ABNF notation.</span></td><td class="lineno" valign="top"></td></tr>
175      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
176      <tr><td class="lineno" valign="top"></td><td class="left">2.  Validators</td><td> </td><td class="right">2.  Validators</td><td class="lineno" valign="top"></td></tr>
177      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
178      <tr><td class="lineno" valign="top"></td><td class="left">   This specification defines two forms of metadata that are commonly</td><td> </td><td class="right">   This specification defines two forms of metadata that are commonly</td><td class="lineno" valign="top"></td></tr>
179      <tr><td class="lineno" valign="top"></td><td class="left">   used to observe resource state and test for preconditions:</td><td> </td><td class="right">   used to observe resource state and test for preconditions:</td><td class="lineno" valign="top"></td></tr>
180      <tr><td class="lineno" valign="top"></td><td class="left">   modification dates (Section 2.2) and opaque entity tags</td><td> </td><td class="right">   modification dates (Section 2.2) and opaque entity tags</td><td class="lineno" valign="top"></td></tr>
181      <tr><td class="lineno" valign="top"></td><td class="left">   (Section 2.3).  Additional metadata that reflects resource state has</td><td> </td><td class="right">   (Section 2.3).  Additional metadata that reflects resource state has</td><td class="lineno" valign="top"></td></tr>
182      <tr><td class="lineno" valign="top"></td><td class="left">   been defined by various extensions of HTTP, such as WebDAV [RFC4918],</td><td> </td><td class="right">   been defined by various extensions of HTTP, such as WebDAV [RFC4918],</td><td class="lineno" valign="top"></td></tr>
183      <tr><td class="lineno" valign="top"></td><td class="left">   that are beyond the scope of this specification.  A resource metadata</td><td> </td><td class="right">   that are beyond the scope of this specification.  A resource metadata</td><td class="lineno" valign="top"></td></tr>
184      <tr><td class="lineno" valign="top"></td><td class="left">   value is referred to as a "validator" when it is used within a</td><td> </td><td class="right">   value is referred to as a "validator" when it is used within a</td><td class="lineno" valign="top"></td></tr>
185      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
186      <tr bgcolor="gray" ><td></td><th><a name="part-l5" /><small>skipping to change at</small><em> page 10, line 14</em></th><th> </th><th><a name="part-r5" /><small>skipping to change at</small><em> page 10, line 19</em></th><td></td></tr>
187      <tr><td class="lineno" valign="top"></td><td class="left">   accurate and efficient validation mechanism for that resource, and</td><td> </td><td class="right">   accurate and efficient validation mechanism for that resource, and</td><td class="lineno" valign="top"></td></tr>
188      <tr><td class="lineno" valign="top"></td><td class="left">   that any such mechanism can be mapped to a simple sequence of octets</td><td> </td><td class="right">   that any such mechanism can be mapped to a simple sequence of octets</td><td class="lineno" valign="top"></td></tr>
189      <tr><td class="lineno" valign="top"></td><td class="left">   for easy comparison.  Since the value is opaque, there is no need for</td><td> </td><td class="right">   for easy comparison.  Since the value is opaque, there is no need for</td><td class="lineno" valign="top"></td></tr>
190      <tr><td class="lineno" valign="top"></td><td class="left">   the client to be aware of how each entity-tag is constructed.</td><td> </td><td class="right">   the client to be aware of how each entity-tag is constructed.</td><td class="lineno" valign="top"></td></tr>
191      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
192      <tr><td class="lineno" valign="top"></td><td class="left">   For example, a resource that has implementation-specific versioning</td><td> </td><td class="right">   For example, a resource that has implementation-specific versioning</td><td class="lineno" valign="top"></td></tr>
193      <tr><td class="lineno" valign="top"></td><td class="left">   applied to all changes might use an internal revision number, perhaps</td><td> </td><td class="right">   applied to all changes might use an internal revision number, perhaps</td><td class="lineno" valign="top"></td></tr>
194      <tr><td class="lineno" valign="top"></td><td class="left">   combined with a variance identifier for content negotiation, to</td><td> </td><td class="right">   combined with a variance identifier for content negotiation, to</td><td class="lineno" valign="top"></td></tr>
195      <tr><td class="lineno" valign="top"></td><td class="left">   accurately differentiate between representations.  Other</td><td> </td><td class="right">   accurately differentiate between representations.  Other</td><td class="lineno" valign="top"></td></tr>
196      <tr><td class="lineno" valign="top"></td><td class="left">   implementations might use a collision-resistant hash of</td><td> </td><td class="right">   implementations might use a collision-resistant hash of</td><td class="lineno" valign="top"></td></tr>
197      <tr><td><a name="diff0010" /></td></tr>
198      <tr><td class="lineno" valign="top"></td><td class="lblock">   representation content, a combination of various <span class="delete">filesystem</span></td><td> </td><td class="rblock">   representation content, a combination of various <span class="insert">file</span> attributes, or</td><td class="lineno" valign="top"></td></tr>
199      <tr><td class="lineno" valign="top"></td><td class="lblock">   attributes, or a modification timestamp that has sub-second</td><td> </td><td class="rblock">   a modification timestamp that has sub-second resolution.</td><td class="lineno" valign="top"></td></tr>
200      <tr><td class="lineno" valign="top"></td><td class="lblock">   resolution.</td><td> </td><td class="rblock"></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">   An origin server SHOULD send ETag for any selected representation for</td><td> </td><td class="right">   An origin server SHOULD send ETag for any selected representation for</td><td class="lineno" valign="top"></td></tr>
203      <tr><td class="lineno" valign="top"></td><td class="left">   which detection of changes can be reasonably and consistently</td><td> </td><td class="right">   which detection of changes can be reasonably and consistently</td><td class="lineno" valign="top"></td></tr>
204      <tr><td class="lineno" valign="top"></td><td class="left">   determined, since the entity-tag's use in conditional requests and</td><td> </td><td class="right">   determined, since the entity-tag's use in conditional requests and</td><td class="lineno" valign="top"></td></tr>
205      <tr><td class="lineno" valign="top"></td><td class="left">   evaluating cache freshness ([Part6]) can result in a substantial</td><td> </td><td class="right">   evaluating cache freshness ([Part6]) can result in a substantial</td><td class="lineno" valign="top"></td></tr>
206      <tr><td class="lineno" valign="top"></td><td class="left">   reduction of HTTP network traffic and can be a significant factor in</td><td> </td><td class="right">   reduction of HTTP network traffic and can be a significant factor in</td><td class="lineno" valign="top"></td></tr>
207      <tr><td class="lineno" valign="top"></td><td class="left">   improving service scalability and reliability.</td><td> </td><td class="right">   improving service scalability and reliability.</td><td class="lineno" valign="top"></td></tr>
208      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
209      <tr><td class="lineno" valign="top"></td><td class="left">2.3.2.  Comparison</td><td> </td><td class="right">2.3.2.  Comparison</td><td class="lineno" valign="top"></td></tr>
210      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
211      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
212      <tr bgcolor="gray" ><td></td><th><a name="part-l6" /><small>skipping to change at</small><em> page 12, line 15</em></th><th> </th><th><a name="part-r6" /><small>skipping to change at</small><em> page 12, line 15</em></th><td></td></tr>
213      <tr><td class="lineno" valign="top"></td><td class="left">      Note: Content codings are a property of the representation data,</td><td> </td><td class="right">      Note: Content codings are a property of the representation data,</td><td class="lineno" valign="top"></td></tr>
214      <tr><td class="lineno" valign="top"></td><td class="left">      so a strong entity-tag for a content-encoded representation has to</td><td> </td><td class="right">      so a strong entity-tag for a content-encoded representation has to</td><td class="lineno" valign="top"></td></tr>
215      <tr><td class="lineno" valign="top"></td><td class="left">      be distinct from the entity tag of an unencoded representation to</td><td> </td><td class="right">      be distinct from the entity tag of an unencoded representation to</td><td class="lineno" valign="top"></td></tr>
216      <tr><td class="lineno" valign="top"></td><td class="left">      prevent potential conflicts during cache updates and range</td><td> </td><td class="right">      prevent potential conflicts during cache updates and range</td><td class="lineno" valign="top"></td></tr>
217      <tr><td class="lineno" valign="top"></td><td class="left">      requests.  In contrast, transfer codings (Section 4 of [Part1])</td><td> </td><td class="right">      requests.  In contrast, transfer codings (Section 4 of [Part1])</td><td class="lineno" valign="top"></td></tr>
218      <tr><td class="lineno" valign="top"></td><td class="left">      apply only during message transfer and do not result in distinct</td><td> </td><td class="right">      apply only during message transfer and do not result in distinct</td><td class="lineno" valign="top"></td></tr>
219      <tr><td class="lineno" valign="top"></td><td class="left">      entity-tags.</td><td> </td><td class="right">      entity-tags.</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">2.4.  When to Use Entity-tags and Last-Modified Dates</td><td> </td><td class="right">2.4.  When to Use Entity-tags and Last-Modified Dates</td><td class="lineno" valign="top"></td></tr>
222      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
223      <tr><td><a name="diff0011" /></td></tr>
224      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">We adopt a set of rules and recommendations for origin servers,</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
225      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   clients, and caches regarding when various validator types ought to</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
226      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   be used, and for what purposes.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
227      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                         </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
228      <tr><td class="lineno" valign="top"></td><td class="left">   In 200 (OK) responses to GET or HEAD, an origin server:</td><td> </td><td class="right">   In 200 (OK) responses to GET or HEAD, an origin server:</td><td class="lineno" valign="top"></td></tr>
229      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
230      <tr><td 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>
231      <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>
232      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
233      <tr><td class="lineno" valign="top"></td><td class="left">   o  MAY send a weak entity-tag instead of a strong entity-tag, if</td><td> </td><td class="right">   o  MAY send a weak entity-tag instead of a strong entity-tag, if</td><td class="lineno" valign="top"></td></tr>
234      <tr><td class="lineno" valign="top"></td><td class="left">      performance considerations support the use of weak entity-tags, or</td><td> </td><td class="right">      performance considerations support the use of weak entity-tags, or</td><td class="lineno" valign="top"></td></tr>
235      <tr><td class="lineno" valign="top"></td><td class="left">      if it is unfeasible to send a strong entity-tag.</td><td> </td><td class="right">      if it is unfeasible to send a strong entity-tag.</td><td class="lineno" valign="top"></td></tr>
236      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
237      <tr><td class="lineno" valign="top"></td><td class="left">   o  SHOULD send a Last-Modified value if it is feasible to send one.</td><td> </td><td class="right">   o  SHOULD send a Last-Modified value if it is feasible to send one.</td><td class="lineno" valign="top"></td></tr>
238      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
239      <tr bgcolor="gray" ><td></td><th><a name="part-l7" /><small>skipping to change at</small><em> page 22, line 22</em></th><th> </th><th><a name="part-r7" /><small>skipping to change at</small><em> page 22, line 22</em></th><td></td></tr>
240      <tr><td class="lineno" valign="top"></td><td class="left">   | If-Unmodified-Since | http     | standard | Section 3.4 |</td><td> </td><td class="right">   | If-Unmodified-Since | http     | standard | Section 3.4 |</td><td class="lineno" valign="top"></td></tr>
241      <tr><td class="lineno" valign="top"></td><td class="left">   | Last-Modified       | http     | standard | Section 2.2 |</td><td> </td><td class="right">   | Last-Modified       | http     | standard | Section 2.2 |</td><td class="lineno" valign="top"></td></tr>
242      <tr><td class="lineno" valign="top"></td><td class="left">   +---------------------+----------+----------+-------------+</td><td> </td><td class="right">   +---------------------+----------+----------+-------------+</td><td class="lineno" valign="top"></td></tr>
243      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
244      <tr><td class="lineno" valign="top"></td><td class="left">   The change controller is: "IETF (iesg@ietf.org) - Internet</td><td> </td><td class="right">   The change controller is: "IETF (iesg@ietf.org) - Internet</td><td class="lineno" valign="top"></td></tr>
245      <tr><td class="lineno" valign="top"></td><td class="left">   Engineering Task Force".</td><td> </td><td class="right">   Engineering Task Force".</td><td class="lineno" valign="top"></td></tr>
246      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
247      <tr><td class="lineno" valign="top"></td><td class="left">8.  Security Considerations</td><td> </td><td class="right">8.  Security Considerations</td><td class="lineno" valign="top"></td></tr>
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">   This section is meant to inform developers, information providers,</td><td> </td><td class="right">   This section is meant to inform developers, information providers,</td><td class="lineno" valign="top"></td></tr>
250      <tr><td><a name="diff0012" /></td></tr>
251      <tr><td class="lineno" valign="top"></td><td class="lblock">   and users of known security concerns specific to the <span class="delete">HTTP/1.1</span></td><td> </td><td class="rblock">   and users of known security concerns specific to the <span class="insert">HTTP</span> conditional</td><td class="lineno" valign="top"></td></tr>
252      <tr><td class="lineno" valign="top"></td><td class="lblock">   conditional request mechanisms.  More general security considerations</td><td> </td><td class="rblock">   request mechanisms.  More general security considerations are</td><td class="lineno" valign="top"></td></tr>
253      <tr><td class="lineno" valign="top"></td><td class="lblock">   are addressed in HTTP messaging [Part1] and semantics [Part2].</td><td> </td><td class="rblock">   addressed in HTTP messaging [Part1] and semantics [Part2].</td><td class="lineno" valign="top"></td></tr>
254      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
255      <tr><td class="lineno" valign="top"></td><td class="left">   The validators defined by this specification are not intended to</td><td> </td><td class="right">   The validators defined by this specification are not intended to</td><td class="lineno" valign="top"></td></tr>
256      <tr><td class="lineno" valign="top"></td><td class="left">   ensure the validity of a representation, guard against malicious</td><td> </td><td class="right">   ensure the validity of a representation, guard against malicious</td><td class="lineno" valign="top"></td></tr>
257      <tr><td class="lineno" valign="top"></td><td class="left">   changes, or detect man-in-the-middle attacks.  At best, they enable</td><td> </td><td class="right">   changes, or detect man-in-the-middle attacks.  At best, they enable</td><td class="lineno" valign="top"></td></tr>
258      <tr><td class="lineno" valign="top"></td><td class="left">   more efficient cache updates and optimistic concurrent writes when</td><td> </td><td class="right">   more efficient cache updates and optimistic concurrent writes when</td><td class="lineno" valign="top"></td></tr>
259      <tr><td class="lineno" valign="top"></td><td class="left">   all participants are behaving nicely.  At worst, the conditions will</td><td> </td><td class="right">   all participants are behaving nicely.  At worst, the conditions will</td><td class="lineno" valign="top"></td></tr>
260      <tr><td class="lineno" valign="top"></td><td class="left">   fail and the client will receive a response that is no more harmful</td><td> </td><td class="right">   fail and the client will receive a response that is no more harmful</td><td class="lineno" valign="top"></td></tr>
261      <tr><td class="lineno" valign="top"></td><td class="left">   than an HTTP exchange without conditional requests.</td><td> </td><td class="right">   than an HTTP exchange without conditional requests.</td><td class="lineno" valign="top"></td></tr>
262      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
263      <tr><td class="lineno" valign="top"></td><td class="left">   An entity-tag can be abused in ways that create privacy risks.  For</td><td> </td><td class="right">   An entity-tag can be abused in ways that create privacy risks.  For</td><td class="lineno" valign="top"></td></tr>
264      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
265      <tr bgcolor="gray" ><td></td><th><a name="part-l8" /><small>skipping to change at</small><em> page 23, line 8</em></th><th> </th><th><a name="part-r8" /><small>skipping to change at</small><em> page 23, line 8</em></th><td></td></tr>
266      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
267      <tr><td class="lineno" valign="top"></td><td class="left">9.  Acknowledgments</td><td> </td><td class="right">9.  Acknowledgments</td><td class="lineno" valign="top"></td></tr>
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">   See Section 10 of [Part1].</td><td> </td><td class="right">   See Section 10 of [Part1].</td><td class="lineno" valign="top"></td></tr>
270      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
271      <tr><td class="lineno" valign="top"></td><td class="left">10.  References</td><td> </td><td class="right">10.  References</td><td class="lineno" valign="top"></td></tr>
272      <tr><td class="lineno" valign="top"></td><td class="left">10.1.  Normative References</td><td> </td><td class="right">10.1.  Normative References</td><td class="lineno" valign="top"></td></tr>
273      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
274      <tr><td class="lineno" valign="top"></td><td class="left">   [Part1]    Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer</td><td> </td><td class="right">   [Part1]    Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer</td><td class="lineno" valign="top"></td></tr>
275      <tr><td class="lineno" valign="top"></td><td class="left">              Protocol (HTTP/1.1): Message Syntax and Routing",</td><td> </td><td class="right">              Protocol (HTTP/1.1): Message Syntax and Routing",</td><td class="lineno" valign="top"></td></tr>
276      <tr><td><a name="diff0013" /></td></tr>
277      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">draft-ietf-httpbis-p1-messaging-25</span> (work in progress),</td><td> </td><td class="rblock">              <span class="insert">draft-ietf-httpbis-p1-messaging-26</span> (work in progress),</td><td class="lineno" valign="top"></td></tr>
278      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">November 2013.</span></td><td> </td><td class="rblock">              <span class="insert">February 2014.</span></td><td class="lineno" valign="top"></td></tr>
279      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
280      <tr><td class="lineno" valign="top"></td><td class="left">   [Part2]    Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer</td><td> </td><td class="right">   [Part2]    Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer</td><td class="lineno" valign="top"></td></tr>
281      <tr><td class="lineno" valign="top"></td><td class="left">              Protocol (HTTP/1.1): Semantics and Content",</td><td> </td><td class="right">              Protocol (HTTP/1.1): Semantics and Content",</td><td class="lineno" valign="top"></td></tr>
282      <tr><td><a name="diff0014" /></td></tr>
283      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">draft-ietf-httpbis-p2-semantics-25</span> (work in progress),</td><td> </td><td class="rblock">              <span class="insert">draft-ietf-httpbis-p2-semantics-26</span> (work in progress),</td><td class="lineno" valign="top"></td></tr>
284      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">November 2013.</span></td><td> </td><td class="rblock">              <span class="insert">February 2014.</span></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">   [Part5]    Fielding, R., Ed., Lafon, Y., Ed., and J. Reschke, Ed.,</td><td> </td><td class="right">   [Part5]    Fielding, R., Ed., Lafon, Y., Ed., and J. Reschke, Ed.,</td><td class="lineno" valign="top"></td></tr>
287      <tr><td class="lineno" valign="top"></td><td class="left">              "Hypertext Transfer Protocol (HTTP/1.1): Range Requests",</td><td> </td><td class="right">              "Hypertext Transfer Protocol (HTTP/1.1): Range Requests",</td><td class="lineno" valign="top"></td></tr>
288      <tr><td><a name="diff0015" /></td></tr>
289      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">draft-ietf-httpbis-p5-range-25</span> (work in progress),</td><td> </td><td class="rblock">              <span class="insert">draft-ietf-httpbis-p5-range-26</span> (work in progress),</td><td class="lineno" valign="top"></td></tr>
290      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">November 2013.</span></td><td> </td><td class="rblock">              <span class="insert">February 2014.</span></td><td class="lineno" valign="top"></td></tr>
291      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
292      <tr><td class="lineno" valign="top"></td><td class="left">   [Part6]    Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke,</td><td> </td><td class="right">   [Part6]    Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke,</td><td class="lineno" valign="top"></td></tr>
293      <tr><td class="lineno" valign="top"></td><td class="left">              Ed., "Hypertext Transfer Protocol (HTTP/1.1): Caching",</td><td> </td><td class="right">              Ed., "Hypertext Transfer Protocol (HTTP/1.1): Caching",</td><td class="lineno" valign="top"></td></tr>
294      <tr><td><a name="diff0016" /></td></tr>
295      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">draft-ietf-httpbis-p6-cache-25</span> (work in progress),</td><td> </td><td class="rblock">              <span class="insert">draft-ietf-httpbis-p6-cache-26</span> (work in progress),</td><td class="lineno" valign="top"></td></tr>
296      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">November 2013.</span></td><td> </td><td class="rblock">              <span class="insert">February 2014.</span></td><td class="lineno" valign="top"></td></tr>
297      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
298      <tr><td class="lineno" valign="top"></td><td class="left">   [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>
299      <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>
300      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
301      <tr><td class="lineno" valign="top"></td><td class="left">   [RFC5234]  Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax</td><td> </td><td class="right">   [RFC5234]  Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax</td><td class="lineno" valign="top"></td></tr>
302      <tr><td class="lineno" valign="top"></td><td class="left">              Specifications: ABNF", STD 68, RFC 5234, January 2008.</td><td> </td><td class="right">              Specifications: ABNF", STD 68, RFC 5234, January 2008.</td><td class="lineno" valign="top"></td></tr>
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">10.2.  Informative References</td><td> </td><td class="right">10.2.  Informative References</td><td class="lineno" valign="top"></td></tr>
305      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
306      <tr><td class="lineno" valign="top"></td><td class="left">   [BCP90]    Klyne, G., Nottingham, M., and J. Mogul, "Registration</td><td> </td><td class="right">   [BCP90]    Klyne, G., Nottingham, M., and J. Mogul, "Registration</td><td class="lineno" valign="top"></td></tr>
307      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
308      <tr bgcolor="gray" ><td></td><th><a name="part-l9" /><small>skipping to change at</small><em> page 25, line 41</em></th><th> </th><th><a name="part-r9" /><small>skipping to change at</small><em> page 25, line 41</em></th><td></td></tr>
309      <tr><td class="lineno" valign="top"></td><td class="left">   Changes up to the IETF Last Call draft are summarized in &lt;http://</td><td> </td><td class="right">   Changes up to the IETF Last Call draft are summarized in &lt;http://</td><td class="lineno" valign="top"></td></tr>
310      <tr><td class="lineno" valign="top"></td><td class="left">   tools.ietf.org/html/draft-ietf-httpbis-p4-conditional-24#appendix-D&gt;.</td><td> </td><td class="right">   tools.ietf.org/html/draft-ietf-httpbis-p4-conditional-24#appendix-D&gt;.</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">D.1.  Since draft-ietf-httpbis-p4-conditional-24</td><td> </td><td class="right">D.1.  Since draft-ietf-httpbis-p4-conditional-24</td><td class="lineno" valign="top"></td></tr>
313      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
314      <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>
315      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
316      <tr><td class="lineno" valign="top"></td><td class="left">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/518&gt;: "APPSDIR</td><td> </td><td class="right">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/518&gt;: "APPSDIR</td><td class="lineno" valign="top"></td></tr>
317      <tr><td class="lineno" valign="top"></td><td class="left">      review of draft-ietf-httpbis-p4-conditional-24"</td><td> </td><td class="right">      review of draft-ietf-httpbis-p4-conditional-24"</td><td class="lineno" valign="top"></td></tr>
318      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
319      <tr><td><a name="diff0017" /></td></tr>
320      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">D.2.  Since draft-ietf-httpbis-p4-conditional-25</span></td><td class="lineno" valign="top"></td></tr>
321      <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>
322      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   Closed issues:</span></td><td class="lineno" valign="top"></td></tr>
323      <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>
324      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/538&gt;: "add</span></td><td class="lineno" valign="top"></td></tr>
325      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      'stateless' to Abstract"</span></td><td class="lineno" valign="top"></td></tr>
326      <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>
327      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/542&gt;: "improve</span></td><td class="lineno" valign="top"></td></tr>
328      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      introduction of list rule"</span></td><td class="lineno" valign="top"></td></tr>
329      <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>
330      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/549&gt;: "augment</span></td><td class="lineno" valign="top"></td></tr>
331      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      security considerations with pointers to current research"</span></td><td class="lineno" valign="top"></td></tr>
332      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">                                                                         </td><td class="lineno" valign="top"></td></tr>
333      <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>
334      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
335      <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>
336      <tr><td class="lineno" valign="top"></td><td class="left">      304 Not Modified (status code)  18</td><td> </td><td class="right">      304 Not Modified (status code)  18</td><td class="lineno" valign="top"></td></tr>
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 class="lineno" valign="top"></td><td class="left">   4</td><td> </td><td class="right">   4</td><td class="lineno" valign="top"></td></tr>
339      <tr><td class="lineno" valign="top"></td><td class="left">      412 Precondition Failed (status code)  18</td><td> </td><td class="right">      412 Precondition Failed (status code)  18</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">   E</td><td> </td><td class="right">   E</td><td class="lineno" valign="top"></td></tr>
342      <tr><td class="lineno" valign="top"></td><td class="left">      ETag header field  9</td><td> </td><td class="right">      ETag header field  9</td><td class="lineno" valign="top"></td></tr>
343
344     <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr>
345     <tr bgcolor="gray"><th colspan="5" align="center"><a name="end">&nbsp;End of changes. 17 change blocks.&nbsp;</a></th></tr>
346     <tr class="stats"><td></td><th><i>31 lines changed or deleted</i></th><th><i> </i></th><th><i>42 lines changed or added</i></th><td></td></tr>
347     <tr><td colspan="5" align="center" class="small"><br/>This html diff was produced by rfcdiff 1.38. The latest version is available from <a href="http://www.tools.ietf.org/tools/rfcdiff/" >http://tools.ietf.org/tools/rfcdiff/</a> </td></tr>
348   </table>
349   </body>
350   </html>
Note: See TracBrowser for help on using the repository browser.