source: draft-ietf-httpbis/diffs/draft-ietf-httpbis-p5-range-19-from-18.diff.html @ 1697

Last change on this file since 1697 was 1592, checked in by julian.reschke@…, 8 years ago

-19

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/html; charset=iso-8859-1
File size: 167.8 KB
Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
2<!-- Generated by rfcdiff 1.38: rfcdiff  --> 
3<!-- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional" > -->
4<html> 
5<head> 
6  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
7  <meta http-equiv="Content-Style-Type" content="text/css" /> 
8  <title>Diff: draft-ietf-httpbis-p5-range-18.txt - draft-ietf-httpbis-p5-range-19.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-18.txt&nbsp;</th><th> </th><th>&nbsp;draft-ietf-httpbis-p5-range-19.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><a name="diff0001" /></td></tr>
43      <tr><td class="lineno" valign="top"></td><td class="lblock">Obsoletes: 2616 (if approved)                                  <span class="delete">J. Gettys</span></td><td> </td><td class="rblock">Obsoletes: 2616 (if approved)                              <span class="insert">Y. Lafon, Ed.</span></td><td class="lineno" valign="top"></td></tr>
44      <tr><td class="lineno" valign="top"></td><td class="lblock">Intended status: Standards Track                          <span class="delete">Alcatel-Lucent</span></td><td> </td><td class="rblock">Intended status: Standards Track                                     <span class="insert">W3C</span></td><td class="lineno" valign="top"></td></tr>
45      <tr><td class="lineno" valign="top"></td><td class="lblock">Expires: <span class="delete">July 7,</span> 2012                                           <span class="delete">J. Mogul</span></td><td> </td><td class="rblock">Expires: <span class="insert">September 13,</span> 2012                              J. Reschke, Ed.</td><td class="lineno" valign="top"></td></tr>
46      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">                                                                      HP</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
47      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">                                                              H. Frystyk</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
48      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">                                                               Microsoft</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
49      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">                                                             L. Masinter</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
50      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">                                                                   Adobe</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
51      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">                                                                P. Leach</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
52      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">                                                               Microsoft</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
53      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">                                                          T. Berners-Lee</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
54      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">                                                                 W3C/MIT</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
55      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">                                                           Y. Lafon, Ed.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
56      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">                                                                     W3C</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
57      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                         J. Reschke, Ed.</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
58      <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>
59      <tr><td><a name="diff0002" /></td></tr>
60      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                         <span class="delete">January 4</span>, 2012</td><td> </td><td class="rblock">                                                         <span class="insert"> March 12</span>, 2012</td><td class="lineno" valign="top"></td></tr>
61      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
62      <tr><td class="lineno" valign="top"></td><td class="left">         HTTP/1.1, part 5: Range Requests and Partial Responses</td><td> </td><td class="right">         HTTP/1.1, part 5: Range Requests and Partial Responses</td><td class="lineno" valign="top"></td></tr>
63      <tr><td><a name="diff0003" /></td></tr>
64      <tr><td class="lineno" valign="top"></td><td class="lblock">                     draft-ietf-httpbis-p5-range-1<span class="delete">8</span></td><td> </td><td class="rblock">                     draft-ietf-httpbis-p5-range-1<span class="insert">9</span></td><td class="lineno" valign="top"></td></tr>
65      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
66      <tr><td class="lineno" valign="top"></td><td class="left">Abstract</td><td> </td><td class="right">Abstract</td><td class="lineno" valign="top"></td></tr>
67      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
68      <tr><td class="lineno" valign="top"></td><td class="left">   The 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>
69      <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>
70      <tr><td class="lineno" valign="top"></td><td class="left">   systems.  HTTP has been in use by the World Wide Web global</td><td> </td><td class="right">   systems.  HTTP has been in use by the World Wide Web global</td><td class="lineno" valign="top"></td></tr>
71      <tr><td class="lineno" valign="top"></td><td class="left">   information initiative since 1990.  This document is Part 5 of the</td><td> </td><td class="right">   information initiative since 1990.  This document is Part 5 of the</td><td class="lineno" valign="top"></td></tr>
72      <tr><td class="lineno" valign="top"></td><td class="left">   seven-part specification that defines the protocol referred to as</td><td> </td><td class="right">   seven-part specification that defines the protocol referred to as</td><td class="lineno" valign="top"></td></tr>
73      <tr><td class="lineno" valign="top"></td><td class="left">   "HTTP/1.1" and, taken together, obsoletes RFC 2616.</td><td> </td><td class="right">   "HTTP/1.1" and, taken together, obsoletes RFC 2616.</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"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
76      <tr bgcolor="gray" ><td></td><th><a name="part-l2" /><small>skipping to change at</small><em> page 1, line 49</em></th><th> </th><th><a name="part-r2" /><small>skipping to change at</small><em> page 1, line 37</em></th><td></td></tr>
77      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
78      <tr><td class="lineno" valign="top"></td><td class="left">   Discussion of this draft should take place on the HTTPBIS working</td><td> </td><td class="right">   Discussion of this draft should take place on the HTTPBIS working</td><td class="lineno" valign="top"></td></tr>
79      <tr><td class="lineno" valign="top"></td><td class="left">   group mailing list (ietf-http-wg@w3.org), which is archived at</td><td> </td><td class="right">   group mailing list (ietf-http-wg@w3.org), which is archived at</td><td class="lineno" valign="top"></td></tr>
80      <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>
81      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
82      <tr><td 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>
83      <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>
84      <tr><td class="lineno" valign="top"></td><td class="left">   documents (including fancy diffs) can be found at</td><td> </td><td class="right">   documents (including fancy diffs) can be found at</td><td class="lineno" valign="top"></td></tr>
85      <tr><td class="lineno" valign="top"></td><td class="left">   &lt;http://tools.ietf.org/wg/httpbis/&gt;.</td><td> </td><td class="right">   &lt;http://tools.ietf.org/wg/httpbis/&gt;.</td><td class="lineno" valign="top"></td></tr>
86      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
87      <tr><td><a name="diff0004" /></td></tr>
88      <tr><td class="lineno" valign="top"></td><td class="lblock">   The changes in this draft are summarized in Appendix D.<span class="delete">19</span>.</td><td> </td><td class="rblock">   The changes in this draft are summarized in Appendix D.<span class="insert">20</span>.</td><td class="lineno" valign="top"></td></tr>
89      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
90      <tr><td class="lineno" valign="top"></td><td class="left">Status of This Memo</td><td> </td><td class="right">Status of This Memo</td><td class="lineno" valign="top"></td></tr>
91      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
92      <tr><td class="lineno" valign="top"></td><td class="left">   This Internet-Draft is submitted in full conformance with the</td><td> </td><td class="right">   This Internet-Draft is submitted in full conformance with the</td><td class="lineno" valign="top"></td></tr>
93      <tr><td class="lineno" valign="top"></td><td class="left">   provisions of BCP 78 and BCP 79.</td><td> </td><td class="right">   provisions of BCP 78 and BCP 79.</td><td class="lineno" valign="top"></td></tr>
94      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
95      <tr><td class="lineno" valign="top"></td><td class="left">   Internet-Drafts are working documents of the Internet Engineering</td><td> </td><td class="right">   Internet-Drafts are working documents of the Internet Engineering</td><td class="lineno" valign="top"></td></tr>
96      <tr><td class="lineno" valign="top"></td><td class="left">   Task Force (IETF).  Note that other groups may also distribute</td><td> </td><td class="right">   Task Force (IETF).  Note that other groups may also distribute</td><td class="lineno" valign="top"></td></tr>
97      <tr><td class="lineno" valign="top"></td><td class="left">   working documents as Internet-Drafts.  The list of current Internet-</td><td> </td><td class="right">   working documents as Internet-Drafts.  The list of current Internet-</td><td class="lineno" valign="top"></td></tr>
98      <tr><td class="lineno" valign="top"></td><td class="left">   Drafts is at http://datatracker.ietf.org/drafts/current/.</td><td> </td><td class="right">   Drafts is at http://datatracker.ietf.org/drafts/current/.</td><td class="lineno" valign="top"></td></tr>
99      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
100      <tr><td class="lineno" valign="top"></td><td class="left">   Internet-Drafts are draft documents valid for a maximum of six months</td><td> </td><td class="right">   Internet-Drafts are draft documents valid for a maximum of six months</td><td class="lineno" valign="top"></td></tr>
101      <tr><td class="lineno" valign="top"></td><td class="left">   and may be updated, replaced, or obsoleted by other documents at any</td><td> </td><td class="right">   and may be updated, replaced, or obsoleted by other documents at any</td><td class="lineno" valign="top"></td></tr>
102      <tr><td class="lineno" valign="top"></td><td class="left">   time.  It is inappropriate to use Internet-Drafts as reference</td><td> </td><td class="right">   time.  It is inappropriate to use Internet-Drafts as reference</td><td class="lineno" valign="top"></td></tr>
103      <tr><td class="lineno" valign="top"></td><td class="left">   material or to cite them other than as "work in progress."</td><td> </td><td class="right">   material or to cite them other than as "work in progress."</td><td class="lineno" valign="top"></td></tr>
104      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
105      <tr><td><a name="diff0005" /></td></tr>
106      <tr><td class="lineno" valign="top"></td><td class="lblock">   This Internet-Draft will expire on <span class="delete">July 7</span>, 2012.</td><td> </td><td class="rblock">   This Internet-Draft will expire on <span class="insert">September 13</span>, 2012.</td><td class="lineno" valign="top"></td></tr>
107      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
108      <tr><td class="lineno" valign="top"></td><td class="left">Copyright Notice</td><td> </td><td class="right">Copyright Notice</td><td class="lineno" valign="top"></td></tr>
109      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
110      <tr><td class="lineno" valign="top"></td><td class="left">   Copyright (c) 2012 IETF Trust and the persons identified as the</td><td> </td><td class="right">   Copyright (c) 2012 IETF Trust and the persons identified as the</td><td class="lineno" valign="top"></td></tr>
111      <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>
112      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
113      <tr><td class="lineno" valign="top"></td><td class="left">   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>
114      <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>
115      <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>
116      <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>
117      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
118      <tr bgcolor="gray" ><td></td><th><a name="part-l3" /><small>skipping to change at</small><em> page 2, line 51</em></th><th> </th><th><a name="part-r3" /><small>skipping to change at</small><em> page 2, line 39</em></th><td></td></tr>
119      <tr><td class="lineno" valign="top"></td><td class="left">   modifications of such material outside the IETF Standards Process.</td><td> </td><td class="right">   modifications of such material outside the IETF Standards Process.</td><td class="lineno" valign="top"></td></tr>
120      <tr><td class="lineno" valign="top"></td><td class="left">   Without obtaining an adequate license from the person(s) controlling</td><td> </td><td class="right">   Without obtaining an adequate license from the person(s) controlling</td><td class="lineno" valign="top"></td></tr>
121      <tr><td class="lineno" valign="top"></td><td class="left">   the copyright in such materials, this document may not be modified</td><td> </td><td class="right">   the copyright in such materials, this document may not be modified</td><td class="lineno" valign="top"></td></tr>
122      <tr><td class="lineno" valign="top"></td><td class="left">   outside the IETF Standards Process, and derivative works of it may</td><td> </td><td class="right">   outside the IETF Standards Process, and derivative works of it may</td><td class="lineno" valign="top"></td></tr>
123      <tr><td class="lineno" valign="top"></td><td class="left">   not be created outside the IETF Standards Process, except to format</td><td> </td><td class="right">   not be created outside the IETF Standards Process, except to format</td><td class="lineno" valign="top"></td></tr>
124      <tr><td class="lineno" valign="top"></td><td class="left">   it for publication as an RFC or to translate it into languages other</td><td> </td><td class="right">   it for publication as an RFC or to translate it into languages other</td><td class="lineno" valign="top"></td></tr>
125      <tr><td class="lineno" valign="top"></td><td class="left">   than English.</td><td> </td><td class="right">   than English.</td><td class="lineno" valign="top"></td></tr>
126      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
127      <tr><td class="lineno" valign="top"></td><td class="left">Table of Contents</td><td> </td><td class="right">Table of Contents</td><td class="lineno" valign="top"></td></tr>
128      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
129      <tr><td><a name="diff0006" /></td></tr>
130      <tr><td class="lineno" valign="top"></td><td class="lblock">   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  <span class="delete">5</span></td><td> </td><td class="rblock">   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  <span class="insert">4</span></td><td class="lineno" valign="top"></td></tr>
131      <tr><td class="lineno" valign="top"></td><td class="lblock">     1.1.  Conformance and Error Handling . . . . . . . . . . . . . .  <span class="delete">5</span></td><td> </td><td class="rblock">     1.1.  Conformance and Error Handling . . . . . . . . . . . . . .  <span class="insert">4</span></td><td class="lineno" valign="top"></td></tr>
132      <tr><td class="lineno" valign="top"></td><td class="lblock">     1.2.  Syntax Notation  . . . . . . . . . . . . . . . . . . . . .  <span class="delete">6</span></td><td> </td><td class="rblock">     1.2.  Syntax Notation  . . . . . . . . . . . . . . . . . . . . .  <span class="insert">5</span></td><td class="lineno" valign="top"></td></tr>
133      <tr><td class="lineno" valign="top"></td><td class="lblock">       1.2.1.  Core Rules . . . . . . . . . . . . . . . . . . . . . .  <span class="delete">6</span></td><td> </td><td class="rblock">       1.2.1.  Core Rules . . . . . . . . . . . . . . . . . . . . . .  <span class="insert">5</span></td><td class="lineno" valign="top"></td></tr>
134      <tr><td class="lineno" valign="top"></td><td class="left">       1.2.2.  ABNF Rules defined in other Parts of the</td><td> </td><td class="right">       1.2.2.  ABNF Rules defined in other Parts of the</td><td class="lineno" valign="top"></td></tr>
135      <tr><td><a name="diff0007" /></td></tr>
136      <tr><td class="lineno" valign="top"></td><td class="lblock">               Specification  . . . . . . . . . . . . . . . . . . . .  <span class="delete">6</span></td><td> </td><td class="rblock">               Specification  . . . . . . . . . . . . . . . . . . . .  <span class="insert">5</span></td><td class="lineno" valign="top"></td></tr>
137      <tr><td class="lineno" valign="top"></td><td class="lblock">   2.  Range Units  . . . . . . . . . . . . . . . . . . . . . . . . .  <span class="delete">6</span></td><td> </td><td class="rblock">   2.  Range Units  . . . . . . . . . . . . . . . . . . . . . . . . .  <span class="insert">5</span></td><td class="lineno" valign="top"></td></tr>
138      <tr><td class="lineno" valign="top"></td><td class="lblock">     2.1.  Range Specifier Registry . . . . . . . . . . . . . . . . .  <span class="delete">7</span></td><td> </td><td class="rblock">     2.1.  Range Specifier Registry . . . . . . . . . . . . . . . . .  <span class="insert">6</span></td><td class="lineno" valign="top"></td></tr>
139      <tr><td class="lineno" valign="top"></td><td class="lblock">   3.  Status Code Definitions  . . . . . . . . . . . . . . . . . . .  <span class="delete">7</span></td><td> </td><td class="rblock">   3.  Status Code Definitions  . . . . . . . . . . . . . . . . . . .  <span class="insert">6</span></td><td class="lineno" valign="top"></td></tr>
140      <tr><td class="lineno" valign="top"></td><td class="lblock">     3.1.  206 Partial Content  . . . . . . . . . . . . . . . . . . .  <span class="delete">7</span></td><td> </td><td class="rblock">     3.1.  206 Partial Content  . . . . . . . . . . . . . . . . . . .  <span class="insert">6</span></td><td class="lineno" valign="top"></td></tr>
141      <tr><td class="lineno" valign="top"></td><td class="lblock">     3.2.  416 Requested Range Not Satisfiable  . . . . . . . . . . .  <span class="delete">8</span></td><td> </td><td class="rblock">     3.2.  416 Requested Range Not Satisfiable  . . . . . . . . . . .  <span class="insert">7</span></td><td class="lineno" valign="top"></td></tr>
142      <tr><td class="lineno" valign="top"></td><td class="lblock">   4.  <span class="delete">Combining</span> Ranges . . . . . . . . . . . . . . . . . . . . . . .  8</td><td> </td><td class="rblock">   4.  <span class="insert">Responses to a Range Request . . . . . . . . . . . . . . . . .  7</span></td><td class="lineno" valign="top"></td></tr>
143      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">     4.1.  Response to a Single and Multiple</span> Ranges <span class="insert">Request . .</span> . . <span class="insert">.  7</span></td><td class="lineno" valign="top"></td></tr>
144      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">     4.2.  Combining Ranges</span> . . . . . . . . . . . . . . . . . . . . .  8</td><td class="lineno" valign="top"></td></tr>
145      <tr><td class="lineno" valign="top"></td><td class="left">   5.  Header Field Definitions . . . . . . . . . . . . . . . . . . .  9</td><td> </td><td class="right">   5.  Header Field Definitions . . . . . . . . . . . . . . . . . . .  9</td><td class="lineno" valign="top"></td></tr>
146      <tr><td class="lineno" valign="top"></td><td class="left">     5.1.  Accept-Ranges  . . . . . . . . . . . . . . . . . . . . . .  9</td><td> </td><td class="right">     5.1.  Accept-Ranges  . . . . . . . . . . . . . . . . . . . . . .  9</td><td class="lineno" valign="top"></td></tr>
147      <tr><td class="lineno" valign="top"></td><td class="left">     5.2.  Content-Range  . . . . . . . . . . . . . . . . . . . . . . 10</td><td> </td><td class="right">     5.2.  Content-Range  . . . . . . . . . . . . . . . . . . . . . . 10</td><td class="lineno" valign="top"></td></tr>
148      <tr><td><a name="diff0008" /></td></tr>
149      <tr><td class="lineno" valign="top"></td><td class="lblock">     5.3.  If-Range . . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">12</span></td><td> </td><td class="rblock">     5.3.  If-Range . . . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">11</span></td><td class="lineno" valign="top"></td></tr>
150      <tr><td class="lineno" valign="top"></td><td class="lblock">     5.4.  Range  . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">13</span></td><td> </td><td class="rblock">     5.4.  Range  . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">12</span></td><td class="lineno" valign="top"></td></tr>
151      <tr><td class="lineno" valign="top"></td><td class="lblock">       5.4.1.  Byte Ranges  . . . . . . . . . . . . . . . . . . . . . <span class="delete">13</span></td><td> </td><td class="rblock">       5.4.1.  Byte Ranges  . . . . . . . . . . . . . . . . . . . . . <span class="insert">12</span></td><td class="lineno" valign="top"></td></tr>
152      <tr><td class="lineno" valign="top"></td><td class="lblock">       5.4.2.  Range Retrieval Requests . . . . . . . . . . . . . . . <span class="delete">15</span></td><td> </td><td class="rblock">       5.4.2.  Range Retrieval Requests . . . . . . . . . . . . . . . <span class="insert">14</span></td><td class="lineno" valign="top"></td></tr>
153      <tr><td class="lineno" valign="top"></td><td class="lblock">   6.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . <span class="delete">16</span></td><td> </td><td class="rblock">   6.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . <span class="insert">15</span></td><td class="lineno" valign="top"></td></tr>
154      <tr><td class="lineno" valign="top"></td><td class="lblock">     6.1.  Status Code Registration . . . . . . . . . . . . . . . . . <span class="delete">16</span></td><td> </td><td class="rblock">     6.1.  Status Code Registration . . . . . . . . . . . . . . . . . <span class="insert">15</span></td><td class="lineno" valign="top"></td></tr>
155      <tr><td class="lineno" valign="top"></td><td class="lblock">     6.2.  Header Field Registration  . . . . . . . . . . . . . . . . <span class="delete">16</span></td><td> </td><td class="rblock">     6.2.  Header Field Registration  . . . . . . . . . . . . . . . . <span class="insert">15</span></td><td class="lineno" valign="top"></td></tr>
156      <tr><td class="lineno" valign="top"></td><td class="left">     6.3.  Range Specifier Registration . . . . . . . . . . . . . . . 16</td><td> </td><td class="right">     6.3.  Range Specifier Registration . . . . . . . . . . . . . . . 16</td><td class="lineno" valign="top"></td></tr>
157      <tr><td><a name="diff0009" /></td></tr>
158      <tr><td class="lineno" valign="top"></td><td class="lblock">   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . <span class="delete">17</span></td><td> </td><td class="rblock">   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . <span class="insert">16</span></td><td class="lineno" valign="top"></td></tr>
159      <tr><td class="lineno" valign="top"></td><td class="lblock">     7.1.  Overlapping Ranges . . . . . . . . . . . . . . . . . . . . <span class="delete">17</span></td><td> </td><td class="rblock">     7.1.  Overlapping Ranges . . . . . . . . . . . . . . . . . . . . <span class="insert">16</span></td><td class="lineno" valign="top"></td></tr>
160      <tr><td class="lineno" valign="top"></td><td class="lblock">   8.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">17</span></td><td> </td><td class="rblock">   8.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">16</span></td><td class="lineno" valign="top"></td></tr>
161      <tr><td class="lineno" valign="top"></td><td class="lblock">   9.  References . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">17</span></td><td> </td><td class="rblock">   9.  References . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">16</span></td><td class="lineno" valign="top"></td></tr>
162      <tr><td class="lineno" valign="top"></td><td class="lblock">     9.1.  Normative References . . . . . . . . . . . . . . . . . . . <span class="delete">17</span></td><td> </td><td class="rblock">     9.1.  Normative References . . . . . . . . . . . . . . . . . . . <span class="insert">16</span></td><td class="lineno" valign="top"></td></tr>
163      <tr><td class="lineno" valign="top"></td><td class="lblock">     9.2.  Informative References . . . . . . . . . . . . . . . . . . <span class="delete">18</span></td><td> </td><td class="rblock">     9.2.  Informative References . . . . . . . . . . . . . . . . . . <span class="insert">17</span></td><td class="lineno" valign="top"></td></tr>
164      <tr><td class="lineno" valign="top"></td><td class="lblock">   Appendix A.  Internet Media Type multipart/byteranges  . . . . . . <span class="delete">18</span></td><td> </td><td class="rblock">   Appendix A.  Internet Media Type multipart/byteranges  . . . . . . <span class="insert">17</span></td><td class="lineno" valign="top"></td></tr>
165      <tr><td class="lineno" valign="top"></td><td class="lblock">   Appendix B.  <span class="delete">Compatibility with Previous Versions  . . . . . . . . 21</span></td><td> </td><td class="rblock">   Appendix B.  Changes from RFC 2616 . . . . . . . . . . . . . . . . <span class="insert">20</span></td><td class="lineno" valign="top"></td></tr>
166      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">     B.1.</span>  Changes from RFC 2616  . . . . . . . . . . . . . . . . <span class="delete">. . 21</span></td><td> </td><td class="rblock">   Appendix C.  Collected ABNF  . . . . . . . . . . . . . . . . . . . <span class="insert">21</span></td><td class="lineno" valign="top"></td></tr>
167      <tr><td class="lineno" valign="top"></td><td class="lblock">   Appendix C.  Collected ABNF  . . . . . . . . . . . . . . . . . . . <span class="delete">22</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
168      <tr><td class="lineno" valign="top"></td><td class="left">   Appendix D.  Change Log (to be removed by RFC Editor before</td><td> </td><td class="right">   Appendix D.  Change Log (to be removed by RFC Editor before</td><td class="lineno" valign="top"></td></tr>
169      <tr><td><a name="diff0010" /></td></tr>
170      <tr><td class="lineno" valign="top"></td><td class="lblock">                publication)  . . . . . . . . . . . . . . . . . . . . <span class="delete">23</span></td><td> </td><td class="rblock">                publication)  . . . . . . . . . . . . . . . . . . . . <span class="insert">22</span></td><td class="lineno" valign="top"></td></tr>
171      <tr><td class="lineno" valign="top"></td><td class="lblock">     D.1.  Since RFC 2616 . . . . . . . . . . . . . . . . . . . . . . <span class="delete">23</span></td><td> </td><td class="rblock">     D.1.  Since RFC 2616 . . . . . . . . . . . . . . . . . . . . . . <span class="insert">22</span></td><td class="lineno" valign="top"></td></tr>
172      <tr><td class="lineno" valign="top"></td><td class="lblock">     D.2.  Since draft-ietf-httpbis-p5-range-00 . . . . . . . . . . . <span class="delete">23</span></td><td> </td><td class="rblock">     D.2.  Since draft-ietf-httpbis-p5-range-00 . . . . . . . . . . . <span class="insert">22</span></td><td class="lineno" valign="top"></td></tr>
173      <tr><td class="lineno" valign="top"></td><td class="lblock">     D.3.  Since draft-ietf-httpbis-p5-range-01 . . . . . . . . . . . <span class="delete">23</span></td><td> </td><td class="rblock">     D.3.  Since draft-ietf-httpbis-p5-range-01 . . . . . . . . . . . <span class="insert">22</span></td><td class="lineno" valign="top"></td></tr>
174      <tr><td class="lineno" valign="top"></td><td class="lblock">     D.4.  Since draft-ietf-httpbis-p5-range-02 . . . . . . . . . . . <span class="delete">23</span></td><td> </td><td class="rblock">     D.4.  Since draft-ietf-httpbis-p5-range-02 . . . . . . . . . . . <span class="insert">22</span></td><td class="lineno" valign="top"></td></tr>
175      <tr><td class="lineno" valign="top"></td><td class="lblock">     D.5.  Since draft-ietf-httpbis-p5-range-03 . . . . . . . . . . . <span class="delete">24</span></td><td> </td><td class="rblock">     D.5.  Since draft-ietf-httpbis-p5-range-03 . . . . . . . . . . . <span class="insert">23</span></td><td class="lineno" valign="top"></td></tr>
176      <tr><td class="lineno" valign="top"></td><td class="lblock">     D.6.  Since draft-ietf-httpbis-p5-range-04 . . . . . . . . . . . <span class="delete">24</span></td><td> </td><td class="rblock">     D.6.  Since draft-ietf-httpbis-p5-range-04 . . . . . . . . . . . <span class="insert">23</span></td><td class="lineno" valign="top"></td></tr>
177      <tr><td class="lineno" valign="top"></td><td class="lblock">     D.7.  Since draft-ietf-httpbis-p5-range-05 . . . . . . . . . . . <span class="delete">24</span></td><td> </td><td class="rblock">     D.7.  Since draft-ietf-httpbis-p5-range-05 . . . . . . . . . . . <span class="insert">23</span></td><td class="lineno" valign="top"></td></tr>
178      <tr><td class="lineno" valign="top"></td><td class="lblock">     D.8.  Since draft-ietf-httpbis-p5-range-06 . . . . . . . . . . . <span class="delete">24</span></td><td> </td><td class="rblock">     D.8.  Since draft-ietf-httpbis-p5-range-06 . . . . . . . . . . . <span class="insert">23</span></td><td class="lineno" valign="top"></td></tr>
179      <tr><td class="lineno" valign="top"></td><td class="lblock">     D.9.  Since draft-ietf-httpbis-p5-range-07 . . . . . . . . . . . <span class="delete">25</span></td><td> </td><td class="rblock">     D.9.  Since draft-ietf-httpbis-p5-range-07 . . . . . . . . . . . <span class="insert">24</span></td><td class="lineno" valign="top"></td></tr>
180      <tr><td class="lineno" valign="top"></td><td class="lblock">     D.10. Since draft-ietf-httpbis-p5-range-08 . . . . . . . . . . . <span class="delete">25</span></td><td> </td><td class="rblock">     D.10. Since draft-ietf-httpbis-p5-range-08 . . . . . . . . . . . <span class="insert">24</span></td><td class="lineno" valign="top"></td></tr>
181      <tr><td class="lineno" valign="top"></td><td class="lblock">     D.11. Since draft-ietf-httpbis-p5-range-09 . . . . . . . . . . . <span class="delete">25</span></td><td> </td><td class="rblock">     D.11. Since draft-ietf-httpbis-p5-range-09 . . . . . . . . . . . <span class="insert">24</span></td><td class="lineno" valign="top"></td></tr>
182      <tr><td class="lineno" valign="top"></td><td class="lblock">     D.12. Since draft-ietf-httpbis-p5-range-10 . . . . . . . . . . . <span class="delete">25</span></td><td> </td><td class="rblock">     D.12. Since draft-ietf-httpbis-p5-range-10 . . . . . . . . . . . <span class="insert">24</span></td><td class="lineno" valign="top"></td></tr>
183      <tr><td class="lineno" valign="top"></td><td class="lblock">     D.13. Since draft-ietf-httpbis-p5-range-11 . . . . . . . . . . . <span class="delete">25</span></td><td> </td><td class="rblock">     D.13. Since draft-ietf-httpbis-p5-range-11 . . . . . . . . . . . <span class="insert">24</span></td><td class="lineno" valign="top"></td></tr>
184      <tr><td class="lineno" valign="top"></td><td class="lblock">     D.14. Since draft-ietf-httpbis-p5-range-12 . . . . . . . . . . . <span class="delete">26</span></td><td> </td><td class="rblock">     D.14. Since draft-ietf-httpbis-p5-range-12 . . . . . . . . . . . <span class="insert">25</span></td><td class="lineno" valign="top"></td></tr>
185      <tr><td class="lineno" valign="top"></td><td class="lblock">     D.15. Since draft-ietf-httpbis-p5-range-13 . . . . . . . . . . . <span class="delete">26</span></td><td> </td><td class="rblock">     D.15. Since draft-ietf-httpbis-p5-range-13 . . . . . . . . . . . <span class="insert">25</span></td><td class="lineno" valign="top"></td></tr>
186      <tr><td class="lineno" valign="top"></td><td class="lblock">     D.16. Since draft-ietf-httpbis-p5-range-14 . . . . . . . . . . . <span class="delete">26</span></td><td> </td><td class="rblock">     D.16. Since draft-ietf-httpbis-p5-range-14 . . . . . . . . . . . <span class="insert">25</span></td><td class="lineno" valign="top"></td></tr>
187      <tr><td class="lineno" valign="top"></td><td class="lblock">     D.17. Since draft-ietf-httpbis-p5-range-15 . . . . . . . . . . . <span class="delete">26</span></td><td> </td><td class="rblock">     D.17. Since draft-ietf-httpbis-p5-range-15 . . . . . . . . . . . <span class="insert">25</span></td><td class="lineno" valign="top"></td></tr>
188      <tr><td class="lineno" valign="top"></td><td class="lblock">     D.18. Since draft-ietf-httpbis-p5-range-16 . . . . . . . . . . . <span class="delete">26</span></td><td> </td><td class="rblock">     D.18. Since draft-ietf-httpbis-p5-range-16 . . . . . . . . . . . <span class="insert">25</span></td><td class="lineno" valign="top"></td></tr>
189      <tr><td class="lineno" valign="top"></td><td class="lblock">     D.19. Since draft-ietf-httpbis-p5-range-17 . . . . . . . . . . . <span class="delete">26</span></td><td> </td><td class="rblock">     D.19. Since draft-ietf-httpbis-p5-range-17 . . . . . . . . . . . <span class="insert">25</span></td><td class="lineno" valign="top"></td></tr>
190      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">     D.20. Since draft-ietf-httpbis-p5-range-18 . . . . . . . . . . . 25</span></td><td class="lineno" valign="top"></td></tr>
191      <tr><td class="lineno" valign="top"></td><td class="left">   Index  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26</td><td> </td><td class="right">   Index  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26</td><td class="lineno" valign="top"></td></tr>
192      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
193      <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>
194      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
195      <tr><td class="lineno" valign="top"></td><td class="left">   HTTP clients often encounter interrupted data transfers as a result</td><td> </td><td class="right">   HTTP clients often encounter interrupted data transfers as a result</td><td class="lineno" valign="top"></td></tr>
196      <tr><td class="lineno" valign="top"></td><td class="left">   of cancelled requests or dropped connections.  When a client has</td><td> </td><td class="right">   of cancelled requests or dropped connections.  When a client has</td><td class="lineno" valign="top"></td></tr>
197      <tr><td class="lineno" valign="top"></td><td class="left">   stored a partial representation, it is desirable to request the</td><td> </td><td class="right">   stored a partial representation, it is desirable to request the</td><td class="lineno" valign="top"></td></tr>
198      <tr><td class="lineno" valign="top"></td><td class="left">   remainder of that representation in a subsequent request rather than</td><td> </td><td class="right">   remainder of that representation in a subsequent request rather than</td><td class="lineno" valign="top"></td></tr>
199      <tr><td class="lineno" valign="top"></td><td class="left">   transfer the entire representation.  There are also a number of Web</td><td> </td><td class="right">   transfer the entire representation.  There are also a number of Web</td><td class="lineno" valign="top"></td></tr>
200      <tr><td class="lineno" valign="top"></td><td class="left">   applications that benefit from being able to request only a subset of</td><td> </td><td class="right">   applications that benefit from being able to request only a subset of</td><td class="lineno" valign="top"></td></tr>
201      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
202      <tr bgcolor="gray" ><td></td><th><a name="part-l4" /><small>skipping to change at</small><em> page 6, line 13</em></th><th> </th><th><a name="part-r4" /><small>skipping to change at</small><em> page 5, line 13</em></th><td></td></tr>
203      <tr><td class="lineno" valign="top"></td><td class="left">   define specific error handling mechanisms, except in cases where it</td><td> </td><td class="right">   define specific error handling mechanisms, except in cases where it</td><td class="lineno" valign="top"></td></tr>
204      <tr><td class="lineno" valign="top"></td><td class="left">   has direct impact on security.  This is because different uses of the</td><td> </td><td class="right">   has direct impact on security.  This is because different uses of the</td><td class="lineno" valign="top"></td></tr>
205      <tr><td class="lineno" valign="top"></td><td class="left">   protocol require different error handling strategies; for example, a</td><td> </td><td class="right">   protocol require different error handling strategies; for example, a</td><td class="lineno" valign="top"></td></tr>
206      <tr><td class="lineno" valign="top"></td><td class="left">   Web browser may wish to transparently recover from a response where</td><td> </td><td class="right">   Web browser may wish to transparently recover from a response where</td><td class="lineno" valign="top"></td></tr>
207      <tr><td class="lineno" valign="top"></td><td class="left">   the Location header field doesn't parse according to the ABNF,</td><td> </td><td class="right">   the Location header field doesn't parse according to the ABNF,</td><td class="lineno" valign="top"></td></tr>
208      <tr><td class="lineno" valign="top"></td><td class="left">   whereby in a systems control protocol using HTTP, this type of error</td><td> </td><td class="right">   whereby in a systems control protocol using HTTP, this type of error</td><td class="lineno" valign="top"></td></tr>
209      <tr><td class="lineno" valign="top"></td><td class="left">   recovery could lead to dangerous consequences.</td><td> </td><td class="right">   recovery could lead to dangerous consequences.</td><td class="lineno" valign="top"></td></tr>
210      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
211      <tr><td class="lineno" valign="top"></td><td class="left">1.2.  Syntax Notation</td><td> </td><td class="right">1.2.  Syntax Notation</td><td class="lineno" valign="top"></td></tr>
212      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
213      <tr><td><a name="diff0011" /></td></tr>
214      <tr><td class="lineno" valign="top"></td><td class="lblock">   This specification uses the <span class="delete">ABNF syntax</span> defined in Section 1.2 of</td><td> </td><td class="rblock">   This specification uses the <span class="insert">Augmented Backus-Naur Form (ABNF)</span></td><td class="lineno" valign="top"></td></tr>
215      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">[Part1] (which extends the syntax defined in [RFC5234] with a list</span></td><td> </td><td class="rblock"><span class="insert">   notation of [RFC5234] with the list rule extension</span> defined in Section</td><td class="lineno" valign="top"></td></tr>
216      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   rule).</span>  Appendix C shows the collected <span class="delete">ABNF,</span> with the list rule</td><td> </td><td class="rblock">   1.2 of <span class="insert">[Part1].</span>  Appendix C shows the collected <span class="insert">ABNF</span> with the list</td><td class="lineno" valign="top"></td></tr>
217      <tr><td class="lineno" valign="top"></td><td class="lblock">   expanded.</td><td> </td><td class="rblock">   rule expanded.</td><td class="lineno" valign="top"></td></tr>
218      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
219      <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>
220      <tr><td class="lineno" valign="top"></td><td class="left">   [RFC5234], Appendix B.1: ALPHA (letters), CR (carriage return), CRLF</td><td> </td><td class="right">   [RFC5234], Appendix B.1: ALPHA (letters), CR (carriage return), CRLF</td><td class="lineno" valign="top"></td></tr>
221      <tr><td class="lineno" valign="top"></td><td class="left">   (CR LF), CTL (controls), DIGIT (decimal 0-9), DQUOTE (double quote),</td><td> </td><td class="right">   (CR LF), CTL (controls), DIGIT (decimal 0-9), DQUOTE (double quote),</td><td class="lineno" valign="top"></td></tr>
222      <tr><td class="lineno" valign="top"></td><td class="left">   HEXDIG (hexadecimal 0-9/A-F/a-f), LF (line feed), OCTET (any 8-bit</td><td> </td><td class="right">   HEXDIG (hexadecimal 0-9/A-F/a-f), LF (line feed), OCTET (any 8-bit</td><td class="lineno" valign="top"></td></tr>
223      <tr><td class="lineno" valign="top"></td><td class="left">   sequence of data), SP (space), and VCHAR (any visible US-ASCII</td><td> </td><td class="right">   sequence of data), SP (space), and VCHAR (any visible US-ASCII</td><td class="lineno" valign="top"></td></tr>
224      <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>
225      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
226      <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>
227      <tr><td class="lineno" valign="top"></td><td class="left">   insensitively, like range-unit and acceptable-ranges.</td><td> </td><td class="right">   insensitively, like range-unit and acceptable-ranges.</td><td class="lineno" valign="top"></td></tr>
228      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
229      <tr><td class="lineno" valign="top"></td><td class="left">1.2.1.  Core Rules</td><td> </td><td class="right">1.2.1.  Core Rules</td><td class="lineno" valign="top"></td></tr>
230      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
231      <tr><td class="lineno" valign="top"></td><td class="left">   The core rules below are defined in [Part1] and [Part2]:</td><td> </td><td class="right">   The core rules below are defined in [Part1] and [Part2]:</td><td class="lineno" valign="top"></td></tr>
232      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
233      <tr><td><a name="diff0012" /></td></tr>
234      <tr><td class="lineno" valign="top"></td><td class="lblock">     OWS        = &lt;OWS, defined in [Part1], Section <span class="delete">1.2.2&gt;</span></td><td> </td><td class="rblock">     OWS        = &lt;OWS, defined in [Part1], Section <span class="insert">3.2.1&gt;</span></td><td class="lineno" valign="top"></td></tr>
235      <tr><td class="lineno" valign="top"></td><td class="lblock">     token      = &lt;token, defined in [Part1], Section <span class="delete">3.2.3&gt;</span></td><td> </td><td class="rblock">     token      = &lt;token, defined in [Part1], Section <span class="insert">3.2.4&gt;</span></td><td class="lineno" valign="top"></td></tr>
236      <tr><td class="lineno" valign="top"></td><td class="left">     HTTP-date  = &lt;HTTP-date, defined in [Part2], Section 8&gt;</td><td> </td><td class="right">     HTTP-date  = &lt;HTTP-date, defined in [Part2], Section 8&gt;</td><td class="lineno" valign="top"></td></tr>
237      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
238      <tr><td class="lineno" valign="top"></td><td class="left">1.2.2.  ABNF Rules defined in other Parts of the Specification</td><td> </td><td class="right">1.2.2.  ABNF Rules defined in other Parts of the Specification</td><td class="lineno" valign="top"></td></tr>
239      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
240      <tr><td class="lineno" valign="top"></td><td class="left">   The ABNF rules below are defined in other parts:</td><td> </td><td class="right">   The ABNF rules below are defined in other parts:</td><td class="lineno" valign="top"></td></tr>
241      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
242      <tr><td class="lineno" valign="top"></td><td class="left">     entity-tag = &lt;entity-tag, defined in [Part4], Section 2.3&gt;</td><td> </td><td class="right">     entity-tag = &lt;entity-tag, defined in [Part4], Section 2.3&gt;</td><td class="lineno" valign="top"></td></tr>
243      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
244      <tr><td class="lineno" valign="top"></td><td class="left">2.  Range Units</td><td> </td><td class="right">2.  Range Units</td><td class="lineno" valign="top"></td></tr>
245      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
246      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
247      <tr bgcolor="gray" ><td></td><th><a name="part-l5" /><small>skipping to change at</small><em> page 7, line 29</em></th><th> </th><th><a name="part-r5" /><small>skipping to change at</small><em> page 6, line 29</em></th><td></td></tr>
248      <tr><td class="lineno" valign="top"></td><td class="left">   range specifier names.</td><td> </td><td class="right">   range specifier names.</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">   Registrations MUST include the following fields:</td><td> </td><td class="right">   Registrations MUST include the following fields:</td><td class="lineno" valign="top"></td></tr>
251      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
252      <tr><td class="lineno" valign="top"></td><td class="left">   o  Name</td><td> </td><td class="right">   o  Name</td><td class="lineno" valign="top"></td></tr>
253      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
254      <tr><td class="lineno" valign="top"></td><td class="left">   o  Description</td><td> </td><td class="right">   o  Description</td><td class="lineno" valign="top"></td></tr>
255      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
256      <tr><td class="lineno" valign="top"></td><td class="left">   o  Pointer to specification text</td><td> </td><td class="right">   o  Pointer to specification text</td><td class="lineno" valign="top"></td></tr>
257      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
258      <tr><td><a name="diff0013" /></td></tr>
259      <tr><td class="lineno" valign="top"></td><td class="lblock">   Values to be added to this name space <span class="delete">are subject to</span> IETF <span class="delete">review</span></td><td> </td><td class="rblock">   Values to be added to this name space <span class="insert">require</span> IETF <span class="insert">Review (see</span></td><td class="lineno" valign="top"></td></tr>
260      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   ([RFC5226],</span> Section 4.1).</td><td> </td><td class="rblock"><span class="insert">   [RFC5226],</span> Section 4.1).</td><td class="lineno" valign="top"></td></tr>
261      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
262      <tr><td class="lineno" valign="top"></td><td class="left">   The registry itself is maintained at</td><td> </td><td class="right">   The registry itself is maintained at</td><td class="lineno" valign="top"></td></tr>
263      <tr><td class="lineno" valign="top"></td><td class="left">   &lt;http://www.iana.org/assignments/http-range-specifiers&gt;.</td><td> </td><td class="right">   &lt;http://www.iana.org/assignments/http-range-specifiers&gt;.</td><td class="lineno" valign="top"></td></tr>
264      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
265      <tr><td class="lineno" valign="top"></td><td class="left">3.  Status Code Definitions</td><td> </td><td class="right">3.  Status Code Definitions</td><td class="lineno" valign="top"></td></tr>
266      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
267      <tr><td class="lineno" valign="top"></td><td class="left">3.1.  206 Partial Content</td><td> </td><td class="right">3.1.  206 Partial Content</td><td class="lineno" valign="top"></td></tr>
268      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
269      <tr><td class="lineno" valign="top"></td><td class="left">   The server has fulfilled the partial GET request for the resource.</td><td> </td><td class="right">   The server has fulfilled the partial GET request for the resource.</td><td class="lineno" valign="top"></td></tr>
270      <tr><td class="lineno" valign="top"></td><td class="left">   The request MUST have included a Range header field (Section 5.4)</td><td> </td><td class="right">   The request MUST have included a Range header field (Section 5.4)</td><td class="lineno" valign="top"></td></tr>
271      <tr><td class="lineno" valign="top"></td><td class="left">   indicating the desired range, and MAY have included an If-Range</td><td> </td><td class="right">   indicating the desired range, and MAY have included an If-Range</td><td class="lineno" valign="top"></td></tr>
272      <tr><td class="lineno" valign="top"></td><td class="left">   header field (Section 5.3) to make the request conditional.</td><td> </td><td class="right">   header field (Section 5.3) to make the request conditional.</td><td class="lineno" valign="top"></td></tr>
273      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
274      <tr><td class="lineno" valign="top"></td><td class="left">   The response MUST include the following header fields:</td><td> </td><td class="right">   The response MUST include the following header fields:</td><td class="lineno" valign="top"></td></tr>
275      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
276      <tr><td class="lineno" valign="top"></td><td class="left">   o  Either a Content-Range header field (Section 5.2) indicating the</td><td> </td><td class="right">   o  Either a Content-Range header field (Section 5.2) indicating the</td><td class="lineno" valign="top"></td></tr>
277      <tr><td class="lineno" valign="top"></td><td class="left">      range included with this response, or a multipart/byteranges</td><td> </td><td class="right">      range included with this response, or a multipart/byteranges</td><td class="lineno" valign="top"></td></tr>
278      <tr><td class="lineno" valign="top"></td><td class="left">      Content-Type including Content-Range fields for each part.  If a</td><td> </td><td class="right">      Content-Type including Content-Range fields for each part.  If a</td><td class="lineno" valign="top"></td></tr>
279      <tr><td class="lineno" valign="top"></td><td class="left">      Content-Length header field is present in the response, its value</td><td> </td><td class="right">      Content-Length header field is present in the response, its value</td><td class="lineno" valign="top"></td></tr>
280      <tr><td><a name="diff0014" /></td></tr>
281      <tr><td class="lineno" valign="top"></td><td class="lblock">      MUST match the actual number of octets transmitted in the message<span class="delete">-</span></td><td> </td><td class="rblock">      MUST match the actual number of octets transmitted in the message</td><td class="lineno" valign="top"></td></tr>
282      <tr><td class="lineno" valign="top"></td><td class="left">      body.</td><td> </td><td class="right">      body.</td><td class="lineno" valign="top"></td></tr>
283      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
284      <tr><td class="lineno" valign="top"></td><td class="left">   o  Date</td><td> </td><td class="right">   o  Date</td><td class="lineno" valign="top"></td></tr>
285      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
286      <tr><td class="lineno" valign="top"></td><td class="left">   o  Cache-Control, ETag, Expires, Content-Location, Last-Modified,</td><td> </td><td class="right">   o  Cache-Control, ETag, Expires, Content-Location, Last-Modified,</td><td class="lineno" valign="top"></td></tr>
287      <tr><td class="lineno" valign="top"></td><td class="left">      and/or Vary, if the header field would have been sent in a 200</td><td> </td><td class="right">      and/or Vary, if the header field would have been sent in a 200</td><td class="lineno" valign="top"></td></tr>
288      <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>
289      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
290      <tr><td class="lineno" valign="top"></td><td class="left">   If the 206 response is the result of an If-Range request, the</td><td> </td><td class="right">   If the 206 response is the result of an If-Range request, the</td><td class="lineno" valign="top"></td></tr>
291      <tr><td class="lineno" valign="top"></td><td class="left">   response SHOULD NOT include other representation header fields.</td><td> </td><td class="right">   response SHOULD NOT include other representation header fields.</td><td class="lineno" valign="top"></td></tr>
292      <tr><td class="lineno" valign="top"></td><td class="left">   Otherwise, the response MUST include all of the representation header</td><td> </td><td class="right">   Otherwise, the response MUST include all of the representation header</td><td class="lineno" valign="top"></td></tr>
293      <tr><td class="lineno" valign="top"></td><td class="left">   fields that would have been returned with a 200 (OK) response to the</td><td> </td><td class="right">   fields that would have been returned with a 200 (OK) response to the</td><td class="lineno" valign="top"></td></tr>
294      <tr><td class="lineno" valign="top"></td><td class="left">   same request.</td><td> </td><td class="right">   same request.</td><td class="lineno" valign="top"></td></tr>
295      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
296      <tr><td><a name="diff0015" /></td></tr>
297      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">   <span class="insert">Caches MAY use a heuristic (see Section 2.3.1.1 of [Part6]) to</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">   determine freshness for 206 responses.</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">                                                                         </td><td class="lineno" valign="top"></td></tr>
300      <tr><td class="lineno" valign="top"></td><td class="left">3.2.  416 Requested Range Not Satisfiable</td><td> </td><td class="right">3.2.  416 Requested Range Not Satisfiable</td><td class="lineno" valign="top"></td></tr>
301      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
302      <tr><td class="lineno" valign="top"></td><td class="left">   A server SHOULD return a response with this status code if a request</td><td> </td><td class="right">   A server SHOULD return a response with this status code if a request</td><td class="lineno" valign="top"></td></tr>
303      <tr><td class="lineno" valign="top"></td><td class="left">   included a Range header field (Section 5.4), and none of the ranges-</td><td> </td><td class="right">   included a Range header field (Section 5.4), and none of the ranges-</td><td class="lineno" valign="top"></td></tr>
304      <tr><td class="lineno" valign="top"></td><td class="left">   specifier values in this field overlap the current extent of the</td><td> </td><td class="right">   specifier values in this field overlap the current extent of the</td><td class="lineno" valign="top"></td></tr>
305      <tr><td class="lineno" valign="top"></td><td class="left">   selected resource, and the request did not include an If-Range header</td><td> </td><td class="right">   selected resource, and the request did not include an If-Range header</td><td class="lineno" valign="top"></td></tr>
306      <tr><td class="lineno" valign="top"></td><td class="left">   field (Section 5.3).  (For byte-ranges, this means that the first-</td><td> </td><td class="right">   field (Section 5.3).  (For byte-ranges, this means that the first-</td><td class="lineno" valign="top"></td></tr>
307      <tr><td class="lineno" valign="top"></td><td class="left">   byte-pos of all of the byte-range-spec values were greater than the</td><td> </td><td class="right">   byte-pos of all of the byte-range-spec values were greater than the</td><td class="lineno" valign="top"></td></tr>
308      <tr><td class="lineno" valign="top"></td><td class="left">   current length of the selected resource.)</td><td> </td><td class="right">   current length of the selected resource.)</td><td class="lineno" valign="top"></td></tr>
309      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
310      <tr><td class="lineno" valign="top"></td><td class="left">   When this status code is returned for a byte-range request, the</td><td> </td><td class="right">   When this status code is returned for a byte-range request, the</td><td class="lineno" valign="top"></td></tr>
311      <tr><td class="lineno" valign="top"></td><td class="left">   response SHOULD include a Content-Range header field specifying the</td><td> </td><td class="right">   response SHOULD include a Content-Range header field specifying the</td><td class="lineno" valign="top"></td></tr>
312      <tr><td class="lineno" valign="top"></td><td class="left">   current length of the representation (see Section 5.2).  This</td><td> </td><td class="right">   current length of the representation (see Section 5.2).  This</td><td class="lineno" valign="top"></td></tr>
313      <tr><td><a name="diff0016" /></td></tr>
314      <tr><td class="lineno" valign="top"></td><td class="lblock">   response MUST NOT use the multipart/byteranges content-type.</td><td> </td><td class="rblock">   response MUST NOT use the multipart/byteranges content-type.  <span class="insert">For</span></td><td class="lineno" valign="top"></td></tr>
315      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   example,</span></td><td class="lineno" valign="top"></td></tr>
316      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
317      <tr><td><a name="diff0017" /></td></tr>
318      <tr><td class="lineno" valign="top"></td><td class="lblock">4.  Combining Ranges</td><td> </td><td class="rblock">     <span class="insert">HTTP/1.1 416 Requested Range Not Satisfiable</span></td><td class="lineno" valign="top"></td></tr>
319      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">     Date: Mon, 20 Jan 2012 15:41:54 GMT</span></td><td class="lineno" valign="top"></td></tr>
320      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">     Content-Range: bytes */47022</span></td><td class="lineno" valign="top"></td></tr>
321      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">     Content-Type: image/gif</span></td><td class="lineno" valign="top"></td></tr>
322      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
323      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      Note: Clients cannot depend on servers to send a 416 (Requested</span></td><td class="lineno" valign="top"></td></tr>
324      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      range not satisfiable) response instead of a 200 (OK) response for</span></td><td class="lineno" valign="top"></td></tr>
325      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      an unsatisfiable Range header field, since not all servers</span></td><td class="lineno" valign="top"></td></tr>
326      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      implement this header field.</span></td><td class="lineno" valign="top"></td></tr>
327      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">                                                                         </td><td class="lineno" valign="top"></td></tr>
328      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">4.  <span class="insert">Responses to a Range Request</span></td><td class="lineno" valign="top"></td></tr>
329      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
330      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">4.1.  Response to a Single and Multiple Ranges Request</span></td><td class="lineno" valign="top"></td></tr>
331      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
332      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   When an HTTP message includes the content of a single range (for</span></td><td class="lineno" valign="top"></td></tr>
333      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   example, a response to a request for a single range, or to a request</span></td><td class="lineno" valign="top"></td></tr>
334      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   for a set of ranges that overlap without any holes), this content is</span></td><td class="lineno" valign="top"></td></tr>
335      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   transmitted with a Content-Range header field, and a Content-Length</span></td><td class="lineno" valign="top"></td></tr>
336      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   header field showing the number of bytes actually transferred.  For</span></td><td class="lineno" valign="top"></td></tr>
337      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   example,</span></td><td class="lineno" valign="top"></td></tr>
338      <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>
339      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">     HTTP/1.1 206 Partial Content</span></td><td class="lineno" valign="top"></td></tr>
340      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">     Date: Wed, 15 Nov 1995 06:25:24 GMT</span></td><td class="lineno" valign="top"></td></tr>
341      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">     Last-Modified: Wed, 15 Nov 1995 04:58:08 GMT</span></td><td class="lineno" valign="top"></td></tr>
342      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">     Content-Range: bytes 21010-47021/47022</span></td><td class="lineno" valign="top"></td></tr>
343      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">     Content-Length: 26012</span></td><td class="lineno" valign="top"></td></tr>
344      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">     Content-Type: image/gif</span></td><td class="lineno" valign="top"></td></tr>
345      <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>
346      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   When an HTTP message includes the content of multiple ranges (for</span></td><td class="lineno" valign="top"></td></tr>
347      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   example, a response to a request for multiple non-overlapping</span></td><td class="lineno" valign="top"></td></tr>
348      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   ranges), these are transmitted as a multipart message.  The multipart</span></td><td class="lineno" valign="top"></td></tr>
349      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   media type used for this purpose is "multipart/byteranges" as defined</span></td><td class="lineno" valign="top"></td></tr>
350      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   in Appendix A.</span></td><td class="lineno" valign="top"></td></tr>
351      <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>
352      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   A server MAY combine requested ranges when those ranges are</span></td><td class="lineno" valign="top"></td></tr>
353      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   overlapping (see Section 7).</span></td><td class="lineno" valign="top"></td></tr>
354      <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>
355      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   A response to a request for a single range MUST NOT be sent using the</span></td><td class="lineno" valign="top"></td></tr>
356      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   multipart/byteranges media type.  A response to a request for</span></td><td class="lineno" valign="top"></td></tr>
357      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   multiple ranges, whose result is a single range, MAY be sent as a</span></td><td class="lineno" valign="top"></td></tr>
358      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   multipart/byteranges media type with one part.  A client that cannot</span></td><td class="lineno" valign="top"></td></tr>
359      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   decode a multipart/byteranges message MUST NOT ask for multiple</span></td><td class="lineno" valign="top"></td></tr>
360      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   ranges in a single request.</span></td><td class="lineno" valign="top"></td></tr>
361      <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>
362      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   When a client requests multiple ranges in one request, the server</span></td><td class="lineno" valign="top"></td></tr>
363      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   SHOULD return them in the order that they appeared in the request.</span></td><td class="lineno" valign="top"></td></tr>
364      <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>
365      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">4.2.</span>  Combining Ranges</td><td class="lineno" valign="top"></td></tr>
366      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
367      <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>
368      <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>
369      <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>
370      <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>
371      <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>
372      <tr><td class="lineno" valign="top"></td><td class="left">   same strong validator, where "strong validator" is defined to be</td><td> </td><td class="right">   same strong validator, where "strong validator" is defined to be</td><td class="lineno" valign="top"></td></tr>
373      <tr><td class="lineno" valign="top"></td><td class="left">   either an entity-tag that is not marked as weak (Section 2.3 of</td><td> </td><td class="right">   either an entity-tag that is not marked as weak (Section 2.3 of</td><td class="lineno" valign="top"></td></tr>
374      <tr><td class="lineno" valign="top"></td><td class="left">   [Part4]) or, if no entity-tag is provided, a Last-Modified value that</td><td> </td><td class="right">   [Part4]) or, if no entity-tag is provided, a Last-Modified value that</td><td class="lineno" valign="top"></td></tr>
375      <tr><td class="lineno" valign="top"></td><td class="left">   is strong in the sense defined by Section 2.2.2 of [Part4].</td><td> </td><td class="right">   is strong in the sense defined by Section 2.2.2 of [Part4].</td><td class="lineno" valign="top"></td></tr>
376      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
377      <tr bgcolor="gray" ><td></td><th><a name="part-l6" /><small>skipping to change at</small><em> page 9, line 19</em></th><th> </th><th><a name="part-r6" /><small>skipping to change at</small><em> page 9, line 21</em></th><td></td></tr>
378      <tr><td class="lineno" valign="top"></td><td class="left">   If the new response is a 206 (Partial Content) response and at least</td><td> </td><td class="right">   If the new response is a 206 (Partial Content) response and at least</td><td class="lineno" valign="top"></td></tr>
379      <tr><td class="lineno" valign="top"></td><td class="left">   one of the matching stored responses is a 200 (OK), then the combined</td><td> </td><td class="right">   one of the matching stored responses is a 200 (OK), then the combined</td><td class="lineno" valign="top"></td></tr>
380      <tr><td class="lineno" valign="top"></td><td class="left">   response header fields consist of the most recent 200 response's</td><td> </td><td class="right">   response header fields consist of the most recent 200 response's</td><td class="lineno" valign="top"></td></tr>
381      <tr><td class="lineno" valign="top"></td><td class="left">   header fields.  If all of the matching stored responses are 206</td><td> </td><td class="right">   header fields.  If all of the matching stored responses are 206</td><td class="lineno" valign="top"></td></tr>
382      <tr><td class="lineno" valign="top"></td><td class="left">   responses, then the stored response with the most header fields is</td><td> </td><td class="right">   responses, then the stored response with the most header fields is</td><td class="lineno" valign="top"></td></tr>
383      <tr><td class="lineno" valign="top"></td><td class="left">   used as the source of header fields for the combined response, except</td><td> </td><td class="right">   used as the source of header fields for the combined response, except</td><td class="lineno" valign="top"></td></tr>
384      <tr><td class="lineno" valign="top"></td><td class="left">   that the client MUST use other header fields provided in the new</td><td> </td><td class="right">   that the client MUST use other header fields provided in the new</td><td class="lineno" valign="top"></td></tr>
385      <tr><td class="lineno" valign="top"></td><td class="left">   response, aside from Content-Range, to replace all instances of the</td><td> </td><td class="right">   response, aside from Content-Range, to replace all instances of the</td><td class="lineno" valign="top"></td></tr>
386      <tr><td class="lineno" valign="top"></td><td class="left">   corresponding header fields in the stored response.</td><td> </td><td class="right">   corresponding header fields in the stored response.</td><td class="lineno" valign="top"></td></tr>
387      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
388      <tr><td><a name="diff0018" /></td></tr>
389      <tr><td class="lineno" valign="top"></td><td class="lblock">   The combined response message<span class="delete">-</span>body consists of the union of partial</td><td> </td><td class="rblock">   The combined response message<span class="insert"> </span>body consists of the union of partial</td><td class="lineno" valign="top"></td></tr>
390      <tr><td class="lineno" valign="top"></td><td class="left">   content ranges in the new response and each of the selected</td><td> </td><td class="right">   content ranges in the new response and each of the selected</td><td class="lineno" valign="top"></td></tr>
391      <tr><td class="lineno" valign="top"></td><td class="left">   responses.  If the union consists of the entire range of the</td><td> </td><td class="right">   responses.  If the union consists of the entire range of the</td><td class="lineno" valign="top"></td></tr>
392      <tr><td class="lineno" valign="top"></td><td class="left">   representation, then the combined response MUST be recorded as a</td><td> </td><td class="right">   representation, then the combined response MUST be recorded as a</td><td class="lineno" valign="top"></td></tr>
393      <tr><td class="lineno" valign="top"></td><td class="left">   complete 200 (OK) response with a Content-Length header field that</td><td> </td><td class="right">   complete 200 (OK) response with a Content-Length header field that</td><td class="lineno" valign="top"></td></tr>
394      <tr><td class="lineno" valign="top"></td><td class="left">   reflects the complete length.  Otherwise, the combined response(s)</td><td> </td><td class="right">   reflects the complete length.  Otherwise, the combined response(s)</td><td class="lineno" valign="top"></td></tr>
395      <tr><td class="lineno" valign="top"></td><td class="left">   MUST include a Content-Range header field describing the included</td><td> </td><td class="right">   MUST include a Content-Range header field describing the included</td><td class="lineno" valign="top"></td></tr>
396      <tr><td class="lineno" valign="top"></td><td class="left">   range(s) and be recorded as incomplete.  If the union consists of a</td><td> </td><td class="right">   range(s) and be recorded as incomplete.  If the union consists of a</td><td class="lineno" valign="top"></td></tr>
397      <tr><td class="lineno" valign="top"></td><td class="left">   discontinuous range of the representation, then the client MAY store</td><td> </td><td class="right">   discontinuous range of the representation, then the client MAY store</td><td class="lineno" valign="top"></td></tr>
398      <tr><td class="lineno" valign="top"></td><td class="left">   it as either a multipart range response or as multiple 206 responses</td><td> </td><td class="right">   it as either a multipart range response or as multiple 206 responses</td><td class="lineno" valign="top"></td></tr>
399      <tr><td class="lineno" valign="top"></td><td class="left">   with one continuous range each.</td><td> </td><td class="right">   with one continuous range each.</td><td class="lineno" valign="top"></td></tr>
400      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
401      <tr bgcolor="gray" ><td></td><th><a name="part-l7" /><small>skipping to change at</small><em> page 11, line 33</em></th><th> </th><th><a name="part-r7" /><small>skipping to change at</small><em> page 11, line 36</em></th><td></td></tr>
402      <tr><td class="lineno" valign="top"></td><td class="left">        bytes 500-999/1234</td><td> </td><td class="right">        bytes 500-999/1234</td><td class="lineno" valign="top"></td></tr>
403      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
404      <tr><td class="lineno" valign="top"></td><td class="left">   o  All except for the first 500 bytes:</td><td> </td><td class="right">   o  All except for the first 500 bytes:</td><td class="lineno" valign="top"></td></tr>
405      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
406      <tr><td class="lineno" valign="top"></td><td class="left">        bytes 500-1233/1234</td><td> </td><td class="right">        bytes 500-1233/1234</td><td class="lineno" valign="top"></td></tr>
407      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
408      <tr><td class="lineno" valign="top"></td><td class="left">   o  The last 500 bytes:</td><td> </td><td class="right">   o  The last 500 bytes:</td><td class="lineno" valign="top"></td></tr>
409      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
410      <tr><td class="lineno" valign="top"></td><td class="left">        bytes 734-1233/1234</td><td> </td><td class="right">        bytes 734-1233/1234</td><td class="lineno" valign="top"></td></tr>
411      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
412      <tr><td><a name="diff0019" /></td></tr>
413      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">When an HTTP message includes the content of a single range (for</span></td><td> </td><td class="rblock">   If the server ignores a byte-range-spec <span class="insert">(for example if</span> it is</td><td class="lineno" valign="top"></td></tr>
414      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   example, a response to a request for a single range, or to a request</span></td><td> </td><td class="rblock">   syntactically invalid, <span class="insert">or if it may be seen as a denial-of-service</span></td><td class="lineno" valign="top"></td></tr>
415      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   for a set of ranges that overlap without any holes), this content is</span></td><td> </td><td class="rblock"><span class="insert">   attack),</span> the server SHOULD treat the request as if the invalid Range</td><td class="lineno" valign="top"></td></tr>
416      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   transmitted with a Content-Range header field, and a Content-Length</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
417      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   header field showing the number of bytes actually transferred.  For</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
418      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   example,</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
419      <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>
420      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">     HTTP/1.1 206 Partial Content</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
421      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">     Date: Wed, 15 Nov 1995 06:25:24 GMT</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
422      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">     Last-Modified: Wed, 15 Nov 1995 04:58:08 GMT</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
423      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">     Content-Range: bytes 21010-47021/47022</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
424      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">     Content-Length: 26012</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
425      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">     Content-Type: image/gif</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
426      <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>
427      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   When an HTTP message includes the content of multiple ranges (for</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
428      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   example, a response to a request for multiple non-overlapping</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
429      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   ranges), these are transmitted as a multipart message.  The multipart</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
430      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   media type used for this purpose is "multipart/byteranges" as defined</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
431      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   in Appendix A.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
432      <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>
433      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   A response to a request for a single range MUST NOT be sent using the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
434      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   multipart/byteranges media type.  A response to a request for</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
435      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   multiple ranges, whose result is a single range, MAY be sent as a</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
436      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   multipart/byteranges media type with one part.  A client that cannot</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
437      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   decode a multipart/byteranges message MUST NOT ask for multiple</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
438      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   ranges in a single request.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
439      <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>
440      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   When a client requests multiple ranges in one request, the server</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
441      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   SHOULD return them in the order that they appeared in the request.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
442      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                         </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
443      <tr><td class="lineno" valign="top"></td><td class="lblock">   If the server ignores a byte-range-spec <span class="delete">because</span> it is syntactically</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
444      <tr><td class="lineno" valign="top"></td><td class="lblock">   invalid, the server SHOULD treat the request as if the invalid Range</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
445      <tr><td class="lineno" valign="top"></td><td class="left">   header field did not exist.  (Normally, this means return a 200</td><td> </td><td class="right">   header field did not exist.  (Normally, this means return a 200</td><td class="lineno" valign="top"></td></tr>
446      <tr><td class="lineno" valign="top"></td><td class="left">   response containing the full representation).</td><td> </td><td class="right">   response containing the full representation).</td><td class="lineno" valign="top"></td></tr>
447      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
448      <tr><td><a name="diff0020" /></td></tr>
449      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">If the server receives a request (other than one including an If-</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
450      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   Range header field) with an unsatisfiable Range header field (that</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
451      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   is, all of whose byte-range-spec values have a first-byte-pos value</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
452      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   greater than the current length of the selected resource), it SHOULD</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
453      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   return a response code of 416 (Requested range not satisfiable)</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
454      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   (Section 3.2).</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
455      <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>
456      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">      Note: Clients cannot depend on servers to send a 416 (Requested</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
457      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">      range not satisfiable) response instead of a 200 (OK) response for</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
458      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">      an unsatisfiable Range header field, since not all servers</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
459      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">      implement this header field.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
460      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                         </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
461      <tr><td class="lineno" valign="top"></td><td class="left">5.3.  If-Range</td><td> </td><td class="right">5.3.  If-Range</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 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>
464      <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>
465      <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>
466      <tr><td class="lineno" valign="top"></td><td class="left">   If-Unmodified-Since and If-Match.)  However, if the condition fails</td><td> </td><td class="right">   If-Unmodified-Since and If-Match.)  However, if the condition fails</td><td class="lineno" valign="top"></td></tr>
467      <tr><td class="lineno" valign="top"></td><td class="left">   because the representation has been modified, the client would then</td><td> </td><td class="right">   because the representation has been modified, the client would then</td><td class="lineno" valign="top"></td></tr>
468      <tr><td class="lineno" valign="top"></td><td class="left">   have to make a second request to obtain the entire current</td><td> </td><td class="right">   have to make a second request to obtain the entire current</td><td class="lineno" valign="top"></td></tr>
469      <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>
470      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
471      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
472      <tr bgcolor="gray" ><td></td><th><a name="part-l8" /><small>skipping to change at</small><em> page 13, line 37</em></th><th> </th><th><a name="part-r8" /><small>skipping to change at</small><em> page 12, line 47</em></th><td></td></tr>
473      <tr><td class="lineno" valign="top"></td><td class="left">5.4.  Range</td><td> </td><td class="right">5.4.  Range</td><td class="lineno" valign="top"></td></tr>
474      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
475      <tr><td class="lineno" valign="top"></td><td class="left">5.4.1.  Byte Ranges</td><td> </td><td class="right">5.4.1.  Byte Ranges</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">   Since all HTTP representations are transferred as sequences of bytes,</td><td> </td><td class="right">   Since all HTTP representations are transferred as sequences of bytes,</td><td class="lineno" valign="top"></td></tr>
478      <tr><td class="lineno" valign="top"></td><td class="left">   the concept of a byte range is meaningful for any HTTP</td><td> </td><td class="right">   the concept of a byte range is meaningful for any HTTP</td><td class="lineno" valign="top"></td></tr>
479      <tr><td class="lineno" valign="top"></td><td class="left">   representation.  (However, not all clients and servers need to</td><td> </td><td class="right">   representation.  (However, not all clients and servers need to</td><td class="lineno" valign="top"></td></tr>
480      <tr><td class="lineno" valign="top"></td><td class="left">   support byte-range operations.)</td><td> </td><td class="right">   support byte-range operations.)</td><td class="lineno" valign="top"></td></tr>
481      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
482      <tr><td class="lineno" valign="top"></td><td class="left">   Byte range specifications in HTTP apply to the sequence of bytes in</td><td> </td><td class="right">   Byte range specifications in HTTP apply to the sequence of bytes in</td><td class="lineno" valign="top"></td></tr>
483      <tr><td><a name="diff0021" /></td></tr>
484      <tr><td class="lineno" valign="top"></td><td class="lblock">   the representation body (not necessarily the same as the message<span class="delete">-</span></td><td> </td><td class="rblock">   the representation body (not necessarily the same as the message</td><td class="lineno" valign="top"></td></tr>
485      <tr><td class="lineno" valign="top"></td><td class="left">   body).</td><td> </td><td class="right">   body).</td><td class="lineno" valign="top"></td></tr>
486      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
487      <tr><td class="lineno" valign="top"></td><td class="left">   A byte range operation MAY specify a single range of bytes, or a set</td><td> </td><td class="right">   A byte range operation MAY specify a single range of bytes, or a set</td><td class="lineno" valign="top"></td></tr>
488      <tr><td class="lineno" valign="top"></td><td class="left">   of ranges within a single representation.</td><td> </td><td class="right">   of ranges within a single representation.</td><td class="lineno" valign="top"></td></tr>
489      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
490      <tr><td class="lineno" valign="top"></td><td class="left">     byte-ranges-specifier = bytes-unit "=" byte-range-set</td><td> </td><td class="right">     byte-ranges-specifier = bytes-unit "=" byte-range-set</td><td class="lineno" valign="top"></td></tr>
491      <tr><td class="lineno" valign="top"></td><td class="left">     byte-range-set  = 1#( byte-range-spec / suffix-byte-range-spec )</td><td> </td><td class="right">     byte-range-set  = 1#( byte-range-spec / suffix-byte-range-spec )</td><td class="lineno" valign="top"></td></tr>
492      <tr><td class="lineno" valign="top"></td><td class="left">     byte-range-spec = first-byte-pos "-" [ last-byte-pos ]</td><td> </td><td class="right">     byte-range-spec = first-byte-pos "-" [ last-byte-pos ]</td><td class="lineno" valign="top"></td></tr>
493      <tr><td class="lineno" valign="top"></td><td class="left">     first-byte-pos  = 1*DIGIT</td><td> </td><td class="right">     first-byte-pos  = 1*DIGIT</td><td class="lineno" valign="top"></td></tr>
494      <tr><td class="lineno" valign="top"></td><td class="left">     last-byte-pos   = 1*DIGIT</td><td> </td><td class="right">     last-byte-pos   = 1*DIGIT</td><td class="lineno" valign="top"></td></tr>
495      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
496      <tr bgcolor="gray" ><td></td><th><a name="part-l9" /><small>skipping to change at</small><em> page 17, line 31</em></th><th> </th><th><a name="part-r9" /><small>skipping to change at</small><em> page 16, line 40</em></th><td></td></tr>
497      <tr><td class="lineno" valign="top"></td><td class="left">   some suggestions for reducing security risks.</td><td> </td><td class="right">   some suggestions for reducing security risks.</td><td class="lineno" valign="top"></td></tr>
498      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
499      <tr><td class="lineno" valign="top"></td><td class="left">7.1.  Overlapping Ranges</td><td> </td><td class="right">7.1.  Overlapping Ranges</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">   Range requests containing overlapping ranges may lead to the</td><td> </td><td class="right">   Range requests containing overlapping ranges may lead to the</td><td class="lineno" valign="top"></td></tr>
502      <tr><td class="lineno" valign="top"></td><td class="left">   situation where a server is sending far more data than the size of</td><td> </td><td class="right">   situation where a server is sending far more data than the size of</td><td class="lineno" valign="top"></td></tr>
503      <tr><td class="lineno" valign="top"></td><td class="left">   the complete resource representation.</td><td> </td><td class="right">   the complete resource representation.</td><td class="lineno" valign="top"></td></tr>
504      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
505      <tr><td class="lineno" valign="top"></td><td class="left">8.  Acknowledgments</td><td> </td><td class="right">8.  Acknowledgments</td><td class="lineno" valign="top"></td></tr>
506      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
507      <tr><td><a name="diff0022" /></td></tr>
508      <tr><td class="lineno" valign="top"></td><td class="lblock">   See Section <span class="delete">11</span> of [Part1].</td><td> </td><td class="rblock">   See Section <span class="insert">9</span> of [Part1].</td><td class="lineno" valign="top"></td></tr>
509      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
510      <tr><td class="lineno" valign="top"></td><td class="left">9.  References</td><td> </td><td class="right">9.  References</td><td class="lineno" valign="top"></td></tr>
511      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
512      <tr><td class="lineno" valign="top"></td><td class="left">9.1.  Normative References</td><td> </td><td class="right">9.1.  Normative References</td><td class="lineno" valign="top"></td></tr>
513      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
514      <tr><td><a name="diff0023" /></td></tr>
515      <tr><td class="lineno" valign="top"></td><td class="lblock">   [Part1]    Fielding, R., Ed., <span class="delete">Gettys, J., Mogul, J., Frystyk, H.,</span></td><td> </td><td class="rblock">   [Part1]    Fielding, R., Ed., Lafon, Y., Ed., and J. Reschke, Ed.,</td><td class="lineno" valign="top"></td></tr>
516      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">              Masinter, L., Leach, P., Berners-Lee, T.,</span> Lafon, Y., Ed.,</td><td> </td><td class="rblock">              "HTTP/1.1, part 1: URIs, Connections, and Message</td><td class="lineno" valign="top"></td></tr>
517      <tr><td class="lineno" valign="top"></td><td class="lblock">              and J. Reschke, Ed., "HTTP/1.1, part 1: URIs, Connections,</td><td> </td><td class="rblock">              Parsing", <span class="insert">draft-ietf-httpbis-p1-messaging-19</span> (work in</td><td class="lineno" valign="top"></td></tr>
518      <tr><td class="lineno" valign="top"></td><td class="lblock">              and Message Parsing", <span class="delete">draft-ietf-httpbis-p1-messaging-18</span></td><td> </td><td class="rblock">              progress), <span class="insert">March</span> 2012.</td><td class="lineno" valign="top"></td></tr>
519      <tr><td class="lineno" valign="top"></td><td class="lblock">              (work in progress), <span class="delete">January</span> 2012.</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
520      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
521      <tr><td><a name="diff0024" /></td></tr>
522      <tr><td class="lineno" valign="top"></td><td class="lblock">   [Part2]    Fielding, R., Ed., <span class="delete">Gettys, J., Mogul, J., Frystyk, H.,</span></td><td> </td><td class="rblock">   [Part2]    Fielding, R., Ed., Lafon, Y., Ed., and J. Reschke, Ed.,</td><td class="lineno" valign="top"></td></tr>
523      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">              Masinter, L., Leach, P., Berners-Lee, T.,</span> Lafon, Y., Ed.,</td><td> </td><td class="rblock">              "HTTP/1.1, part 2: Message Semantics",</td><td class="lineno" valign="top"></td></tr>
524      <tr><td class="lineno" valign="top"></td><td class="lblock">              and J. Reschke, Ed., "HTTP/1.1, part 2: Message</td><td> </td><td class="rblock">              <span class="insert">draft-ietf-httpbis-p2-semantics-19</span> (work in progress),</td><td class="lineno" valign="top"></td></tr>
525      <tr><td class="lineno" valign="top"></td><td class="lblock">              Semantics", <span class="delete">draft-ietf-httpbis-p2-semantics-18</span> (work in</td><td> </td><td class="rblock">              <span class="insert">March</span> 2012.</td><td class="lineno" valign="top"></td></tr>
526      <tr><td class="lineno" valign="top"></td><td class="lblock">              progress), <span class="delete">January</span> 2012.</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
527      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
528      <tr><td><a name="diff0025" /></td></tr>
529      <tr><td class="lineno" valign="top"></td><td class="lblock">   [Part4]    Fielding, R., Ed., <span class="delete">Gettys, J., Mogul, J., Frystyk, H.,</span></td><td> </td><td class="rblock">   [Part4]    Fielding, R., Ed., Lafon, Y., Ed., and J. Reschke, Ed.,</td><td class="lineno" valign="top"></td></tr>
530      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">              Masinter, L., Leach, P., Berners-Lee, T.,</span> Lafon, Y., Ed.,</td><td> </td><td class="rblock">              "HTTP/1.1, part 4: Conditional Requests",</td><td class="lineno" valign="top"></td></tr>
531      <tr><td class="lineno" valign="top"></td><td class="lblock">              and J. Reschke, Ed., "HTTP/1.1, part 4: Conditional</td><td> </td><td class="rblock">              <span class="insert">draft-ietf-httpbis-p4-conditional-19</span> (work in progress),</td><td class="lineno" valign="top"></td></tr>
532      <tr><td class="lineno" valign="top"></td><td class="lblock">              Requests", <span class="delete">draft-ietf-httpbis-p4-conditional-18</span> (work in</td><td> </td><td class="rblock">              <span class="insert">March 2012.</span></td><td class="lineno" valign="top"></td></tr>
533      <tr><td class="lineno" valign="top"></td><td class="lblock">              progress), <span class="delete">January</span> 2012.</td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
534      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   [Part6]    Fielding, R., Ed., Lafon, Y., Ed., Nottingham, M., Ed.,</span></td><td class="lineno" valign="top"></td></tr>
535      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">              and J. Reschke, Ed., "HTTP/1.1, part 6: Caching",</span></td><td class="lineno" valign="top"></td></tr>
536      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">              draft-ietf-httpbis-p6-cache-19 (work in progress),</span></td><td class="lineno" valign="top"></td></tr>
537      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">              March</span> 2012.</td><td class="lineno" valign="top"></td></tr>
538      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
539      <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>
540      <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>
541      <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>
542      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
543      <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>
544      <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>
545      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
546      <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>
547      <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>
548      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
549      <tr bgcolor="gray" ><td></td><th><a name="part-l10" /><small>skipping to change at</small><em> page 18, line 38</em></th><th> </th><th><a name="part-r10" /><small>skipping to change at</small><em> page 17, line 49</em></th><td></td></tr>
550      <tr><td class="lineno" valign="top"></td><td class="left">              Registration Procedures", BCP 13, RFC 4288, December 2005.</td><td> </td><td class="right">              Registration Procedures", BCP 13, RFC 4288, December 2005.</td><td class="lineno" valign="top"></td></tr>
551      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
552      <tr><td class="lineno" valign="top"></td><td class="left">   [RFC5226]  Narten, T. and H. Alvestrand, "Guidelines for Writing an</td><td> </td><td class="right">   [RFC5226]  Narten, T. and H. Alvestrand, "Guidelines for Writing an</td><td class="lineno" valign="top"></td></tr>
553      <tr><td class="lineno" valign="top"></td><td class="left">              IANA Considerations Section in RFCs", BCP 26, RFC 5226,</td><td> </td><td class="right">              IANA Considerations Section in RFCs", BCP 26, RFC 5226,</td><td class="lineno" valign="top"></td></tr>
554      <tr><td class="lineno" valign="top"></td><td class="left">              May 2008.</td><td> </td><td class="right">              May 2008.</td><td class="lineno" valign="top"></td></tr>
555      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
556      <tr><td class="lineno" valign="top"></td><td class="left">Appendix A.  Internet Media Type multipart/byteranges</td><td> </td><td class="right">Appendix A.  Internet Media Type multipart/byteranges</td><td class="lineno" valign="top"></td></tr>
557      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
558      <tr><td class="lineno" valign="top"></td><td class="left">   When an HTTP 206 (Partial Content) response message includes the</td><td> </td><td class="right">   When an HTTP 206 (Partial Content) response message includes the</td><td class="lineno" valign="top"></td></tr>
559      <tr><td class="lineno" valign="top"></td><td class="left">   content of multiple ranges (a response to a request for multiple non-</td><td> </td><td class="right">   content of multiple ranges (a response to a request for multiple non-</td><td class="lineno" valign="top"></td></tr>
560      <tr><td><a name="diff0026" /></td></tr>
561      <tr><td class="lineno" valign="top"></td><td class="lblock">   overlapping ranges), these are transmitted as a multipart message<span class="delete">-</span></td><td> </td><td class="rblock">   overlapping ranges), these are transmitted as a multipart message</td><td class="lineno" valign="top"></td></tr>
562      <tr><td class="lineno" valign="top"></td><td class="left">   body ([RFC2046], Section 5.1).  The media type for this purpose is</td><td> </td><td class="right">   body ([RFC2046], Section 5.1).  The media type for this purpose is</td><td class="lineno" valign="top"></td></tr>
563      <tr><td class="lineno" valign="top"></td><td class="left">   called "multipart/byteranges".  The following is to be registered</td><td> </td><td class="right">   called "multipart/byteranges".  The following is to be registered</td><td class="lineno" valign="top"></td></tr>
564      <tr><td class="lineno" valign="top"></td><td class="left">   with IANA [RFC4288].</td><td> </td><td class="right">   with IANA [RFC4288].</td><td class="lineno" valign="top"></td></tr>
565      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
566      <tr><td class="lineno" valign="top"></td><td class="left">      Note: Despite the name "multipart/byteranges" is not limited to</td><td> </td><td class="right">      Note: Despite the name "multipart/byteranges" is not limited to</td><td class="lineno" valign="top"></td></tr>
567      <tr><td class="lineno" valign="top"></td><td class="left">      the byte ranges only.</td><td> </td><td class="right">      the byte ranges only.</td><td class="lineno" valign="top"></td></tr>
568      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
569      <tr><td class="lineno" valign="top"></td><td class="left">   The multipart/byteranges media type includes one or more parts, each</td><td> </td><td class="right">   The multipart/byteranges media type includes one or more parts, each</td><td class="lineno" valign="top"></td></tr>
570      <tr><td class="lineno" valign="top"></td><td class="left">   with its own Content-Type and Content-Range fields.  The required</td><td> </td><td class="right">   with its own Content-Type and Content-Range fields.  The required</td><td class="lineno" valign="top"></td></tr>
571      <tr><td class="lineno" valign="top"></td><td class="left">   boundary parameter specifies the boundary string used to separate</td><td> </td><td class="right">   boundary parameter specifies the boundary string used to separate</td><td class="lineno" valign="top"></td></tr>
572      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
573      <tr bgcolor="gray" ><td></td><th><a name="part-l11" /><small>skipping to change at</small><em> page 21, line 10</em></th><th> </th><th><a name="part-r11" /><small>skipping to change at</small><em> page 20, line 10</em></th><td></td></tr>
574      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
575      <tr><td class="lineno" valign="top"></td><td class="left">   2.  Although [RFC2046] permits the boundary string to be quoted, some</td><td> </td><td class="right">   2.  Although [RFC2046] permits the boundary string to be quoted, some</td><td class="lineno" valign="top"></td></tr>
576      <tr><td class="lineno" valign="top"></td><td class="left">       existing implementations handle a quoted boundary string</td><td> </td><td class="right">       existing implementations handle a quoted boundary string</td><td class="lineno" valign="top"></td></tr>
577      <tr><td class="lineno" valign="top"></td><td class="left">       incorrectly.</td><td> </td><td class="right">       incorrectly.</td><td class="lineno" valign="top"></td></tr>
578      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
579      <tr><td class="lineno" valign="top"></td><td class="left">   3.  A number of browsers and servers were coded to an early draft of</td><td> </td><td class="right">   3.  A number of browsers and servers were coded to an early draft of</td><td class="lineno" valign="top"></td></tr>
580      <tr><td class="lineno" valign="top"></td><td class="left">       the byteranges specification to use a media type of multipart/</td><td> </td><td class="right">       the byteranges specification to use a media type of multipart/</td><td class="lineno" valign="top"></td></tr>
581      <tr><td class="lineno" valign="top"></td><td class="left">       x-byteranges, which is almost, but not quite compatible with the</td><td> </td><td class="right">       x-byteranges, which is almost, but not quite compatible with the</td><td class="lineno" valign="top"></td></tr>
582      <tr><td class="lineno" valign="top"></td><td class="left">       version documented in HTTP/1.1.</td><td> </td><td class="right">       version documented in HTTP/1.1.</td><td class="lineno" valign="top"></td></tr>
583      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
584      <tr><td><a name="diff0027" /></td></tr>
585      <tr><td class="lineno" valign="top"></td><td class="lblock">Appendix B.  <span class="delete">Compatibility with Previous Versions</span></td><td> </td><td class="rblock">Appendix B.  Changes from RFC 2616</td><td class="lineno" valign="top"></td></tr>
586      <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>
587      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">B.1.</span>  Changes from RFC 2616</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
588      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
589      <tr><td class="lineno" valign="top"></td><td class="left">   Clarify that it is not ok to use a weak validator in a 206 response.</td><td> </td><td class="right">   Clarify that it is not ok to use a weak validator in a 206 response.</td><td class="lineno" valign="top"></td></tr>
590      <tr><td class="lineno" valign="top"></td><td class="left">   (Section 3.1)</td><td> </td><td class="right">   (Section 3.1)</td><td class="lineno" valign="top"></td></tr>
591      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
592      <tr><td class="lineno" valign="top"></td><td class="left">   Change ABNF productions for header fields to only define the field</td><td> </td><td class="right">   Change ABNF productions for header fields to only define the field</td><td class="lineno" valign="top"></td></tr>
593      <tr><td class="lineno" valign="top"></td><td class="left">   value.  (Section 5)</td><td> </td><td class="right">   value.  (Section 5)</td><td class="lineno" valign="top"></td></tr>
594      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
595      <tr><td class="lineno" valign="top"></td><td class="left">   Clarify that multipart/byteranges can consist of a single part.</td><td> </td><td class="right">   Clarify that multipart/byteranges can consist of a single part.</td><td class="lineno" valign="top"></td></tr>
596      <tr><td class="lineno" valign="top"></td><td class="left">   (Appendix A)</td><td> </td><td class="right">   (Appendix A)</td><td class="lineno" valign="top"></td></tr>
597      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
598      <tr><td class="lineno" valign="top"></td><td class="left">Appendix C.  Collected ABNF</td><td> </td><td class="right">Appendix C.  Collected ABNF</td><td class="lineno" valign="top"></td></tr>
599      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
600      <tr><td class="lineno" valign="top"></td><td class="left">   Accept-Ranges = acceptable-ranges</td><td> </td><td class="right">   Accept-Ranges = acceptable-ranges</td><td class="lineno" valign="top"></td></tr>
601      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
602      <tr><td class="lineno" valign="top"></td><td class="left">   Content-Range = byte-content-range-spec / other-content-range-spec</td><td> </td><td class="right">   Content-Range = byte-content-range-spec / other-content-range-spec</td><td class="lineno" valign="top"></td></tr>
603      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
604      <tr><td class="lineno" valign="top"></td><td class="left">   HTTP-date = &lt;HTTP-date, defined in [Part2], Section 8&gt;</td><td> </td><td class="right">   HTTP-date = &lt;HTTP-date, defined in [Part2], Section 8&gt;</td><td class="lineno" valign="top"></td></tr>
605      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
606      <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>
607      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
608      <tr><td><a name="diff0028" /></td></tr>
609      <tr><td class="lineno" valign="top"></td><td class="lblock">   OWS = &lt;OWS, defined in [Part1], Section <span class="delete">1.2.2</span>&gt;</td><td> </td><td class="rblock">   OWS = &lt;OWS, defined in [Part1], Section <span class="insert">3.2.1</span>&gt;</td><td class="lineno" valign="top"></td></tr>
610      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
611      <tr><td class="lineno" valign="top"></td><td class="left">   Range = byte-ranges-specifier / other-ranges-specifier</td><td> </td><td class="right">   Range = byte-ranges-specifier / other-ranges-specifier</td><td class="lineno" valign="top"></td></tr>
612      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
613      <tr><td class="lineno" valign="top"></td><td class="left">   acceptable-ranges = ( *( "," OWS ) range-unit *( OWS "," [ OWS</td><td> </td><td class="right">   acceptable-ranges = ( *( "," OWS ) range-unit *( OWS "," [ OWS</td><td class="lineno" valign="top"></td></tr>
614      <tr><td class="lineno" valign="top"></td><td class="left">    range-unit ] ) ) / "none"</td><td> </td><td class="right">    range-unit ] ) ) / "none"</td><td class="lineno" valign="top"></td></tr>
615      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
616      <tr><td class="lineno" valign="top"></td><td class="left">   byte-content-range-spec = bytes-unit SP byte-range-resp-spec "/" (</td><td> </td><td class="right">   byte-content-range-spec = bytes-unit SP byte-range-resp-spec "/" (</td><td class="lineno" valign="top"></td></tr>
617      <tr><td class="lineno" valign="top"></td><td class="left">    instance-length / "*" )</td><td> </td><td class="right">    instance-length / "*" )</td><td class="lineno" valign="top"></td></tr>
618      <tr><td class="lineno" valign="top"></td><td class="left">   byte-range-resp-spec = ( first-byte-pos "-" last-byte-pos ) / "*"</td><td> </td><td class="right">   byte-range-resp-spec = ( first-byte-pos "-" last-byte-pos ) / "*"</td><td class="lineno" valign="top"></td></tr>
619      <tr><td class="lineno" valign="top"></td><td class="left">   byte-range-set = ( *( "," OWS ) byte-range-spec ) / (</td><td> </td><td class="right">   byte-range-set = ( *( "," OWS ) byte-range-spec ) / (</td><td class="lineno" valign="top"></td></tr>
620      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
621      <tr bgcolor="gray" ><td></td><th><a name="part-l12" /><small>skipping to change at</small><em> page 22, line 51</em></th><th> </th><th><a name="part-r12" /><small>skipping to change at</small><em> page 21, line 51</em></th><td></td></tr>
622      <tr><td class="lineno" valign="top"></td><td class="left">   other-range-resp-spec = *CHAR</td><td> </td><td class="right">   other-range-resp-spec = *CHAR</td><td class="lineno" valign="top"></td></tr>
623      <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>
624      <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>
625      <tr><td class="lineno" valign="top"></td><td class="left">   other-ranges-specifier = other-range-unit "=" other-range-set</td><td> </td><td class="right">   other-ranges-specifier = other-range-unit "=" other-range-set</td><td class="lineno" valign="top"></td></tr>
626      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
627      <tr><td class="lineno" valign="top"></td><td class="left">   range-unit = bytes-unit / other-range-unit</td><td> </td><td class="right">   range-unit = bytes-unit / other-range-unit</td><td class="lineno" valign="top"></td></tr>
628      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
629      <tr><td class="lineno" valign="top"></td><td class="left">   suffix-byte-range-spec = "-" suffix-length</td><td> </td><td class="right">   suffix-byte-range-spec = "-" suffix-length</td><td class="lineno" valign="top"></td></tr>
630      <tr><td class="lineno" valign="top"></td><td class="left">   suffix-length = 1*DIGIT</td><td> </td><td class="right">   suffix-length = 1*DIGIT</td><td class="lineno" valign="top"></td></tr>
631      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
632      <tr><td><a name="diff0029" /></td></tr>
633      <tr><td class="lineno" valign="top"></td><td class="lblock">   token = &lt;token, defined in [Part1], Section 3.2.<span class="delete">3</span>&gt;</td><td> </td><td class="rblock">   token = &lt;token, defined in [Part1], Section 3.2.<span class="insert">4</span>&gt;</td><td class="lineno" valign="top"></td></tr>
634      <tr><td class="lineno" valign="top"></td><td class="left">   ABNF diagnostics:</td><td> </td><td class="right">   ABNF diagnostics:</td><td class="lineno" valign="top"></td></tr>
635      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
636      <tr><td class="lineno" valign="top"></td><td class="left">   ; Accept-Ranges defined but not used</td><td> </td><td class="right">   ; Accept-Ranges defined but not used</td><td class="lineno" valign="top"></td></tr>
637      <tr><td class="lineno" valign="top"></td><td class="left">   ; Content-Range defined but not used</td><td> </td><td class="right">   ; Content-Range defined but not used</td><td class="lineno" valign="top"></td></tr>
638      <tr><td class="lineno" valign="top"></td><td class="left">   ; If-Range defined but not used</td><td> </td><td class="right">   ; If-Range defined but not used</td><td class="lineno" valign="top"></td></tr>
639      <tr><td class="lineno" valign="top"></td><td class="left">   ; Range defined but not used</td><td> </td><td class="right">   ; Range defined but not used</td><td class="lineno" valign="top"></td></tr>
640      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
641      <tr><td class="lineno" valign="top"></td><td class="left">Appendix D.  Change Log (to be removed by RFC Editor before publication)</td><td> </td><td class="right">Appendix D.  Change Log (to be removed by RFC Editor before publication)</td><td class="lineno" valign="top"></td></tr>
642      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
643      <tr><td class="lineno" valign="top"></td><td class="left">D.1.  Since RFC 2616</td><td> </td><td class="right">D.1.  Since RFC 2616</td><td class="lineno" valign="top"></td></tr>
644      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
645      <tr bgcolor="gray" ><td></td><th><a name="part-l13" /><small>skipping to change at</small><em> page 26, line 47</em></th><th> </th><th><a name="part-r13" /><small>skipping to change at</small><em> page 25, line 47</em></th><td></td></tr>
646      <tr><td class="lineno" valign="top"></td><td class="left">   o  &lt;http://trac.tools.ietf.org/wg/httpbis/trac/ticket/301&gt;: "Content-</td><td> </td><td class="right">   o  &lt;http://trac.tools.ietf.org/wg/httpbis/trac/ticket/301&gt;: "Content-</td><td class="lineno" valign="top"></td></tr>
647      <tr><td class="lineno" valign="top"></td><td class="left">      Range on responses other than 206"</td><td> </td><td class="right">      Range on responses other than 206"</td><td class="lineno" valign="top"></td></tr>
648      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
649      <tr><td class="lineno" valign="top"></td><td class="left">   o  &lt;http://trac.tools.ietf.org/wg/httpbis/trac/ticket/319&gt;: "case</td><td> </td><td class="right">   o  &lt;http://trac.tools.ietf.org/wg/httpbis/trac/ticket/319&gt;: "case</td><td class="lineno" valign="top"></td></tr>
650      <tr><td class="lineno" valign="top"></td><td class="left">      sensitivity of ranges in p5"</td><td> </td><td class="right">      sensitivity of ranges in p5"</td><td class="lineno" valign="top"></td></tr>
651      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
652      <tr><td class="lineno" valign="top"></td><td class="left">D.19.  Since draft-ietf-httpbis-p5-range-17</td><td> </td><td class="right">D.19.  Since draft-ietf-httpbis-p5-range-17</td><td class="lineno" valign="top"></td></tr>
653      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
654      <tr><td class="lineno" valign="top"></td><td class="left">   None.</td><td> </td><td class="right">   None.</td><td class="lineno" valign="top"></td></tr>
655      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
656      <tr><td><a name="diff0030" /></td></tr>
657      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">D.20.  Since draft-ietf-httpbis-p5-range-18</span></td><td class="lineno" valign="top"></td></tr>
658      <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>
659      <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>
660      <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>
661      <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/311&gt;: "Add</span></td><td class="lineno" valign="top"></td></tr>
662      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      limitations to Range to reduce its use as a denial-of-service</span></td><td class="lineno" valign="top"></td></tr>
663      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      tool"</span></td><td class="lineno" valign="top"></td></tr>
664      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">                                                                         </td><td class="lineno" valign="top"></td></tr>
665      <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>
666      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
667      <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>
668      <tr><td><a name="diff0031" /></td></tr>
669      <tr><td class="lineno" valign="top"></td><td class="lblock">      206 Partial Content (status code)  <span class="delete">7</span></td><td> </td><td class="rblock">      206 Partial Content (status code)  <span class="insert">6</span></td><td class="lineno" valign="top"></td></tr>
670      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
671      <tr><td class="lineno" valign="top"></td><td class="left">   4</td><td> </td><td class="right">   4</td><td class="lineno" valign="top"></td></tr>
672      <tr><td><a name="diff0032" /></td></tr>
673      <tr><td class="lineno" valign="top"></td><td class="lblock">      416 Requested Range Not Satisfiable (status code)  <span class="delete">8</span></td><td> </td><td class="rblock">      416 Requested Range Not Satisfiable (status code)  <span class="insert">7</span></td><td class="lineno" valign="top"></td></tr>
674      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
675      <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>
676      <tr><td class="lineno" valign="top"></td><td class="left">      Accept-Ranges header field  9</td><td> </td><td class="right">      Accept-Ranges header field  9</td><td class="lineno" valign="top"></td></tr>
677      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
678      <tr><td class="lineno" valign="top"></td><td class="left">   C</td><td> </td><td class="right">   C</td><td class="lineno" valign="top"></td></tr>
679      <tr><td class="lineno" valign="top"></td><td class="left">      Content-Range header field  10</td><td> </td><td class="right">      Content-Range header field  10</td><td class="lineno" valign="top"></td></tr>
680      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
681      <tr><td class="lineno" valign="top"></td><td class="left">   G</td><td> </td><td class="right">   G</td><td class="lineno" valign="top"></td></tr>
682      <tr><td class="lineno" valign="top"></td><td class="left">      Grammar</td><td> </td><td class="right">      Grammar</td><td class="lineno" valign="top"></td></tr>
683      <tr><td class="lineno" valign="top"></td><td class="left">         Accept-Ranges  9</td><td> </td><td class="right">         Accept-Ranges  9</td><td class="lineno" valign="top"></td></tr>
684      <tr><td class="lineno" valign="top"></td><td class="left">         acceptable-ranges  9</td><td> </td><td class="right">         acceptable-ranges  9</td><td class="lineno" valign="top"></td></tr>
685      <tr><td class="lineno" valign="top"></td><td class="left">         byte-content-range-spec  10</td><td> </td><td class="right">         byte-content-range-spec  10</td><td class="lineno" valign="top"></td></tr>
686      <tr><td class="lineno" valign="top"></td><td class="left">         byte-range-resp-spec  10</td><td> </td><td class="right">         byte-range-resp-spec  10</td><td class="lineno" valign="top"></td></tr>
687      <tr><td class="lineno" valign="top"></td><td class="left">         byte-range-set  13</td><td> </td><td class="right">         byte-range-set  13</td><td class="lineno" valign="top"></td></tr>
688      <tr><td class="lineno" valign="top"></td><td class="left">         byte-range-spec  13</td><td> </td><td class="right">         byte-range-spec  13</td><td class="lineno" valign="top"></td></tr>
689      <tr><td class="lineno" valign="top"></td><td class="left">         byte-ranges-specifier  13</td><td> </td><td class="right">         byte-ranges-specifier  13</td><td class="lineno" valign="top"></td></tr>
690      <tr><td><a name="diff0033" /></td></tr>
691      <tr><td class="lineno" valign="top"></td><td class="lblock">         bytes-unit  <span class="delete">6</span></td><td> </td><td class="rblock">         bytes-unit  <span class="insert">5</span></td><td class="lineno" valign="top"></td></tr>
692      <tr><td class="lineno" valign="top"></td><td class="left">         Content-Range  10</td><td> </td><td class="right">         Content-Range  10</td><td class="lineno" valign="top"></td></tr>
693      <tr><td class="lineno" valign="top"></td><td class="left">         first-byte-pos  13</td><td> </td><td class="right">         first-byte-pos  13</td><td class="lineno" valign="top"></td></tr>
694      <tr><td class="lineno" valign="top"></td><td class="left">         If-Range  12</td><td> </td><td class="right">         If-Range  12</td><td class="lineno" valign="top"></td></tr>
695      <tr><td class="lineno" valign="top"></td><td class="left">         instance-length  10</td><td> </td><td class="right">         instance-length  10</td><td class="lineno" valign="top"></td></tr>
696      <tr><td class="lineno" valign="top"></td><td class="left">         last-byte-pos  13</td><td> </td><td class="right">         last-byte-pos  13</td><td class="lineno" valign="top"></td></tr>
697      <tr><td><a name="diff0034" /></td></tr>
698      <tr><td class="lineno" valign="top"></td><td class="lblock">         other-range-unit  <span class="delete">6</span></td><td> </td><td class="rblock">         other-range-unit  <span class="insert">5</span></td><td class="lineno" valign="top"></td></tr>
699      <tr><td class="lineno" valign="top"></td><td class="lblock">         Range  <span class="delete">15</span></td><td> </td><td class="rblock">         Range  <span class="insert">14</span></td><td class="lineno" valign="top"></td></tr>
700      <tr><td class="lineno" valign="top"></td><td class="lblock">         range-unit  <span class="delete">6</span></td><td> </td><td class="rblock">         range-unit  <span class="insert">5</span></td><td class="lineno" valign="top"></td></tr>
701      <tr><td class="lineno" valign="top"></td><td class="left">         ranges-specifier  13</td><td> </td><td class="right">         ranges-specifier  13</td><td class="lineno" valign="top"></td></tr>
702      <tr><td><a name="diff0035" /></td></tr>
703      <tr><td class="lineno" valign="top"></td><td class="lblock">         suffix-byte-range-spec  <span class="delete">14</span></td><td> </td><td class="rblock">         suffix-byte-range-spec  <span class="insert">13</span></td><td class="lineno" valign="top"></td></tr>
704      <tr><td class="lineno" valign="top"></td><td class="lblock">         suffix-length  <span class="delete">14</span></td><td> </td><td class="rblock">         suffix-length  <span class="insert">13</span></td><td class="lineno" valign="top"></td></tr>
705      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
706      <tr><td class="lineno" valign="top"></td><td class="left">   H</td><td> </td><td class="right">   H</td><td class="lineno" valign="top"></td></tr>
707      <tr><td class="lineno" valign="top"></td><td class="left">      Header Fields</td><td> </td><td class="right">      Header Fields</td><td class="lineno" valign="top"></td></tr>
708      <tr><td class="lineno" valign="top"></td><td class="left">         Accept-Ranges  9</td><td> </td><td class="right">         Accept-Ranges  9</td><td class="lineno" valign="top"></td></tr>
709      <tr><td class="lineno" valign="top"></td><td class="left">         Content-Range  10</td><td> </td><td class="right">         Content-Range  10</td><td class="lineno" valign="top"></td></tr>
710      <tr><td><a name="diff0036" /></td></tr>
711      <tr><td class="lineno" valign="top"></td><td class="lblock">         If-Range  <span class="delete">12</span></td><td> </td><td class="rblock">         If-Range  <span class="insert">11</span></td><td class="lineno" valign="top"></td></tr>
712      <tr><td class="lineno" valign="top"></td><td class="lblock">         Range  <span class="delete">13</span></td><td> </td><td class="rblock">         Range  <span class="insert">12</span></td><td class="lineno" valign="top"></td></tr>
713      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
714      <tr><td class="lineno" valign="top"></td><td class="left">   I</td><td> </td><td class="right">   I</td><td class="lineno" valign="top"></td></tr>
715      <tr><td><a name="diff0037" /></td></tr>
716      <tr><td class="lineno" valign="top"></td><td class="lblock">      If-Range header field  1<span class="delete">2</span></td><td> </td><td class="rblock">      If-Range header field  1<span class="insert">1</span></td><td class="lineno" valign="top"></td></tr>
717      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
718      <tr><td class="lineno" valign="top"></td><td class="left">   M</td><td> </td><td class="right">   M</td><td class="lineno" valign="top"></td></tr>
719      <tr><td class="lineno" valign="top"></td><td class="left">      Media Type</td><td> </td><td class="right">      Media Type</td><td class="lineno" valign="top"></td></tr>
720      <tr><td><a name="diff0038" /></td></tr>
721      <tr><td class="lineno" valign="top"></td><td class="lblock">         multipart/byteranges  <span class="delete">18</span></td><td> </td><td class="rblock">         multipart/byteranges  <span class="insert">17</span></td><td class="lineno" valign="top"></td></tr>
722      <tr><td class="lineno" valign="top"></td><td class="lblock">         multipart/x-byteranges  <span class="delete">21</span></td><td> </td><td class="rblock">         multipart/x-byteranges  <span class="insert">20</span></td><td class="lineno" valign="top"></td></tr>
723      <tr><td class="lineno" valign="top"></td><td class="lblock">      multipart/byteranges Media Type  <span class="delete">18</span></td><td> </td><td class="rblock">      multipart/byteranges Media Type  <span class="insert">17</span></td><td class="lineno" valign="top"></td></tr>
724      <tr><td class="lineno" valign="top"></td><td class="lblock">      multipart/x-byteranges Media Type  <span class="delete">21</span></td><td> </td><td class="rblock">      multipart/x-byteranges Media Type  <span class="insert">20</span></td><td class="lineno" valign="top"></td></tr>
725      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
726      <tr><td class="lineno" valign="top"></td><td class="left">   R</td><td> </td><td class="right">   R</td><td class="lineno" valign="top"></td></tr>
727      <tr><td><a name="diff0039" /></td></tr>
728      <tr><td class="lineno" valign="top"></td><td class="lblock">      Range header field  1<span class="delete">3</span></td><td> </td><td class="rblock">      Range header field  1<span class="insert">2</span></td><td class="lineno" valign="top"></td></tr>
729      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
730      <tr><td class="lineno" valign="top"></td><td class="left">   S</td><td> </td><td class="right">   S</td><td class="lineno" valign="top"></td></tr>
731      <tr><td class="lineno" valign="top"></td><td class="left">      Status Codes</td><td> </td><td class="right">      Status Codes</td><td class="lineno" valign="top"></