source: draft-ietf-httpbis/diffs/draft-ietf-httpbis-p5-range-24-from-23.diff.html @ 2650

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

Prepare release of -24 on Sept 25

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/html; charset=iso-8859-1
File size: 107.9 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-p5-range-23.txt - draft-ietf-httpbis-p5-range-24.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-p5-range-23.txt&nbsp;</th><th> </th><th>&nbsp;draft-ietf-httpbis-p5-range-24.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)                              Y. Lafon, Ed.</td><td> </td><td class="right">Obsoletes: 2616 (if approved)                              Y. Lafon, Ed.</td><td class="lineno" valign="top"></td></tr>
43      <tr><td class="lineno" valign="top"></td><td class="left">Intended status: Standards Track                                     W3C</td><td> </td><td class="right">Intended status: Standards Track                                     W3C</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">January 16, 2014</span>                                J. Reschke, Ed.</td><td> </td><td class="rblock">Expires: <span class="insert">March 29, 2014  </span>                                J. Reschke, Ed.</td><td class="lineno" valign="top"></td></tr>
46      <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>
47      <tr><td><a name="diff0002" /></td></tr>
48      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                      <span class="delete">     July 1</span>5, 2013</td><td> </td><td class="rblock">                                                      <span class="insert">September 2</span>5, 2013</td><td class="lineno" valign="top"></td></tr>
49      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
50      <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>
51      <tr><td><a name="diff0003" /></td></tr>
52      <tr><td class="lineno" valign="top"></td><td class="lblock">                     draft-ietf-httpbis-p5-range-2<span class="delete">3</span></td><td> </td><td class="rblock">                     draft-ietf-httpbis-p5-range-2<span class="insert">4</span></td><td class="lineno" valign="top"></td></tr>
53      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
54      <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>
55      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
56      <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>
57      <tr><td class="lineno" valign="top"></td><td class="left">   protocol for distributed, collaborative, hypertext information</td><td> </td><td class="right">   protocol for distributed, collaborative, hypertext information</td><td class="lineno" valign="top"></td></tr>
58      <tr><td class="lineno" valign="top"></td><td class="left">   systems.  This document defines range requests and the rules for</td><td> </td><td class="right">   systems.  This document defines range requests and the rules for</td><td class="lineno" valign="top"></td></tr>
59      <tr><td class="lineno" valign="top"></td><td class="left">   constructing and combining responses to those requests.</td><td> </td><td class="right">   constructing and combining responses to those requests.</td><td class="lineno" valign="top"></td></tr>
60      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
61      <tr><td 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>
62      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
63      <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>
64      <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>
65      <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>
66      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
67      <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>
68      <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>
69      <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>
70      <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>
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><a name="diff0004" /></td></tr>
73      <tr><td class="lineno" valign="top"></td><td class="lblock">   The changes in this draft are summarized in Appendix E.<span class="delete">4</span>.</td><td> </td><td class="rblock">   The changes in this draft are summarized in Appendix E.<span class="insert">5</span>.</td><td class="lineno" valign="top"></td></tr>
74      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
75      <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>
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">   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>
78      <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>
79      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
80      <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>
81      <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>
82      <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>
83      <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>
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">   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>
86      <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>
87      <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>
88      <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>
89      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
90      <tr><td><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">January 16</span>, 2014.</td><td> </td><td class="rblock">   This Internet-Draft will expire on <span class="insert">March 29</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 class="lineno" valign="top"></td><td class="left">   Copyright (c) 2013 IETF Trust and the persons identified as the</td><td> </td><td class="right">   Copyright (c) 2013 IETF Trust and the persons identified as the</td><td class="lineno" valign="top"></td></tr>
96      <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>
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">   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>
99      <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>
100      <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>
101      <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>
102      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
103      <tr bgcolor="gray" ><td></td><th><a name="part-l2" /><small>skipping to change at</small><em> page 3, line 17</em></th><th> </th><th><a name="part-r2" /><small>skipping to change at</small><em> page 3, line 17</em></th><td></td></tr>
104      <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>
105      <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>
106      <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>
107      <tr><td class="lineno" valign="top"></td><td class="left">   2.  Range Units  . . . . . . . . . . . . . . . . . . . . . . . . .  4</td><td> </td><td class="right">   2.  Range Units  . . . . . . . . . . . . . . . . . . . . . . . . .  4</td><td class="lineno" valign="top"></td></tr>
108      <tr><td class="lineno" valign="top"></td><td class="left">     2.1.  Byte Ranges  . . . . . . . . . . . . . . . . . . . . . . .  5</td><td> </td><td class="right">     2.1.  Byte Ranges  . . . . . . . . . . . . . . . . . . . . . . .  5</td><td class="lineno" valign="top"></td></tr>
109      <tr><td class="lineno" valign="top"></td><td class="left">     2.2.  Other Range Units  . . . . . . . . . . . . . . . . . . . .  7</td><td> </td><td class="right">     2.2.  Other Range Units  . . . . . . . . . . . . . . . . . . . .  7</td><td class="lineno" valign="top"></td></tr>
110      <tr><td class="lineno" valign="top"></td><td class="left">     2.3.  Accept-Ranges  . . . . . . . . . . . . . . . . . . . . . .  7</td><td> </td><td class="right">     2.3.  Accept-Ranges  . . . . . . . . . . . . . . . . . . . . . .  7</td><td class="lineno" valign="top"></td></tr>
111      <tr><td class="lineno" valign="top"></td><td class="left">   3.  Range Requests . . . . . . . . . . . . . . . . . . . . . . . .  7</td><td> </td><td class="right">   3.  Range Requests . . . . . . . . . . . . . . . . . . . . . . . .  7</td><td class="lineno" valign="top"></td></tr>
112      <tr><td class="lineno" valign="top"></td><td class="left">     3.1.  Range  . . . . . . . . . . . . . . . . . . . . . . . . . .  7</td><td> </td><td class="right">     3.1.  Range  . . . . . . . . . . . . . . . . . . . . . . . . . .  7</td><td class="lineno" valign="top"></td></tr>
113      <tr><td class="lineno" valign="top"></td><td class="left">     3.2.  If-Range . . . . . . . . . . . . . . . . . . . . . . . . .  9</td><td> </td><td class="right">     3.2.  If-Range . . . . . . . . . . . . . . . . . . . . . . . . .  9</td><td class="lineno" valign="top"></td></tr>
114      <tr><td><a name="diff0006" /></td></tr>
115      <tr><td class="lineno" valign="top"></td><td class="lblock">   4.  Responses to a Range Request . . . . . . . . . . . . . . . . . <span class="delete">10</span></td><td> </td><td class="rblock">   4.  Responses to a Range Request . . . . . . . . . . . . . . . . . <span class="insert"> 9</span></td><td class="lineno" valign="top"></td></tr>
116      <tr><td class="lineno" valign="top"></td><td class="left">     4.1.  206 Partial Content  . . . . . . . . . . . . . . . . . . . 10</td><td> </td><td class="right">     4.1.  206 Partial Content  . . . . . . . . . . . . . . . . . . . 10</td><td class="lineno" valign="top"></td></tr>
117      <tr><td class="lineno" valign="top"></td><td class="left">     4.2.  Content-Range  . . . . . . . . . . . . . . . . . . . . . . 12</td><td> </td><td class="right">     4.2.  Content-Range  . . . . . . . . . . . . . . . . . . . . . . 12</td><td class="lineno" valign="top"></td></tr>
118      <tr><td class="lineno" valign="top"></td><td class="left">     4.3.  Combining Ranges . . . . . . . . . . . . . . . . . . . . . 14</td><td> </td><td class="right">     4.3.  Combining Ranges . . . . . . . . . . . . . . . . . . . . . 14</td><td class="lineno" valign="top"></td></tr>
119      <tr><td class="lineno" valign="top"></td><td class="left">     4.4.  416 Range Not Satisfiable  . . . . . . . . . . . . . . . . 15</td><td> </td><td class="right">     4.4.  416 Range Not Satisfiable  . . . . . . . . . . . . . . . . 15</td><td class="lineno" valign="top"></td></tr>
120      <tr><td class="lineno" valign="top"></td><td class="left">   5.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 15</td><td> </td><td class="right">   5.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 15</td><td class="lineno" valign="top"></td></tr>
121      <tr><td class="lineno" valign="top"></td><td class="left">     5.1.  Range Unit Registry  . . . . . . . . . . . . . . . . . . . 15</td><td> </td><td class="right">     5.1.  Range Unit Registry  . . . . . . . . . . . . . . . . . . . 15</td><td class="lineno" valign="top"></td></tr>
122      <tr><td class="lineno" valign="top"></td><td class="left">       5.1.1.  Procedure  . . . . . . . . . . . . . . . . . . . . . . 15</td><td> </td><td class="right">       5.1.1.  Procedure  . . . . . . . . . . . . . . . . . . . . . . 15</td><td class="lineno" valign="top"></td></tr>
123      <tr><td class="lineno" valign="top"></td><td class="left">       5.1.2.  Registrations  . . . . . . . . . . . . . . . . . . . . 16</td><td> </td><td class="right">       5.1.2.  Registrations  . . . . . . . . . . . . . . . . . . . . 16</td><td class="lineno" valign="top"></td></tr>
124      <tr><td class="lineno" valign="top"></td><td class="left">     5.2.  Status Code Registration . . . . . . . . . . . . . . . . . 16</td><td> </td><td class="right">     5.2.  Status Code Registration . . . . . . . . . . . . . . . . . 16</td><td class="lineno" valign="top"></td></tr>
125      <tr><td class="lineno" valign="top"></td><td class="left">     5.3.  Header Field Registration  . . . . . . . . . . . . . . . . 16</td><td> </td><td class="right">     5.3.  Header Field Registration  . . . . . . . . . . . . . . . . 16</td><td class="lineno" valign="top"></td></tr>
126      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
127      <tr bgcolor="gray" ><td></td><th><a name="part-l3" /><small>skipping to change at</small><em> page 3, line 44</em></th><th> </th><th><a name="part-r3" /><small>skipping to change at</small><em> page 3, line 44</em></th><td></td></tr>
128      <tr><td class="lineno" valign="top"></td><td class="left">   Appendix A.  Internet Media Type multipart/byteranges  . . . . . . 18</td><td> </td><td class="right">   Appendix A.  Internet Media Type multipart/byteranges  . . . . . . 18</td><td class="lineno" valign="top"></td></tr>
129      <tr><td class="lineno" valign="top"></td><td class="left">   Appendix B.  Changes from RFC 2616 . . . . . . . . . . . . . . . . 20</td><td> </td><td class="right">   Appendix B.  Changes from RFC 2616 . . . . . . . . . . . . . . . . 20</td><td class="lineno" valign="top"></td></tr>
130      <tr><td class="lineno" valign="top"></td><td class="left">   Appendix C.  Imported ABNF . . . . . . . . . . . . . . . . . . . . 21</td><td> </td><td class="right">   Appendix C.  Imported ABNF . . . . . . . . . . . . . . . . . . . . 21</td><td class="lineno" valign="top"></td></tr>
131      <tr><td class="lineno" valign="top"></td><td class="left">   Appendix D.  Collected ABNF  . . . . . . . . . . . . . . . . . . . 21</td><td> </td><td class="right">   Appendix D.  Collected ABNF  . . . . . . . . . . . . . . . . . . . 21</td><td class="lineno" valign="top"></td></tr>
132      <tr><td class="lineno" valign="top"></td><td class="left">   Appendix E.  Change Log (to be removed by RFC Editor before</td><td> </td><td class="right">   Appendix E.  Change Log (to be removed by RFC Editor before</td><td class="lineno" valign="top"></td></tr>
133      <tr><td class="lineno" valign="top"></td><td class="left">                publication)  . . . . . . . . . . . . . . . . . . . . 23</td><td> </td><td class="right">                publication)  . . . . . . . . . . . . . . . . . . . . 23</td><td class="lineno" valign="top"></td></tr>
134      <tr><td class="lineno" valign="top"></td><td class="left">     E.1.  Since draft-ietf-httpbis-p5-range-19 . . . . . . . . . . . 23</td><td> </td><td class="right">     E.1.  Since draft-ietf-httpbis-p5-range-19 . . . . . . . . . . . 23</td><td class="lineno" valign="top"></td></tr>
135      <tr><td class="lineno" valign="top"></td><td class="left">     E.2.  Since draft-ietf-httpbis-p5-range-20 . . . . . . . . . . . 23</td><td> </td><td class="right">     E.2.  Since draft-ietf-httpbis-p5-range-20 . . . . . . . . . . . 23</td><td class="lineno" valign="top"></td></tr>
136      <tr><td class="lineno" valign="top"></td><td class="left">     E.3.  Since draft-ietf-httpbis-p5-range-21 . . . . . . . . . . . 23</td><td> </td><td class="right">     E.3.  Since draft-ietf-httpbis-p5-range-21 . . . . . . . . . . . 23</td><td class="lineno" valign="top"></td></tr>
137      <tr><td class="lineno" valign="top"></td><td class="left">     E.4.  Since draft-ietf-httpbis-p5-range-22 . . . . . . . . . . . 24</td><td> </td><td class="right">     E.4.  Since draft-ietf-httpbis-p5-range-22 . . . . . . . . . . . 24</td><td class="lineno" valign="top"></td></tr>
138      <tr><td><a name="diff0007" /></td></tr>
139      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">     E.5.  Since draft-ietf-httpbis-p5-range-23 . . . . . . . . . . . 24</span></td><td class="lineno" valign="top"></td></tr>
140      <tr><td class="lineno" valign="top"></td><td class="left">   Index  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24</td><td> </td><td class="right">   Index  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24</td><td class="lineno" valign="top"></td></tr>
141      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
142      <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>
143      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
144      <tr><td class="lineno" valign="top"></td><td class="left">   Hypertext Transfer Protocol (HTTP) clients often encounter</td><td> </td><td class="right">   Hypertext Transfer Protocol (HTTP) clients often encounter</td><td class="lineno" valign="top"></td></tr>
145      <tr><td class="lineno" valign="top"></td><td class="left">   interrupted data transfers as a result of canceled requests or</td><td> </td><td class="right">   interrupted data transfers as a result of canceled requests or</td><td class="lineno" valign="top"></td></tr>
146      <tr><td class="lineno" valign="top"></td><td class="left">   dropped connections.  When a client has stored a partial</td><td> </td><td class="right">   dropped connections.  When a client has stored a partial</td><td class="lineno" valign="top"></td></tr>
147      <tr><td class="lineno" valign="top"></td><td class="left">   representation, it is desirable to request the remainder of that</td><td> </td><td class="right">   representation, it is desirable to request the remainder of that</td><td class="lineno" valign="top"></td></tr>
148      <tr><td class="lineno" valign="top"></td><td class="left">   representation in a subsequent request rather than transfer the</td><td> </td><td class="right">   representation in a subsequent request rather than transfer the</td><td class="lineno" valign="top"></td></tr>
149      <tr><td class="lineno" valign="top"></td><td class="left">   entire representation.  Likewise, devices with limited local storage</td><td> </td><td class="right">   entire representation.  Likewise, devices with limited local storage</td><td class="lineno" valign="top"></td></tr>
150      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
151      <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>
152      <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>
153      <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>
154      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
155      <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>
156      <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>
157      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
158      <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>
159      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
160      <tr><td class="lineno" valign="top"></td><td class="left">   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>
161      <tr><td class="lineno" valign="top"></td><td class="left">   notation of [RFC5234] with the list rule extension defined in Section</td><td> </td><td class="right">   notation of [RFC5234] with the list rule extension defined in Section</td><td class="lineno" valign="top"></td></tr>
162      <tr><td><a name="diff0008" /></td></tr>
163      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">1.2</span> of [Part1].  Appendix C describes rules imported from other</td><td> </td><td class="rblock">   <span class="insert">7</span> of [Part1].  Appendix C describes rules imported from other</td><td class="lineno" valign="top"></td></tr>
164      <tr><td class="lineno" valign="top"></td><td class="left">   documents.  Appendix D shows the collected ABNF with the list rule</td><td> </td><td class="right">   documents.  Appendix D shows the collected ABNF with the list rule</td><td class="lineno" valign="top"></td></tr>
165      <tr><td class="lineno" valign="top"></td><td class="left">   expanded.</td><td> </td><td class="right">   expanded.</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">2.  Range Units</td><td> </td><td class="right">2.  Range Units</td><td class="lineno" valign="top"></td></tr>
168      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
169      <tr><td class="lineno" valign="top"></td><td class="left">   A representation can be partitioned into subranges according to</td><td> </td><td class="right">   A representation can be partitioned into subranges according to</td><td class="lineno" valign="top"></td></tr>
170      <tr><td class="lineno" valign="top"></td><td class="left">   various structural units, depending on the structure inherent in the</td><td> </td><td class="right">   various structural units, depending on the structure inherent in the</td><td class="lineno" valign="top"></td></tr>
171      <tr><td class="lineno" valign="top"></td><td class="left">   representation's media type.  This "range unit" is used in the</td><td> </td><td class="right">   representation's media type.  This "range unit" is used in the</td><td class="lineno" valign="top"></td></tr>
172      <tr><td class="lineno" valign="top"></td><td class="left">   Accept-Ranges (Section 2.3) response header field to advertise</td><td> </td><td class="right">   Accept-Ranges (Section 2.3) response header field to advertise</td><td class="lineno" valign="top"></td></tr>
173      <tr><td class="lineno" valign="top"></td><td class="left">   support for range requests, the Range (Section 3.1) request header</td><td> </td><td class="right">   support for range requests, the Range (Section 3.1) request header</td><td class="lineno" valign="top"></td></tr>
174      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
175      <tr bgcolor="gray" ><td></td><th><a name="part-l5" /><small>skipping to change at</small><em> page 7, line 20</em></th><th> </th><th><a name="part-r5" /><small>skipping to change at</small><em> page 7, line 20</em></th><td></td></tr>
176      <tr><td class="lineno" valign="top"></td><td class="left">     other-range-unit = token</td><td> </td><td class="right">     other-range-unit = token</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">2.3.  Accept-Ranges</td><td> </td><td class="right">2.3.  Accept-Ranges</td><td class="lineno" valign="top"></td></tr>
179      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
180      <tr><td class="lineno" valign="top"></td><td class="left">   The "Accept-Ranges" header field allows a server to indicate that it</td><td> </td><td class="right">   The "Accept-Ranges" header field allows a server to indicate that it</td><td class="lineno" valign="top"></td></tr>
181      <tr><td class="lineno" valign="top"></td><td class="left">   supports range requests for the target resource.</td><td> </td><td class="right">   supports range requests for the target resource.</td><td class="lineno" valign="top"></td></tr>
182      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
183      <tr><td class="lineno" valign="top"></td><td class="left">     Accept-Ranges     = acceptable-ranges</td><td> </td><td class="right">     Accept-Ranges     = acceptable-ranges</td><td class="lineno" valign="top"></td></tr>
184      <tr><td class="lineno" valign="top"></td><td class="left">     acceptable-ranges = 1#range-unit / "none"</td><td> </td><td class="right">     acceptable-ranges = 1#range-unit / "none"</td><td class="lineno" valign="top"></td></tr>
185      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
186      <tr><td><a name="diff0009" /></td></tr>
187      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">Origin servers</span> that <span class="delete">support</span> byte-range requests MAY send</td><td> </td><td class="rblock">   <span class="insert">An origin server</span> that <span class="insert">supports</span> byte-range requests <span class="insert">for a given target</span></td><td class="lineno" valign="top"></td></tr>
188      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   resource</span> MAY send</td><td class="lineno" valign="top"></td></tr>
189      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
190      <tr><td class="lineno" valign="top"></td><td class="left">     Accept-Ranges: bytes</td><td> </td><td class="right">     Accept-Ranges: bytes</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><a name="diff0010" /></td></tr>
193      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">but are not required</span> to <span class="delete">do so.  Clients</span> MAY generate range requests</td><td> </td><td class="rblock">   to <span class="insert">indicate what range units are supported.  A client</span> MAY generate</td><td class="lineno" valign="top"></td></tr>
194      <tr><td class="lineno" valign="top"></td><td class="lblock">   without having received this header field for the resource involved.</td><td> </td><td class="rblock">   range requests without having received this header field for the</td><td class="lineno" valign="top"></td></tr>
195      <tr><td class="lineno" valign="top"></td><td class="lblock">   Range units are defined in Section 2.</td><td> </td><td class="rblock">   resource involved.  Range units are defined in Section 2.</td><td class="lineno" valign="top"></td></tr>
196      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
197      <tr><td><a name="diff0011" /></td></tr>
198      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">Servers</span> that <span class="delete">do</span> not support any kind of range request for the target</td><td> </td><td class="rblock">   <span class="insert">A server</span> that <span class="insert">does</span> not support any kind of range request for the</td><td class="lineno" valign="top"></td></tr>
199      <tr><td class="lineno" valign="top"></td><td class="lblock">   resource resource MAY send</td><td> </td><td class="rblock">   target resource resource MAY send</td><td class="lineno" valign="top"></td></tr>
200      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
201      <tr><td class="lineno" valign="top"></td><td class="left">     Accept-Ranges: none</td><td> </td><td class="right">     Accept-Ranges: none</td><td class="lineno" valign="top"></td></tr>
202      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
203      <tr><td class="lineno" valign="top"></td><td class="left">   to advise the client not to attempt a range request.</td><td> </td><td class="right">   to advise the client not to attempt a range request.</td><td class="lineno" valign="top"></td></tr>
204      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
205      <tr><td class="lineno" valign="top"></td><td class="left">3.  Range Requests</td><td> </td><td class="right">3.  Range Requests</td><td class="lineno" valign="top"></td></tr>
206      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
207      <tr><td class="lineno" valign="top"></td><td class="left">3.1.  Range</td><td> </td><td class="right">3.1.  Range</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">   The "Range" header field on a GET request modifies the method</td><td> </td><td class="right">   The "Range" header field on a GET request modifies the method</td><td class="lineno" valign="top"></td></tr>
210      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
211      <tr bgcolor="gray" ><td></td><th><a name="part-l6" /><small>skipping to change at</small><em> page 8, line 7</em></th><th> </th><th><a name="part-r6" /><small>skipping to change at</small><em> page 8, line 8</em></th><td></td></tr>
212      <tr><td class="lineno" valign="top"></td><td class="left">     other-range-set = 1*CHAR</td><td> </td><td class="right">     other-range-set = 1*CHAR</td><td class="lineno" valign="top"></td></tr>
213      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
214      <tr><td class="lineno" valign="top"></td><td class="left">   A server MAY ignore the Range header field.  However, origin servers</td><td> </td><td class="right">   A server MAY ignore the Range header field.  However, origin servers</td><td class="lineno" valign="top"></td></tr>
215      <tr><td class="lineno" valign="top"></td><td class="left">   and intermediate caches ought to support byte ranges when possible,</td><td> </td><td class="right">   and intermediate caches ought to support byte ranges when possible,</td><td class="lineno" valign="top"></td></tr>
216      <tr><td class="lineno" valign="top"></td><td class="left">   since Range supports efficient recovery from partially failed</td><td> </td><td class="right">   since Range supports efficient recovery from partially failed</td><td class="lineno" valign="top"></td></tr>
217      <tr><td class="lineno" valign="top"></td><td class="left">   transfers and partial retrieval of large representations.  A server</td><td> </td><td class="right">   transfers and partial retrieval of large representations.  A server</td><td class="lineno" valign="top"></td></tr>
218      <tr><td class="lineno" valign="top"></td><td class="left">   MUST ignore a Range header field received with a request method other</td><td> </td><td class="right">   MUST ignore a Range header field received with a request method other</td><td class="lineno" valign="top"></td></tr>
219      <tr><td class="lineno" valign="top"></td><td class="left">   than GET.</td><td> </td><td class="right">   than GET.</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">   An origin server MUST ignore a Range header field that contains a</td><td> </td><td class="right">   An origin server MUST ignore a Range header field that contains a</td><td class="lineno" valign="top"></td></tr>
222      <tr><td><a name="diff0012" /></td></tr>
223      <tr><td class="lineno" valign="top"></td><td class="lblock">   range unit it does not understand.  A proxy MAY <span class="delete">either</span> discard a</td><td> </td><td class="rblock">   range unit it does not understand.  A proxy MAY discard a Range</td><td class="lineno" valign="top"></td></tr>
224      <tr><td class="lineno" valign="top"></td><td class="lblock">   Range header field that contains a range unit it does not <span class="delete">understand</span></td><td> </td><td class="rblock">   header field that contains a range unit it does not <span class="insert">understand.</span></td><td class="lineno" valign="top"></td></tr>
225      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   or pass it to the next inbound server when forwarding the request.</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="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
227      <tr><td><a name="diff0013" /></td></tr>
228      <tr><td class="lineno" valign="top"></td><td class="lblock">   A server that supports range requests <span class="delete">ought to</span> ignore or reject a</td><td> </td><td class="rblock">   A server that supports range requests <span class="insert">MAY</span> ignore or reject a Range</td><td class="lineno" valign="top"></td></tr>
229      <tr><td class="lineno" valign="top"></td><td class="lblock">   Range header field that consists of more than two overlapping ranges,</td><td> </td><td class="rblock">   header field that consists of more than two overlapping ranges, or a</td><td class="lineno" valign="top"></td></tr>
230      <tr><td class="lineno" valign="top"></td><td class="lblock">   or a set of many small ranges that are not listed in ascending order,</td><td> </td><td class="rblock">   set of many small ranges that are not listed in ascending order,</td><td class="lineno" valign="top"></td></tr>
231      <tr><td class="lineno" valign="top"></td><td class="left">   since both are indications of either a broken client or a deliberate</td><td> </td><td class="right">   since both are indications of either a broken client or a deliberate</td><td class="lineno" valign="top"></td></tr>
232      <tr><td class="lineno" valign="top"></td><td class="left">   denial of service attack (Section 6.1).  A client SHOULD NOT request</td><td> </td><td class="right">   denial of service attack (Section 6.1).  A client SHOULD NOT request</td><td class="lineno" valign="top"></td></tr>
233      <tr><td class="lineno" valign="top"></td><td class="left">   multiple ranges that are inherently less efficient to process and</td><td> </td><td class="right">   multiple ranges that are inherently less efficient to process and</td><td class="lineno" valign="top"></td></tr>
234      <tr><td class="lineno" valign="top"></td><td class="left">   transfer than a single range that encompasses the same data.</td><td> </td><td class="right">   transfer than a single range that encompasses the same data.</td><td class="lineno" valign="top"></td></tr>
235      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
236      <tr><td class="lineno" valign="top"></td><td class="left">   A client that is requesting multiple ranges SHOULD list those ranges</td><td> </td><td class="right">   A client that is requesting multiple ranges SHOULD list those ranges</td><td class="lineno" valign="top"></td></tr>
237      <tr><td class="lineno" valign="top"></td><td class="left">   in ascending order (the order in which they would typically be</td><td> </td><td class="right">   in ascending order (the order in which they would typically be</td><td class="lineno" valign="top"></td></tr>
238      <tr><td class="lineno" valign="top"></td><td class="left">   received in a complete representation) unless there is a specific</td><td> </td><td class="right">   received in a complete representation) unless there is a specific</td><td class="lineno" valign="top"></td></tr>
239      <tr><td class="lineno" valign="top"></td><td class="left">   need to request a later part earlier.  For example, a user agent</td><td> </td><td class="right">   need to request a later part earlier.  For example, a user agent</td><td class="lineno" valign="top"></td></tr>
240      <tr><td class="lineno" valign="top"></td><td class="left">   processing a large representation with an internal catalog of parts</td><td> </td><td class="right">   processing a large representation with an internal catalog of parts</td><td class="lineno" valign="top"></td></tr>
241      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
242      <tr bgcolor="gray" ><td></td><th><a name="part-l7" /><small>skipping to change at</small><em> page 9, line 10</em></th><th> </th><th><a name="part-r7" /><small>skipping to change at</small><em> page 9, line 10</em></th><td></td></tr>
243      <tr><td class="lineno" valign="top"></td><td class="left">   If all of the preconditions are true, the server supports the Range</td><td> </td><td class="right">   If all of the preconditions are true, the server supports the Range</td><td class="lineno" valign="top"></td></tr>
244      <tr><td class="lineno" valign="top"></td><td class="left">   header field for the target resource, and the specified range(s) are</td><td> </td><td class="right">   header field for the target resource, and the specified range(s) are</td><td class="lineno" valign="top"></td></tr>
245      <tr><td class="lineno" valign="top"></td><td class="left">   invalid or unsatisfiable, the server SHOULD send a 416 (Range Not</td><td> </td><td class="right">   invalid or unsatisfiable, the server SHOULD send a 416 (Range Not</td><td class="lineno" valign="top"></td></tr>
246      <tr><td class="lineno" valign="top"></td><td class="left">   Satisfiable) response.</td><td> </td><td class="right">   Satisfiable) response.</td><td class="lineno" valign="top"></td></tr>
247      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
248      <tr><td class="lineno" valign="top"></td><td class="left">3.2.  If-Range</td><td> </td><td class="right">3.2.  If-Range</td><td class="lineno" valign="top"></td></tr>
249      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
250      <tr><td class="lineno" valign="top"></td><td class="left">   If a client has a partial copy of a representation and wishes to have</td><td> </td><td class="right">   If a client has a partial copy of a representation and wishes to have</td><td class="lineno" valign="top"></td></tr>
251      <tr><td class="lineno" valign="top"></td><td class="left">   an up-to-date copy of the entire representation, it could use the</td><td> </td><td class="right">   an up-to-date copy of the entire representation, it could use the</td><td class="lineno" valign="top"></td></tr>
252      <tr><td class="lineno" valign="top"></td><td class="left">   Range header field with a conditional GET (using either or both of</td><td> </td><td class="right">   Range header field with a conditional GET (using either or both of</td><td class="lineno" valign="top"></td></tr>
253      <tr><td><a name="diff0014" /></td></tr>
254      <tr><td class="lineno" valign="top"></td><td class="lblock">   If-Unmodified-Since and If-Match.)  However, if the <span class="delete">condition</span> fails</td><td> </td><td class="rblock">   If-Unmodified-Since and If-Match.)  However, if the <span class="insert">precondition</span></td><td class="lineno" valign="top"></td></tr>
255      <tr><td class="lineno" valign="top"></td><td class="lblock">   because the representation has been modified, the client would then</td><td> </td><td class="rblock">   fails because the representation has been modified, the client would</td><td class="lineno" valign="top"></td></tr>
256      <tr><td class="lineno" valign="top"></td><td class="lblock">   have to make a second request to obtain the entire current</td><td> </td><td class="rblock">   then have to make a second request to obtain the entire current</td><td class="lineno" valign="top"></td></tr>
257      <tr><td class="lineno" valign="top"></td><td class="left">   representation.</td><td> </td><td class="right">   representation.</td><td class="lineno" valign="top"></td></tr>
258      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
259      <tr><td class="lineno" valign="top"></td><td class="left">   The "If-Range" header field allows a client to "short-circuit" the</td><td> </td><td class="right">   The "If-Range" header field allows a client to "short-circuit" the</td><td class="lineno" valign="top"></td></tr>
260      <tr><td class="lineno" valign="top"></td><td class="left">   second request.  Informally, its meaning is: if the representation is</td><td> </td><td class="right">   second request.  Informally, its meaning is: if the representation is</td><td class="lineno" valign="top"></td></tr>
261      <tr><td class="lineno" valign="top"></td><td class="left">   unchanged, send me the part(s) that I am requesting in Range;</td><td> </td><td class="right">   unchanged, send me the part(s) that I am requesting in Range;</td><td class="lineno" valign="top"></td></tr>
262      <tr><td class="lineno" valign="top"></td><td class="left">   otherwise, send me the entire representation.</td><td> </td><td class="right">   otherwise, send me the entire representation.</td><td class="lineno" valign="top"></td></tr>
263      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
264      <tr><td class="lineno" valign="top"></td><td class="left">     If-Range = entity-tag / HTTP-date</td><td> </td><td class="right">     If-Range = entity-tag / HTTP-date</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">A client MUST NOT generate an If-Range header field containing an</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
268      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   entity-tag that is marked as weak.  A client MUST NOT generate an If-</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
269      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   Range header field containing a Last-Modified date unless the client</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
270      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   has no entity-tag for the corresponding representation and the Last-</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
271      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   Modified date is strong in the sense defined by Section 2.2.2 of</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
272      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   [Part4].</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
273      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"></span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
274      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   A server that evaluates a conditional range request that is</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
275      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   applicable to one of its representations MUST evaluate the condition</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
276      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   as false if the entity-tag used as a validator is marked as weak or,</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
277      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   when an HTTP-date is used as the validator, if the date value is not</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
278      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   strong in the sense defined by Section 2.2.2 of [Part4].  (A server</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
279      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   can distinguish between a valid HTTP-date and any form of entity-tag</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
280      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   by examining the first two characters.)</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
281      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                         </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
282      <tr><td class="lineno" valign="top"></td><td class="left">   A client MUST NOT generate an If-Range header field in a request that</td><td> </td><td class="right">   A client MUST NOT generate an If-Range header field in a request that</td><td class="lineno" valign="top"></td></tr>
283      <tr><td class="lineno" valign="top"></td><td class="left">   does not contain a Range header field.  A server MUST ignore an If-</td><td> </td><td class="right">   does not contain a Range header field.  A server MUST ignore an If-</td><td class="lineno" valign="top"></td></tr>
284      <tr><td class="lineno" valign="top"></td><td class="left">   Range header field received in a request that does not contain a</td><td> </td><td class="right">   Range header field received in a request that does not contain a</td><td class="lineno" valign="top"></td></tr>
285      <tr><td class="lineno" valign="top"></td><td class="left">   Range header field.  An origin server MUST ignore an If-Range header</td><td> </td><td class="right">   Range header field.  An origin server MUST ignore an If-Range header</td><td class="lineno" valign="top"></td></tr>
286      <tr><td class="lineno" valign="top"></td><td class="left">   field received in a request for a target resource that does not</td><td> </td><td class="right">   field received in a request for a target resource that does not</td><td class="lineno" valign="top"></td></tr>
287      <tr><td class="lineno" valign="top"></td><td class="left">   support Range requests.</td><td> </td><td class="right">   support Range requests.</td><td class="lineno" valign="top"></td></tr>
288      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
289      <tr><td><a name="diff0016" /></td></tr>
290      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">   <span class="insert">A client MUST NOT generate an If-Range header field containing an</span></td><td class="lineno" valign="top"></td></tr>
291      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   entity-tag that is marked as weak.  A client MUST NOT generate an If-</span></td><td class="lineno" valign="top"></td></tr>
292      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   Range header field containing an HTTP-date unless the client has no</span></td><td class="lineno" valign="top"></td></tr>
293      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   entity-tag for the corresponding representation and the date is a</span></td><td class="lineno" valign="top"></td></tr>
294      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   strong validator in the sense defined by Section 2.2.2 of [Part4].</span></td><td class="lineno" valign="top"></td></tr>
295      <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>
296      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   A server that evaluates an If-Range precondition MUST use the strong</span></td><td class="lineno" valign="top"></td></tr>
297      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   comparison function when comparing entity-tags (Section 2.3.2 of</span></td><td class="lineno" valign="top"></td></tr>
298      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   [Part4]) and MUST evaluate the condition as false if an HTTP-date</span></td><td class="lineno" valign="top"></td></tr>
299      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   validator is provided that is not a strong validator in the sense</span></td><td class="lineno" valign="top"></td></tr>
300      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   defined by Section 2.2.2 of [Part4].  (A server can distinguish</span></td><td class="lineno" valign="top"></td></tr>
301      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   between a valid HTTP-date and any form of entity-tag by examining the</span></td><td class="lineno" valign="top"></td></tr>
302      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   first two characters.)</span></td><td class="lineno" valign="top"></td></tr>
303      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">                                                                         </td><td class="lineno" valign="top"></td></tr>
304      <tr><td class="lineno" valign="top"></td><td class="left">   If the validator given in the If-Range header field matches the</td><td> </td><td class="right">   If the validator given in the If-Range header field matches the</td><td class="lineno" valign="top"></td></tr>
305      <tr><td class="lineno" valign="top"></td><td class="left">   current validator for the selected representation of the target</td><td> </td><td class="right">   current validator for the selected representation of the target</td><td class="lineno" valign="top"></td></tr>
306      <tr><td class="lineno" valign="top"></td><td class="left">   resource, then the server SHOULD process the Range header field as</td><td> </td><td class="right">   resource, then the server SHOULD process the Range header field as</td><td class="lineno" valign="top"></td></tr>
307      <tr><td><a name="diff0017" /></td></tr>
308      <tr><td class="lineno" valign="top"></td><td class="lblock">   requested.  If the validator does not match, <span class="delete">then</span> the server MUST</td><td> </td><td class="rblock">   requested.  If the validator does not match, the server MUST ignore</td><td class="lineno" valign="top"></td></tr>
309      <tr><td class="lineno" valign="top"></td><td class="lblock">   ignore the Range header field.</td><td> </td><td class="rblock">   the Range header field.</td><td class="lineno" valign="top"></td></tr>
310      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
311      <tr><td class="lineno" valign="top"></td><td class="left">4.  Responses to a Range Request</td><td> </td><td class="right">4.  Responses to a Range Request</td><td class="lineno" valign="top"></td></tr>
312      <tr><td><a name="diff0018" /></td></tr>
313      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">                                                                         </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
314      <tr><td class="lineno" valign="top"></td><td class="left">4.1.  206 Partial Content</td><td> </td><td class="right">4.1.  206 Partial Content</td><td class="lineno" valign="top"></td></tr>
315      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
316      <tr><td class="lineno" valign="top"></td><td class="left">   The 206 (Partial Content) status code indicates that the server is</td><td> </td><td class="right">   The 206 (Partial Content) status code indicates that the server is</td><td class="lineno" valign="top"></td></tr>
317      <tr><td class="lineno" valign="top"></td><td class="left">   successfully fulfilling a range request for the target resource by</td><td> </td><td class="right">   successfully fulfilling a range request for the target resource by</td><td class="lineno" valign="top"></td></tr>
318      <tr><td class="lineno" valign="top"></td><td class="left">   transferring one or more parts of the selected representation that</td><td> </td><td class="right">   transferring one or more parts of the selected representation that</td><td class="lineno" valign="top"></td></tr>
319      <tr><td class="lineno" valign="top"></td><td class="left">   correspond to the satisfiable ranges found in the request's Range</td><td> </td><td class="right">   correspond to the satisfiable ranges found in the request's Range</td><td class="lineno" valign="top"></td></tr>
320      <tr><td class="lineno" valign="top"></td><td class="left">   header field (Section 3.1).</td><td> </td><td class="right">   header field (Section 3.1).</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">   If a single part is being transferred, the server generating the 206</td><td> </td><td class="right">   If a single part is being transferred, the server generating the 206</td><td class="lineno" valign="top"></td></tr>
323      <tr><td class="lineno" valign="top"></td><td class="left">   response MUST generate a Content-Range header field, describing what</td><td> </td><td class="right">   response MUST generate a Content-Range header field, describing what</td><td class="lineno" valign="top"></td></tr>
324      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
325      <tr bgcolor="gray" ><td></td><th><a name="part-l8" /><small>skipping to change at</small><em> page 10, line 34</em></th><th> </th><th><a name="part-r8" /><small>skipping to change at</small><em> page 10, line 31</em></th><td></td></tr>
326      <tr><td class="lineno" valign="top"></td><td class="left">     Content-Length: 26012</td><td> </td><td class="right">     Content-Length: 26012</td><td class="lineno" valign="top"></td></tr>
327      <tr><td class="lineno" valign="top"></td><td class="left">     Content-Type: image/gif</td><td> </td><td class="right">     Content-Type: image/gif</td><td class="lineno" valign="top"></td></tr>
328      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
329      <tr><td class="lineno" valign="top"></td><td class="left">     ... 26012 bytes of partial image data ...</td><td> </td><td class="right">     ... 26012 bytes of partial image data ...</td><td class="lineno" valign="top"></td></tr>
330      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
331      <tr><td class="lineno" valign="top"></td><td class="left">   If multiple parts are being transferred, the server generating the</td><td> </td><td class="right">   If multiple parts are being transferred, the server generating the</td><td class="lineno" valign="top"></td></tr>
332      <tr><td class="lineno" valign="top"></td><td class="left">   206 response MUST generate a "multipart/byteranges" payload, as</td><td> </td><td class="right">   206 response MUST generate a "multipart/byteranges" payload, as</td><td class="lineno" valign="top"></td></tr>
333      <tr><td class="lineno" valign="top"></td><td class="left">   defined in Appendix A, and a Content-Type header field containing the</td><td> </td><td class="right">   defined in Appendix A, and a Content-Type header field containing the</td><td class="lineno" valign="top"></td></tr>
334      <tr><td class="lineno" valign="top"></td><td class="left">   multipart/byteranges media type and its required boundary parameter.</td><td> </td><td class="right">   multipart/byteranges media type and its required boundary parameter.</td><td class="lineno" valign="top"></td></tr>
335      <tr><td class="lineno" valign="top"></td><td class="left">   To avoid confusion with single part responses, a server MUST NOT</td><td> </td><td class="right">   To avoid confusion with single part responses, a server MUST NOT</td><td class="lineno" valign="top"></td></tr>
336      <tr><td><a name="diff0019" /></td></tr>
337      <tr><td class="lineno" valign="top"></td><td class="lblock">   generate a Content-Range header field in the HTTP header <span class="delete">block</span> of a</td><td> </td><td class="rblock">   generate a Content-Range header field in the HTTP header <span class="insert">section</span> of a</td><td class="lineno" valign="top"></td></tr>
338      <tr><td class="lineno" valign="top"></td><td class="left">   multiple part response (this field will be sent in each part</td><td> </td><td class="right">   multiple part response (this field will be sent in each part</td><td class="lineno" valign="top"></td></tr>
339      <tr><td class="lineno" valign="top"></td><td class="left">   instead).</td><td> </td><td class="right">   instead).</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">   Within the header area of each body part in the multipart payload,</td><td> </td><td class="right">   Within the header area of each body part in the multipart payload,</td><td class="lineno" valign="top"></td></tr>
342      <tr><td class="lineno" valign="top"></td><td class="left">   the server MUST generate a Content-Range header field corresponding</td><td> </td><td class="right">   the server MUST generate a Content-Range header field corresponding</td><td class="lineno" valign="top"></td></tr>
343      <tr><td class="lineno" valign="top"></td><td class="left">   to the range being enclosed in that body part.  If the selected</td><td> </td><td class="right">   to the range being enclosed in that body part.  If the selected</td><td class="lineno" valign="top"></td></tr>
344      <tr><td class="lineno" valign="top"></td><td class="left">   representation would have had a Content-Type header field in a 200</td><td> </td><td class="right">   representation would have had a Content-Type header field in a 200</td><td class="lineno" valign="top"></td></tr>
345      <tr><td class="lineno" valign="top"></td><td class="left">   (OK) response, the server SHOULD generate that same Content-Type</td><td> </td><td class="right">   (OK) response, the server SHOULD generate that same Content-Type</td><td class="lineno" valign="top"></td></tr>
346      <tr><td class="lineno" valign="top"></td><td class="left">   field in the header area of each body part.  For example:</td><td> </td><td class="right">   field in the header area of each body part.  For example:</td><td class="lineno" valign="top"></td></tr>
347      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
348      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
349      <tr bgcolor="gray" ><td></td><th><a name="part-l9" /><small>skipping to change at</small><em> page 12, line 20</em></th><th> </th><th><a name="part-r9" /><small>skipping to change at</small><em> page 12, line 20</em></th><td></td></tr>
350      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
351      <tr><td class="lineno" valign="top"></td><td class="left">   If a 206 is generated in response to a request with an If-Range</td><td> </td><td class="right">   If a 206 is generated in response to a request with an If-Range</td><td class="lineno" valign="top"></td></tr>
352      <tr><td class="lineno" valign="top"></td><td class="left">   header field, the sender SHOULD NOT generate other representation</td><td> </td><td class="right">   header field, the sender SHOULD NOT generate other representation</td><td class="lineno" valign="top"></td></tr>
353      <tr><td class="lineno" valign="top"></td><td class="left">   header fields beyond those required above, because the client is</td><td> </td><td class="right">   header fields beyond those required above, because the client is</td><td class="lineno" valign="top"></td></tr>
354      <tr><td class="lineno" valign="top"></td><td class="left">   understood to already have a prior response containing those header</td><td> </td><td class="right">   understood to already have a prior response containing those header</td><td class="lineno" valign="top"></td></tr>
355      <tr><td class="lineno" valign="top"></td><td class="left">   fields.  Otherwise, the sender MUST generate all of the</td><td> </td><td class="right">   fields.  Otherwise, the sender MUST generate all of the</td><td class="lineno" valign="top"></td></tr>
356      <tr><td class="lineno" valign="top"></td><td class="left">   representation header fields that would have been sent in a 200 (OK)</td><td> </td><td class="right">   representation header fields that would have been sent in a 200 (OK)</td><td class="lineno" valign="top"></td></tr>
357      <tr><td class="lineno" valign="top"></td><td class="left">   response to the same request.</td><td> </td><td class="right">   response to the same request.</td><td class="lineno" valign="top"></td></tr>
358      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
359      <tr><td class="lineno" valign="top"></td><td class="left">   A 206 response is cacheable unless otherwise indicated by explicit</td><td> </td><td class="right">   A 206 response is cacheable unless otherwise indicated by explicit</td><td class="lineno" valign="top"></td></tr>
360      <tr><td><a name="diff0020" /></td></tr>
361      <tr><td class="lineno" valign="top"></td><td class="lblock">   cache controls (see Section 4.<span class="delete">1</span>.2 of [Part6]).</td><td> </td><td class="rblock">   cache controls (see Section 4.<span class="insert">2</span>.2 of [Part6]).</td><td class="lineno" valign="top"></td></tr>
362      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
363      <tr><td class="lineno" valign="top"></td><td class="left">4.2.  Content-Range</td><td> </td><td class="right">4.2.  Content-Range</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">   The "Content-Range" header field is sent in a single part 206</td><td> </td><td class="right">   The "Content-Range" header field is sent in a single part 206</td><td class="lineno" valign="top"></td></tr>
366      <tr><td class="lineno" valign="top"></td><td class="left">   (Partial Content) response to indicate the partial range of the</td><td> </td><td class="right">   (Partial Content) response to indicate the partial range of the</td><td class="lineno" valign="top"></td></tr>
367      <tr><td class="lineno" valign="top"></td><td class="left">   selected representation enclosed as the message payload, sent in each</td><td> </td><td class="right">   selected representation enclosed as the message payload, sent in each</td><td class="lineno" valign="top"></td></tr>
368      <tr><td class="lineno" valign="top"></td><td class="left">   part of a multipart 206 response to indicate the range enclosed</td><td> </td><td class="right">   part of a multipart 206 response to indicate the range enclosed</td><td class="lineno" valign="top"></td></tr>
369      <tr><td class="lineno" valign="top"></td><td class="left">   within each body part, and sent in 416 (Range Not Satisfiable)</td><td> </td><td class="right">   within each body part, and sent in 416 (Range Not Satisfiable)</td><td class="lineno" valign="top"></td></tr>
370      <tr><td class="lineno" valign="top"></td><td class="left">   responses to provide information about the selected representation.</td><td> </td><td class="right">   responses to provide information about the selected representation.</td><td class="lineno" valign="top"></td></tr>
371      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
372      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
373      <tr bgcolor="gray" ><td></td><th><a name="part-l10" /><small>skipping to change at</small><em> page 14, line 20</em></th><th> </th><th><a name="part-r10" /><small>skipping to change at</small><em> page 14, line 20</em></th><td></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">        Content-Range: bytes 734-1233/1234</td><td> </td><td class="right">        Content-Range: bytes 734-1233/1234</td><td class="lineno" valign="top"></td></tr>
376      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
377      <tr><td class="lineno" valign="top"></td><td class="left">4.3.  Combining Ranges</td><td> </td><td class="right">4.3.  Combining Ranges</td><td class="lineno" valign="top"></td></tr>
378      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
379      <tr><td class="lineno" valign="top"></td><td class="left">   A response might transfer only a subrange of a representation if the</td><td> </td><td class="right">   A response might transfer only a subrange of a representation if the</td><td class="lineno" valign="top"></td></tr>
380      <tr><td class="lineno" valign="top"></td><td class="left">   connection closed prematurely or if the request used one or more</td><td> </td><td class="right">   connection closed prematurely or if the request used one or more</td><td class="lineno" valign="top"></td></tr>
381      <tr><td class="lineno" valign="top"></td><td class="left">   Range specifications.  After several such transfers, a client might</td><td> </td><td class="right">   Range specifications.  After several such transfers, a client might</td><td class="lineno" valign="top"></td></tr>
382      <tr><td class="lineno" valign="top"></td><td class="left">   have received several ranges of the same representation.  These</td><td> </td><td class="right">   have received several ranges of the same representation.  These</td><td class="lineno" valign="top"></td></tr>
383      <tr><td class="lineno" valign="top"></td><td class="left">   ranges can only be safely combined if they all have in common the</td><td> </td><td class="right">   ranges can only be safely combined if they all have in common the</td><td class="lineno" valign="top"></td></tr>
384      <tr><td><a name="diff0021" /></td></tr>
385      <tr><td class="lineno" valign="top"></td><td class="lblock">   same strong <span class="delete">validator, where "strong validator" is defined to be</span></td><td> </td><td class="rblock">   same strong <span class="insert">validator</span> (Section <span class="insert">2.1</span> of <span class="insert">[Part4]).</span></td><td class="lineno" valign="top"></td></tr>
386      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   either an entity-tag that is not marked as weak</span> (Section <span class="delete">2.3</span> of</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
387      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">[Part4]) or, if no entity-tag is provided, a Last-Modified value that</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
388      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   is strong in the sense defined by Section 2.2.2 of [Part4].</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
389      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
390      <tr><td class="lineno" valign="top"></td><td class="left">   A client that has received multiple partial responses to GET requests</td><td> </td><td class="right">   A client that has received multiple partial responses to GET requests</td><td class="lineno" valign="top"></td></tr>
391      <tr><td class="lineno" valign="top"></td><td class="left">   on a target resource MAY combine those responses into a larger</td><td> </td><td class="right">   on a target resource MAY combine those responses into a larger</td><td class="lineno" valign="top"></td></tr>
392      <tr><td class="lineno" valign="top"></td><td class="left">   continuous range if they share the same strong validator.</td><td> </td><td class="right">   continuous range if they share the same strong validator.</td><td class="lineno" valign="top"></td></tr>
393      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
394      <tr><td class="lineno" valign="top"></td><td class="left">   If the most recent response is an incomplete 200 (OK) response, then</td><td> </td><td class="right">   If the most recent response is an incomplete 200 (OK) response, then</td><td class="lineno" valign="top"></td></tr>
395      <tr><td class="lineno" valign="top"></td><td class="left">   the header fields of that response are used for any combined response</td><td> </td><td class="right">   the header fields of that response are used for any combined response</td><td class="lineno" valign="top"></td></tr>
396      <tr><td class="lineno" valign="top"></td><td class="left">   and replace those of the matching stored responses.</td><td> </td><td class="right">   and replace those of the matching stored responses.</td><td class="lineno" valign="top"></td></tr>
397      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
398      <tr><td class="lineno" valign="top"></td><td class="left">   If the most recent response is a 206 (Partial Content) response and</td><td> </td><td class="right">   If the most recent response is a 206 (Partial Content) response and</td><td class="lineno" valign="top"></td></tr>
399      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
400      <tr bgcolor="gray" ><td></td><th><a name="part-l11" /><small>skipping to change at</small><em> page 17, line 39</em></th><th> </th><th><a name="part-r11" /><small>skipping to change at</small><em> page 17, line 39</em></th><td></td></tr>
401      <tr><td class="lineno" valign="top"></td><td class="left">   memory, and bandwidth consumed by attempting to serve the requested</td><td> </td><td class="right">   memory, and bandwidth consumed by attempting to serve the requested</td><td class="lineno" valign="top"></td></tr>
402      <tr><td class="lineno" valign="top"></td><td class="left">   data in many parts.  Servers ought to ignore, coalesce, or reject</td><td> </td><td class="right">   data in many parts.  Servers ought to ignore, coalesce, or reject</td><td class="lineno" valign="top"></td></tr>
403      <tr><td class="lineno" valign="top"></td><td class="left">   egregious range requests, such as requests for more than two</td><td> </td><td class="right">   egregious range requests, such as requests for more than two</td><td class="lineno" valign="top"></td></tr>
404      <tr><td class="lineno" valign="top"></td><td class="left">   overlapping ranges or for many small ranges in a single set,</td><td> </td><td class="right">   overlapping ranges or for many small ranges in a single set,</td><td class="lineno" valign="top"></td></tr>
405      <tr><td class="lineno" valign="top"></td><td class="left">   particularly when the ranges are requested out of order for no</td><td> </td><td class="right">   particularly when the ranges are requested out of order for no</td><td class="lineno" valign="top"></td></tr>
406      <tr><td class="lineno" valign="top"></td><td class="left">   apparent reason.  Multipart range requests are not designed to</td><td> </td><td class="right">   apparent reason.  Multipart range requests are not designed to</td><td class="lineno" valign="top"></td></tr>
407      <tr><td class="lineno" valign="top"></td><td class="left">   support random access.</td><td> </td><td class="right">   support random access.</td><td class="lineno" valign="top"></td></tr>
408      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
409      <tr><td class="lineno" valign="top"></td><td class="left">7.  Acknowledgments</td><td> </td><td class="right">7.  Acknowledgments</td><td class="lineno" valign="top"></td></tr>
410      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
411      <tr><td><a name="diff0022" /></td></tr>
412      <tr><td class="lineno" valign="top"></td><td class="lblock">   See Section <span class="delete">9</span> of [Part1].</td><td> </td><td class="rblock">   See Section <span class="insert">10</span> of [Part1].</td><td class="lineno" valign="top"></td></tr>
413      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
414      <tr><td class="lineno" valign="top"></td><td class="left">8.  References</td><td> </td><td class="right">8.  References</td><td class="lineno" valign="top"></td></tr>
415      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
416      <tr><td class="lineno" valign="top"></td><td class="left">8.1.  Normative References</td><td> </td><td class="right">8.1.  Normative References</td><td class="lineno" valign="top"></td></tr>
417      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
418      <tr><td 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>
419      <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>
420      <tr><td><a name="diff0023" /></td></tr>
421      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">draft-ietf-httpbis-p1-messaging-23</span> (work in progress),</td><td> </td><td class="rblock">              <span class="insert">draft-ietf-httpbis-p1-messaging-24</span> (work in progress),</td><td class="lineno" valign="top"></td></tr>
422      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">July</span> 2013.</td><td> </td><td class="rblock">              <span class="insert">September</span> 2013.</td><td class="lineno" valign="top"></td></tr>
423      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
424      <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>
425      <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>
426      <tr><td><a name="diff0024" /></td></tr>
427      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">draft-ietf-httpbis-p2-semantics-23</span> (work in progress),</td><td> </td><td class="rblock">              <span class="insert">draft-ietf-httpbis-p2-semantics-24</span> (work in progress),</td><td class="lineno" valign="top"></td></tr>
428      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">July</span> 2013.</td><td> </td><td class="rblock">              <span class="insert">September</span> 2013.</td><td class="lineno" valign="top"></td></tr>
429      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
430      <tr><td class="lineno" valign="top"></td><td class="left">   [Part4]    Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer</td><td> </td><td class="right">   [Part4]    Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer</td><td class="lineno" valign="top"></td></tr>
431      <tr><td class="lineno" valign="top"></td><td class="left">              Protocol (HTTP/1.1): Conditional Requests",</td><td> </td><td class="right">              Protocol (HTTP/1.1): Conditional Requests",</td><td class="lineno" valign="top"></td></tr>
432      <tr><td><a name="diff0025" /></td></tr>
433      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">draft-ietf-httpbis-p4-conditional-23</span> (work in progress),</td><td> </td><td class="rblock">              <span class="insert">draft-ietf-httpbis-p4-conditional-24</span> (work in progress),</td><td class="lineno" valign="top"></td></tr>
434      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">July</span> 2013.</td><td> </td><td class="rblock">              <span class="insert">September</span> 2013.</td><td class="lineno" valign="top"></td></tr>
435      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
436      <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>
437      <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>
438      <tr><td><a name="diff0026" /></td></tr>
439      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">draft-ietf-httpbis-p6-cache-23</span> (work in progress),</td><td> </td><td class="rblock">              <span class="insert">draft-ietf-httpbis-p6-cache-24</span> (work in progress),</td><td class="lineno" valign="top"></td></tr>
440      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">July</span> 2013.</td><td> </td><td class="rblock">              <span class="insert">September</span> 2013.</td><td class="lineno" valign="top"></td></tr>
441      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
442      <tr><td class="lineno" valign="top"></td><td class="left">   [RFC2046]  Freed, N. and N. Borenstein, "Multipurpose Internet Mail</td><td> </td><td class="right">   [RFC2046]  Freed, N. and N. Borenstein, "Multipurpose Internet Mail</td><td class="lineno" valign="top"></td></tr>
443      <tr><td class="lineno" valign="top"></td><td class="left">              Extensions (MIME) Part Two: Media Types", RFC 2046,</td><td> </td><td class="right">              Extensions (MIME) Part Two: Media Types", RFC 2046,</td><td class="lineno" valign="top"></td></tr>
444      <tr><td class="lineno" valign="top"></td><td class="left">              November 1996.</td><td> </td><td class="right">              November 1996.</td><td class="lineno" valign="top"></td></tr>
445      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
446      <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>
447      <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>
448      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
449      <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>
450      <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>
451      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
452      <tr bgcolor="gray" ><td></td><th><a name="part-l12" /><small>skipping to change at</small><em> page 20, line 38</em></th><th> </th><th><a name="part-r12" /><small>skipping to change at</small><em> page 20, line 38</em></th><td></td></tr>
453      <tr><td class="lineno" valign="top"></td><td class="left">     ...the first range...</td><td> </td><td class="right">     ...the first range...</td><td class="lineno" valign="top"></td></tr>
454      <tr><td class="lineno" valign="top"></td><td class="left">     --THIS_STRING_SEPARATES</td><td> </td><td class="right">     --THIS_STRING_SEPARATES</td><td class="lineno" valign="top"></td></tr>
455      <tr><td class="lineno" valign="top"></td><td class="left">     Content-Type: video/example</td><td> </td><td class="right">     Content-Type: video/example</td><td class="lineno" valign="top"></td></tr>
456      <tr><td class="lineno" valign="top"></td><td class="left">     Content-Range: exampleunit 11.2-14.3/25</td><td> </td><td class="right">     Content-Range: exampleunit 11.2-14.3/25</td><td class="lineno" valign="top"></td></tr>
457      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
458      <tr><td class="lineno" valign="top"></td><td class="left">     ...the second range</td><td> </td><td class="right">     ...the second range</td><td class="lineno" valign="top"></td></tr>
459      <tr><td class="lineno" valign="top"></td><td class="left">     --THIS_STRING_SEPARATES--</td><td> </td><td class="right">     --THIS_STRING_SEPARATES--</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">Appendix B.  Changes from RFC 2616</td><td> </td><td class="right">Appendix B.  Changes from RFC 2616</td><td class="lineno" valign="top"></td></tr>
462      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
463      <tr><td><a name="diff0027" /></td></tr>
464      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">   <span class="insert">Servers are given more leeway in how they respond to a range request,</span></td><td class="lineno" valign="top"></td></tr>
465      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   in order to mitigate abuse by malicious (or just greedy) clients.</span></td><td class="lineno" valign="top"></td></tr>
466      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   (Section 3.1)</span></td><td class="lineno" valign="top"></td></tr>
467      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">                                                                         </td><td class="lineno" valign="top"></td></tr>
468      <tr><td class="lineno" valign="top"></td><td class="left">   A weak validator cannot be used in a 206 response.  (Section 4.1)</td><td> </td><td class="right">   A weak validator cannot be used in a 206 response.  (Section 4.1)</td><td class="lineno" valign="top"></td></tr>
469      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
470      <tr><td class="lineno" valign="top"></td><td class="left">   The Content-Range header field only has meaning when the status code</td><td> </td><td class="right">   The Content-Range header field only has meaning when the status code</td><td class="lineno" valign="top"></td></tr>
471      <tr><td class="lineno" valign="top"></td><td class="left">   explicitly defines its use.  (Section 4.2)</td><td> </td><td class="right">   explicitly defines its use.  (Section 4.2)</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><a name="diff0028" /></td></tr>
474      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">Servers are given more leeway in how they respond to</span> a <span class="delete">range request,</span></td><td> </td><td class="rblock">   <span class="insert">This specification introduces</span> a <span class="insert">Range Unit Registry.  (Section 5.1)</span></td><td class="lineno" valign="top"></td></tr>
475      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   in order to mitigate abuse by malicious (or just greedy) clients.</span></td><td> </td><td class="rblock"></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">   multipart/byteranges can consist of a single part.  (Appendix A)</td><td> </td><td class="right">   multipart/byteranges can consist of a single part.  (Appendix A)</td><td class="lineno" valign="top"></td></tr>
478      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
479      <tr><td><a name="diff0029" /></td></tr>
480      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">This specification introduces a Range Unit Registry.  (Section 5.1)</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
481      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                         </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
482      <tr><td class="lineno" valign="top"></td><td class="left">Appendix C.  Imported ABNF</td><td> </td><td class="right">Appendix C.  Imported ABNF</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 following core rules are included by reference, as defined in</td><td> </td><td class="right">   The following core rules are included by reference, as defined in</td><td class="lineno" valign="top"></td></tr>
485      <tr><td class="lineno" valign="top"></td><td class="left">   Appendix B.1 of [RFC5234]: ALPHA (letters), CR (carriage return),</td><td> </td><td class="right">   Appendix B.1 of [RFC5234]: ALPHA (letters), CR (carriage return),</td><td class="lineno" valign="top"></td></tr>
486      <tr><td class="lineno" valign="top"></td><td class="left">   CRLF (CR LF), CTL (controls), DIGIT (decimal 0-9), DQUOTE (double</td><td> </td><td class="right">   CRLF (CR LF), CTL (controls), DIGIT (decimal 0-9), DQUOTE (double</td><td class="lineno" valign="top"></td></tr>
487      <tr><td class="lineno" valign="top"></td><td class="left">   quote), HEXDIG (hexadecimal 0-9/A-F/a-f), LF (line feed), OCTET (any</td><td> </td><td class="right">   quote), HEXDIG (hexadecimal 0-9/A-F/a-f), LF (line feed), OCTET (any</td><td class="lineno" valign="top"></td></tr>
488      <tr><td class="lineno" valign="top"></td><td class="left">   8-bit sequence of data), SP (space), and VCHAR (any visible US-ASCII</td><td> </td><td class="right">   8-bit sequence of data), SP (space), and VCHAR (any visible US-ASCII</td><td class="lineno" valign="top"></td></tr>
489      <tr><td class="lineno" valign="top"></td><td class="left">   character).</td><td> </td><td class="right">   character).</td><td class="lineno" valign="top"></td></tr>
490      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
491      <tr><td class="lineno" valign="top"></td><td class="left">   Note that all rules derived from token are to be compared case-</td><td> </td><td class="right">   Note that all rules derived from token are to be compared case-</td><td class="lineno" valign="top"></td></tr>
492      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
493      <tr bgcolor="gray" ><td></td><th><a name="part-l13" /><small>skipping to change at</small><em> page 24, line 24</em></th><th> </th><th><a name="part-r13" /><small>skipping to change at</small><em> page 24, line 24</em></th><td></td></tr>
494      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
495      <tr><td class="lineno" valign="top"></td><td class="left">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/438&gt;: "media type</td><td> </td><td class="right">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/438&gt;: "media type</td><td class="lineno" valign="top"></td></tr>
496      <tr><td class="lineno" valign="top"></td><td class="left">      registration template issues"</td><td> </td><td class="right">      registration template issues"</td><td class="lineno" valign="top"></td></tr>
497      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
498      <tr><td class="lineno" valign="top"></td><td class="left">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/462&gt;: "Editorial</td><td> </td><td class="right">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/462&gt;: "Editorial</td><td class="lineno" valign="top"></td></tr>
499      <tr><td class="lineno" valign="top"></td><td class="left">      suggestions"</td><td> </td><td class="right">      suggestions"</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">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/485&gt;: "MUSTs and</td><td> </td><td class="right">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/485&gt;: "MUSTs and</td><td class="lineno" valign="top"></td></tr>
502      <tr><td class="lineno" valign="top"></td><td class="left">      other feedback"</td><td> </td><td class="right">      other feedback"</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><a name="diff0030" /></td></tr>
505      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">E.5.  Since draft-ietf-httpbis-p5-range-23</span></td><td class="lineno" valign="top"></td></tr>
506      <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>
507      <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>
508      <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>
509      <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/489&gt;: "is P5's</span></td><td class="lineno" valign="top"></td></tr>
510      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      definition of strong validator consistent with P4?"</span></td><td class="lineno" valign="top"></td></tr>
511      <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>
512      <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/490&gt;: "p5 editorial</span></td><td class="lineno" valign="top"></td></tr>
513      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      comments"</span></td><td class="lineno" valign="top"></td></tr>
514      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">                                                                         </td><td class="lineno" valign="top"></td></tr>
515      <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>
516      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
517      <tr><td class="lineno" valign="top"></td><td class="left">   2</td><td> </td><td class="right">   2</td><td class="lineno" valign="top"></td></tr>
518      <tr><td class="lineno" valign="top"></td><td class="left">      206 Partial Content (status code)  10</td><td> </td><td class="right">      206 Partial Content (status code)  10</td><td class="lineno" valign="top"></td></tr>
519      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
520      <tr><td class="lineno" valign="top"></td><td class="left">   4</td><td> </td><td class="right">   4</td><td class="lineno" valign="top"></td></tr>
521      <tr><td class="lineno" valign="top"></td><td class="left">      416 Range Not Satisfiable (status code)  15</td><td> </td><td class="right">      416 Range Not Satisfiable (status code)  15</td><td class="lineno" valign="top"></td></tr>
522      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
523      <tr><td class="lineno" valign="top"></td><td class="left">   A</td><td> </td><td class="right">   A</td><td class="lineno" valign="top"></td></tr>
524      <tr><td class="lineno" valign="top"></td><td class="left">      Accept-Ranges header field  7</td><td> </td><td class="right">      Accept-Ranges header field  7</td><td class="lineno" valign="top"></td></tr>
525
526     <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr>
527     <tr bgcolor="gray"><th colspan="5" align="center"><a name="end">&nbsp;End of changes. 30 change blocks.&nbsp;</a></th></tr>
528     <tr class="stats"><td></td><th><i>59 lines changed or deleted</i></th><th><i> </i></th><th><i>66 lines changed or added</i></th><td></td></tr>
529     <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>
530   </table>
531   </body>
532   </html>
Note: See TracBrowser for help on using the repository browser.