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

Last change on this file since 1697 was 222, checked in by fielding@…, 12 years ago

diffs from 01 to 02

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/html; charset=iso-8859-1
File size: 156.0 KB
Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
2<!-- Generated by rfcdiff 1.34: rfcdiff  --> 
3<!-- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional" > -->
4<!-- System: Darwin kiwi.local 8.11.0 Darwin Kernel Version 8.11.0: Wed Oct 10 18:26:00 PDT 2007; root:xnu-792.24.17~1/RELEASE_PPC Power Macintosh powerpc --> 
5<!-- Using awk: /usr/local/bin/gawk: GNU Awk 3.1.6 --> 
6<!-- Using diff: /usr/bin/diff: diff (GNU diffutils) 2.8.1 --> 
7<!-- Using wdiff: /usr/local/bin/wdiff: wdiff (Free wdiff) 0.5g --> 
8<html> 
9<head> 
10  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
11  <meta http-equiv="Content-Style-Type" content="text/css" /> 
12  <title>Diff: draft-ietf-httpbis-p5-range-01.txt - draft-ietf-httpbis-p5-range-02.txt</title> 
13  <style type="text/css"> 
14    body    { margin: 0.4ex; margin-right: auto; } 
15    tr      { } 
16    td      { white-space: pre; font-family: monospace; vertical-align: top; font-size: 0.86em;} 
17    th      { font-size: 0.86em; } 
18    .small  { font-size: 0.6em; font-style: italic; font-family: Verdana, Helvetica, sans-serif; } 
19    .left   { background-color: #EEE; } 
20    .right  { background-color: #FFF; } 
21    .diff   { background-color: #CCF; } 
22    .lblock { background-color: #BFB; } 
23    .rblock { background-color: #FF8; } 
24    .insert { background-color: #8FF; } 
25    .delete { background-color: #ACF; } 
26    .void   { background-color: #FFB; } 
27    .cont   { background-color: #EEE; } 
28    .linebr { background-color: #AAA; } 
29    .lineno { color: red; background-color: #FFF; font-size: 0.7em; text-align: right; padding: 0 2px; } 
30    .elipsis{ background-color: #AAA; } 
31    .left .cont { background-color: #DDD; } 
32    .right .cont { background-color: #EEE; } 
33    .lblock .cont { background-color: #9D9; } 
34    .rblock .cont { background-color: #DD6; } 
35    .insert .cont { background-color: #0DD; } 
36    .delete .cont { background-color: #8AD; } 
37    .stats, .stats td, .stats th { background-color: #EEE; padding: 2px 0; } 
38  </style> 
39</head> 
40<body > 
41  <table border="0" cellpadding="0" cellspacing="0"> 
42  <tr bgcolor="orange"><th></th><th>&nbsp;draft-ietf-httpbis-p5-range-01.txt&nbsp;</th><th> </th><th>&nbsp;draft-ietf-httpbis-p5-range-02.txt&nbsp;</th><th></th></tr> 
43      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
44      <tr><td class="lineno" valign="top"></td><td class="left">Network Working Group                                   R. Fielding, Ed.</td><td> </td><td class="right">Network Working Group                                   R. Fielding, Ed.</td><td class="lineno" valign="top"></td></tr>
45      <tr><td class="lineno" valign="top"></td><td class="left">Internet-Draft                                              Day Software</td><td> </td><td class="right">Internet-Draft                                              Day Software</td><td class="lineno" valign="top"></td></tr>
46      <tr><td class="lineno" valign="top"></td><td class="left">Obsoletes: 2616 (if approved)                                  J. Gettys</td><td> </td><td class="right">Obsoletes: 2616 (if approved)                                  J. Gettys</td><td class="lineno" valign="top"></td></tr>
47      <tr><td class="lineno" valign="top"></td><td class="left">Intended status: Standards Track                    One Laptop per Child</td><td> </td><td class="right">Intended status: Standards Track                    One Laptop per Child</td><td class="lineno" valign="top"></td></tr>
48      <tr><td><a name="diff0001" /></td></tr>
49      <tr><td class="lineno" valign="top"></td><td class="lblock">Expires: <span class="delete">July 15, 2008  </span>                                        J. Mogul</td><td> </td><td class="rblock">Expires: <span class="insert">August 27, 2008</span>                                        J. Mogul</td><td class="lineno" valign="top"></td></tr>
50      <tr><td class="lineno" valign="top"></td><td class="left">                                                                      HP</td><td> </td><td class="right">                                                                      HP</td><td class="lineno" valign="top"></td></tr>
51      <tr><td class="lineno" valign="top"></td><td class="left">                                                              H. Frystyk</td><td> </td><td class="right">                                                              H. Frystyk</td><td class="lineno" valign="top"></td></tr>
52      <tr><td class="lineno" valign="top"></td><td class="left">                                                               Microsoft</td><td> </td><td class="right">                                                               Microsoft</td><td class="lineno" valign="top"></td></tr>
53      <tr><td class="lineno" valign="top"></td><td class="left">                                                             L. Masinter</td><td> </td><td class="right">                                                             L. Masinter</td><td class="lineno" valign="top"></td></tr>
54      <tr><td class="lineno" valign="top"></td><td class="left">                                                           Adobe Systems</td><td> </td><td class="right">                                                           Adobe Systems</td><td class="lineno" valign="top"></td></tr>
55      <tr><td class="lineno" valign="top"></td><td class="left">                                                                P. Leach</td><td> </td><td class="right">                                                                P. Leach</td><td class="lineno" valign="top"></td></tr>
56      <tr><td class="lineno" valign="top"></td><td class="left">                                                               Microsoft</td><td> </td><td class="right">                                                               Microsoft</td><td class="lineno" valign="top"></td></tr>
57      <tr><td class="lineno" valign="top"></td><td class="left">                                                          T. Berners-Lee</td><td> </td><td class="right">                                                          T. Berners-Lee</td><td class="lineno" valign="top"></td></tr>
58      <tr><td class="lineno" valign="top"></td><td class="left">                                                                 W3C/MIT</td><td> </td><td class="right">                                                                 W3C/MIT</td><td class="lineno" valign="top"></td></tr>
59      <tr><td class="lineno" valign="top"></td><td class="left">                                                           Y. Lafon, Ed.</td><td> </td><td class="right">                                                           Y. Lafon, Ed.</td><td class="lineno" valign="top"></td></tr>
60      <tr><td class="lineno" valign="top"></td><td class="left">                                                                     W3C</td><td> </td><td class="right">                                                                     W3C</td><td class="lineno" valign="top"></td></tr>
61      <tr><td class="lineno" valign="top"></td><td class="left">                                                         J. Reschke, Ed.</td><td> </td><td class="right">                                                         J. Reschke, Ed.</td><td class="lineno" valign="top"></td></tr>
62      <tr><td class="lineno" valign="top"></td><td class="left">                                                              greenbytes</td><td> </td><td class="right">                                                              greenbytes</td><td class="lineno" valign="top"></td></tr>
63      <tr><td><a name="diff0002" /></td></tr>
64      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                       <span class="delete"> January 12</span>, 2008</td><td> </td><td class="rblock">                                                       <span class="insert">February 24</span>, 2008</td><td class="lineno" valign="top"></td></tr>
65      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
66      <tr><td class="lineno" valign="top"></td><td class="left">         HTTP/1.1, part 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>
67      <tr><td><a name="diff0003" /></td></tr>
68      <tr><td class="lineno" valign="top"></td><td class="lblock">                     draft-ietf-httpbis-p5-range-0<span class="delete">1</span></td><td> </td><td class="rblock">                     draft-ietf-httpbis-p5-range-0<span class="insert">2</span></td><td class="lineno" valign="top"></td></tr>
69      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
70      <tr><td class="lineno" valign="top"></td><td class="left">Status of this Memo</td><td> </td><td class="right">Status of this Memo</td><td class="lineno" valign="top"></td></tr>
71      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
72      <tr><td class="lineno" valign="top"></td><td class="left">   By submitting this Internet-Draft, each author represents that any</td><td> </td><td class="right">   By submitting this Internet-Draft, each author represents that any</td><td class="lineno" valign="top"></td></tr>
73      <tr><td class="lineno" valign="top"></td><td class="left">   applicable patent or other IPR claims of which he or she is aware</td><td> </td><td class="right">   applicable patent or other IPR claims of which he or she is aware</td><td class="lineno" valign="top"></td></tr>
74      <tr><td class="lineno" valign="top"></td><td class="left">   have been or will be disclosed, and any of which he or she becomes</td><td> </td><td class="right">   have been or will be disclosed, and any of which he or she becomes</td><td class="lineno" valign="top"></td></tr>
75      <tr><td class="lineno" valign="top"></td><td class="left">   aware will be disclosed, in accordance with Section 6 of BCP 79.</td><td> </td><td class="right">   aware will be disclosed, in accordance with Section 6 of BCP 79.</td><td class="lineno" valign="top"></td></tr>
76      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
77      <tr><td class="lineno" valign="top"></td><td class="left">   Internet-Drafts are working documents of the Internet Engineering</td><td> </td><td class="right">   Internet-Drafts are working documents of the Internet Engineering</td><td class="lineno" valign="top"></td></tr>
78      <tr><td class="lineno" valign="top"></td><td class="left">   Task Force (IETF), its areas, and its working groups.  Note that</td><td> </td><td class="right">   Task Force (IETF), its areas, and its working groups.  Note that</td><td class="lineno" valign="top"></td></tr>
79      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
80      <tr bgcolor="gray" ><td></td><th><a name="part-l2" /><small>skipping to change at</small><em> page 1, line 49</em></th><th> </th><th><a name="part-r2" /><small>skipping to change at</small><em> page 1, line 49</em></th><td></td></tr>
81      <tr><td class="lineno" valign="top"></td><td class="left">   and may be updated, replaced, or obsoleted by other documents at any</td><td> </td><td class="right">   and may be updated, replaced, or obsoleted by other documents at any</td><td class="lineno" valign="top"></td></tr>
82      <tr><td class="lineno" valign="top"></td><td class="left">   time.  It is inappropriate to use Internet-Drafts as reference</td><td> </td><td class="right">   time.  It is inappropriate to use Internet-Drafts as reference</td><td class="lineno" valign="top"></td></tr>
83      <tr><td class="lineno" valign="top"></td><td class="left">   material or to cite them other than as "work in progress."</td><td> </td><td class="right">   material or to cite them other than as "work in progress."</td><td class="lineno" valign="top"></td></tr>
84      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
85      <tr><td class="lineno" valign="top"></td><td class="left">   The list of current Internet-Drafts can be accessed at</td><td> </td><td class="right">   The list of current Internet-Drafts can be accessed at</td><td class="lineno" valign="top"></td></tr>
86      <tr><td class="lineno" valign="top"></td><td class="left">   http://www.ietf.org/ietf/1id-abstracts.txt.</td><td> </td><td class="right">   http://www.ietf.org/ietf/1id-abstracts.txt.</td><td class="lineno" valign="top"></td></tr>
87      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
88      <tr><td class="lineno" valign="top"></td><td class="left">   The list of Internet-Draft Shadow Directories can be accessed at</td><td> </td><td class="right">   The list of Internet-Draft Shadow Directories can be accessed at</td><td class="lineno" valign="top"></td></tr>
89      <tr><td class="lineno" valign="top"></td><td class="left">   http://www.ietf.org/shadow.html.</td><td> </td><td class="right">   http://www.ietf.org/shadow.html.</td><td class="lineno" valign="top"></td></tr>
90      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
91      <tr><td><a name="diff0004" /></td></tr>
92      <tr><td class="lineno" valign="top"></td><td class="lblock">   This Internet-Draft will expire on <span class="delete">July 15</span>, 2008.</td><td> </td><td class="rblock">   This Internet-Draft will expire on <span class="insert">August 27</span>, 2008.</td><td class="lineno" valign="top"></td></tr>
93      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
94      <tr><td class="lineno" valign="top"></td><td class="left">Copyright Notice</td><td> </td><td class="right">Copyright Notice</td><td class="lineno" valign="top"></td></tr>
95      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
96      <tr><td class="lineno" valign="top"></td><td class="left">   Copyright (C) The IETF Trust (2008).</td><td> </td><td class="right">   Copyright (C) The IETF Trust (2008).</td><td class="lineno" valign="top"></td></tr>
97      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
98      <tr><td class="lineno" valign="top"></td><td class="left">Abstract</td><td> </td><td class="right">Abstract</td><td class="lineno" valign="top"></td></tr>
99      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
100      <tr><td class="lineno" valign="top"></td><td class="left">   The Hypertext Transfer Protocol (HTTP) is an application-level</td><td> </td><td class="right">   The Hypertext Transfer Protocol (HTTP) is an application-level</td><td class="lineno" valign="top"></td></tr>
101      <tr><td class="lineno" valign="top"></td><td class="left">   protocol for distributed, collaborative, hypermedia information</td><td> </td><td class="right">   protocol for distributed, collaborative, hypermedia information</td><td class="lineno" valign="top"></td></tr>
102      <tr><td class="lineno" valign="top"></td><td class="left">   systems.  HTTP has been in use by the World Wide Web global</td><td> </td><td class="right">   systems.  HTTP has been in use by the World Wide Web global</td><td class="lineno" valign="top"></td></tr>
103      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
104      <tr bgcolor="gray" ><td></td><th><a name="part-l3" /><small>skipping to change at</small><em> page 3, line 9</em></th><th> </th><th><a name="part-r3" /><small>skipping to change at</small><em> page 3, line 9</em></th><td></td></tr>
105      <tr><td class="lineno" valign="top"></td><td class="left">   This draft incorporates those issue resolutions that were either</td><td> </td><td class="right">   This draft incorporates those issue resolutions that were either</td><td class="lineno" valign="top"></td></tr>
106      <tr><td class="lineno" valign="top"></td><td class="left">   collected in the original RFC2616 errata list</td><td> </td><td class="right">   collected in the original RFC2616 errata list</td><td class="lineno" valign="top"></td></tr>
107      <tr><td class="lineno" valign="top"></td><td class="left">   (&lt;http://purl.org/NET/http-errata&gt;), or which were agreed upon on the</td><td> </td><td class="right">   (&lt;http://purl.org/NET/http-errata&gt;), or which were agreed upon on the</td><td class="lineno" valign="top"></td></tr>
108      <tr><td class="lineno" valign="top"></td><td class="left">   mailing list between October 2006 and November 2007 (as published in</td><td> </td><td class="right">   mailing list between October 2006 and November 2007 (as published in</td><td class="lineno" valign="top"></td></tr>
109      <tr><td class="lineno" valign="top"></td><td class="left">   "draft-lafon-rfc2616bis-03").</td><td> </td><td class="right">   "draft-lafon-rfc2616bis-03").</td><td class="lineno" valign="top"></td></tr>
110      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
111      <tr><td class="lineno" valign="top"></td><td class="left">Table of Contents</td><td> </td><td class="right">Table of Contents</td><td class="lineno" valign="top"></td></tr>
112      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
113      <tr><td class="lineno" valign="top"></td><td class="left">   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4</td><td> </td><td class="right">   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4</td><td class="lineno" valign="top"></td></tr>
114      <tr><td class="lineno" valign="top"></td><td class="left">     1.1.  Requirements . . . . . . . . . . . . . . . . . . . . . . .  4</td><td> </td><td class="right">     1.1.  Requirements . . . . . . . . . . . . . . . . . . . . . . .  4</td><td class="lineno" valign="top"></td></tr>
115      <tr><td><a name="diff0005" /></td></tr>
116      <tr><td class="lineno" valign="top"></td><td class="lblock">   2.  Range Units  . . . . . . . . . . . . . . . . . . . . . . . . .  <span class="delete">4</span></td><td> </td><td class="rblock">   2.  <span class="insert">Notational Conventions and Generic Grammar . . . . . . . . . .  4</span></td><td class="lineno" valign="top"></td></tr>
117      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   3.</span>  Status Code Definitions  . . . . . . . . . . . . . . . . . . .  5</td><td> </td><td class="rblock"><span class="insert">   3.</span>  Range Units  . . . . . . . . . . . . . . . . . . . . . . . . .  <span class="insert">5</span></td><td class="lineno" valign="top"></td></tr>
118      <tr><td class="lineno" valign="top"></td><td class="lblock">     <span class="delete">3.1.</span>  206 Partial Content  . . . . . . . . . . . . . . . . . . .  5</td><td> </td><td class="rblock"><span class="insert">   4.</span>  Status Code Definitions  . . . . . . . . . . . . . . . . . . .  5</td><td class="lineno" valign="top"></td></tr>
119      <tr><td class="lineno" valign="top"></td><td class="lblock">     <span class="delete">3.2.</span>  416 Requested Range Not Satisfiable  . . . . . . . . . . .  6</td><td> </td><td class="rblock">     <span class="insert">4.1.</span>  206 Partial Content  . . . . . . . . . . . . . . . . . . .  5</td><td class="lineno" valign="top"></td></tr>
120      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">4.</span>  Combining Byte Ranges  . . . . . . . . . . . . . . . . . . . .  6</td><td> </td><td class="rblock">     <span class="insert">4.2.</span>  416 Requested Range Not Satisfiable  . . . . . . . . . . .  6</td><td class="lineno" valign="top"></td></tr>
121      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">5.</span>  Header Field Definitions . . . . . . . . . . . . . . . . . . .  <span class="delete">6</span></td><td> </td><td class="rblock">   <span class="insert">5.</span>  Combining Byte Ranges  . . . . . . . . . . . . . . . . . . . .  6</td><td class="lineno" valign="top"></td></tr>
122      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">     5.1.</span>  Accept-Ranges  . . . . . . . . . . . . . . . . . . . . . .  7</td><td> </td><td class="rblock">   <span class="insert">6.</span>  Header Field Definitions . . . . . . . . . . . . . . . . . . .  <span class="insert">7</span></td><td class="lineno" valign="top"></td></tr>
123      <tr><td class="lineno" valign="top"></td><td class="lblock">     <span class="delete">5.2.</span>  Content-Range  . . . . . . . . . . . . . . . . . . . . . .  <span class="delete">7</span></td><td> </td><td class="rblock"><span class="insert">     6.1.</span>  Accept-Ranges  . . . . . . . . . . . . . . . . . . . . . .  7</td><td class="lineno" valign="top"></td></tr>
124      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">     5.3.</span>  If-Range . . . . . . . . . . . . . . . . . . . . . . . . .  <span class="delete">9</span></td><td> </td><td class="rblock">     <span class="insert">6.2.</span>  Content-Range  . . . . . . . . . . . . . . . . . . . . . .  <span class="insert">8</span></td><td class="lineno" valign="top"></td></tr>
125      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">     5.4.</span>  Range  . . . . . . . . . . . . . . . . . . . . . . . . . . 10</td><td> </td><td class="rblock"><span class="insert">     6.3.</span>  If-Range . . . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">10</span></td><td class="lineno" valign="top"></td></tr>
126      <tr><td class="lineno" valign="top"></td><td class="lblock">       <span class="delete">5.4.1.</span>  Byte Ranges  . . . . . . . . . . . . . . . . . . . . . 10</td><td> </td><td class="rblock"><span class="insert">     6.4.</span>  Range  . . . . . . . . . . . . . . . . . . . . . . . . . . 10</td><td class="lineno" valign="top"></td></tr>
127      <tr><td class="lineno" valign="top"></td><td class="lblock">       <span class="delete">5.4.2.</span>  Range Retrieval Requests . . . . . . . . . . . . . . . 12</td><td> </td><td class="rblock">       <span class="insert">6.4.1.</span>  Byte Ranges  . . . . . . . . . . . . . . . . . . . . . 10</td><td class="lineno" valign="top"></td></tr>
128      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">6.</span>  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . <span class="delete">12</span></td><td> </td><td class="rblock">       <span class="insert">6.4.2.</span>  Range Retrieval Requests . . . . . . . . . . . . . . . 12</td><td class="lineno" valign="top"></td></tr>
129      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   7.</span>  Security Considerations  . . . . . . . . . . . . . . . . . . . 13</td><td> </td><td class="rblock">   <span class="insert">7.</span>  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . <span class="insert">13</span></td><td class="lineno" valign="top"></td></tr>
130      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">8.</span>  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 13</td><td> </td><td class="rblock"><span class="insert">   8.</span>  Security Considerations  . . . . . . . . . . . . . . . . . . . 13</td><td class="lineno" valign="top"></td></tr>
131      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">9.</span>  References . . . . . . . . . . . . . . . . . . . . . . . . . . 13</td><td> </td><td class="rblock">   <span class="insert">9.</span>  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 13</td><td class="lineno" valign="top"></td></tr>
132      <tr><td class="lineno" valign="top"></td><td class="lblock">     <span class="delete">9.1.</span>  Normative References . . . . . . . . . . . . . . . . . . . 13</td><td> </td><td class="rblock">   <span class="insert">10.</span> References . . . . . . . . . . . . . . . . . . . . . . . . . . 13</td><td class="lineno" valign="top"></td></tr>
133      <tr><td class="lineno" valign="top"></td><td class="lblock">     <span class="delete">9.2.</span>  Informative References . . . . . . . . . . . . . . . . . . 14</td><td> </td><td class="rblock">     <span class="insert">10.1.</span> Normative References . . . . . . . . . . . . . . . . . . . 13</td><td class="lineno" valign="top"></td></tr>
134      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">     <span class="insert">10.2.</span> Informative References . . . . . . . . . . . . . . . . . . 14</td><td class="lineno" valign="top"></td></tr>
135      <tr><td class="lineno" valign="top"></td><td class="left">   Appendix A.  Internet Media Type multipart/byteranges  . . . . . . 14</td><td> </td><td class="right">   Appendix A.  Internet Media Type multipart/byteranges  . . . . . . 14</td><td class="lineno" valign="top"></td></tr>
136      <tr><td><a name="diff0006" /></td></tr>
137      <tr><td class="lineno" valign="top"></td><td class="lblock">   Appendix B.  Compatibility with Previous Versions  . . . . . . . . <span class="delete">15</span></td><td> </td><td class="rblock">   Appendix B.  Compatibility with Previous Versions  . . . . . . . . <span class="insert">16</span></td><td class="lineno" valign="top"></td></tr>
138      <tr><td class="lineno" valign="top"></td><td class="lblock">     B.1.  Changes from RFC 2068  . . . . . . . . . . . . . . . . . . <span class="delete">15</span></td><td> </td><td class="rblock">     B.1.  Changes from RFC 2068  . . . . . . . . . . . . . . . . . . <span class="insert">16</span></td><td class="lineno" valign="top"></td></tr>
139      <tr><td class="lineno" valign="top"></td><td class="lblock">     B.2.  Changes from RFC 2616  . . . . . . . . . . . . . . . . . . <span class="delete">16</span></td><td> </td><td class="rblock">     B.2.  Changes from RFC 2616  . . . . . . . . . . . . . . . . . . <span class="insert">17</span></td><td class="lineno" valign="top"></td></tr>
140      <tr><td class="lineno" valign="top"></td><td class="left">   Appendix C.  Change Log (to be removed by RFC Editor before</td><td> </td><td class="right">   Appendix C.  Change Log (to be removed by RFC Editor before</td><td class="lineno" valign="top"></td></tr>
141      <tr><td><a name="diff0007" /></td></tr>
142      <tr><td class="lineno" valign="top"></td><td class="lblock">                publication)  . . . . . . . . . . . . . . . . . . . . <span class="delete">16</span></td><td> </td><td class="rblock">                publication)  . . . . . . . . . . . . . . . . . . . . <span class="insert">17</span></td><td class="lineno" valign="top"></td></tr>
143      <tr><td class="lineno" valign="top"></td><td class="lblock">     C.1.  Since RFC2616  . . . . . . . . . . . . . . . . . . . . . . <span class="delete">16</span></td><td> </td><td class="rblock">     C.1.  Since RFC2616  . . . . . . . . . . . . . . . . . . . . . . <span class="insert">17</span></td><td class="lineno" valign="top"></td></tr>
144      <tr><td class="lineno" valign="top"></td><td class="lblock">     C.2.  Since draft-ietf-httpbis-p5-range-00 . . . . . . . . . . . <span class="delete">16</span></td><td> </td><td class="rblock">     C.2.  Since draft-ietf-httpbis-p5-range-00 . . . . . . . . . . . <span class="insert">17</span></td><td class="lineno" valign="top"></td></tr>
145      <tr><td class="lineno" valign="top"></td><td class="lblock">   Index  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">16</span></td><td> </td><td class="rblock"><span class="insert">     C.3.  Since draft-ietf-httpbis-p5-range-01 . . . . . . . . . . . 17</span></td><td class="lineno" valign="top"></td></tr>
146      <tr><td class="lineno" valign="top"></td><td class="lblock">   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">18</span></td><td> </td><td class="rblock">   Index  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">18</span></td><td class="lineno" valign="top"></td></tr>
147      <tr><td class="lineno" valign="top"></td><td class="lblock">   Intellectual Property and Copyright Statements . . . . . . . . . . <span class="delete">21</span></td><td> </td><td class="rblock">   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">19</span></td><td class="lineno" valign="top"></td></tr>
148      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">   Intellectual Property and Copyright Statements . . . . . . . . . . <span class="insert">22</span></td><td class="lineno" valign="top"></td></tr>
149      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
150      <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>
151      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
152      <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>
153      <tr><td class="lineno" valign="top"></td><td class="left">   of cancelled requests or dropped connections.  When a cache has</td><td> </td><td class="right">   of cancelled requests or dropped connections.  When a cache has</td><td class="lineno" valign="top"></td></tr>
154      <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>
155      <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>
156      <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>
157      <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>
158      <tr><td class="lineno" valign="top"></td><td class="left">   a larger representation, such as a single page of a very large</td><td> </td><td class="right">   a larger representation, such as a single page of a very large</td><td class="lineno" valign="top"></td></tr>
159      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
160      <tr bgcolor="gray" ><td></td><th><a name="part-l4" /><small>skipping to change at</small><em> page 4, line 45</em></th><th> </th><th><a name="part-r4" /><small>skipping to change at</small><em> page 4, line 45</em></th><td></td></tr>
161      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
162      <tr><td class="lineno" valign="top"></td><td class="left">   An implementation is not compliant if it fails to satisfy one or more</td><td> </td><td class="right">   An implementation is not compliant if it fails to satisfy one or more</td><td class="lineno" valign="top"></td></tr>
163      <tr><td class="lineno" valign="top"></td><td class="left">   of the MUST or REQUIRED level requirements for the protocols it</td><td> </td><td class="right">   of the MUST or REQUIRED level requirements for the protocols it</td><td class="lineno" valign="top"></td></tr>
164      <tr><td class="lineno" valign="top"></td><td class="left">   implements.  An implementation that satisfies all the MUST or</td><td> </td><td class="right">   implements.  An implementation that satisfies all the MUST or</td><td class="lineno" valign="top"></td></tr>
165      <tr><td class="lineno" valign="top"></td><td class="left">   REQUIRED level and all the SHOULD level requirements for its</td><td> </td><td class="right">   REQUIRED level and all the SHOULD level requirements for its</td><td class="lineno" valign="top"></td></tr>
166      <tr><td class="lineno" valign="top"></td><td class="left">   protocols is said to be "unconditionally compliant"; one that</td><td> </td><td class="right">   protocols is said to be "unconditionally compliant"; one that</td><td class="lineno" valign="top"></td></tr>
167      <tr><td class="lineno" valign="top"></td><td class="left">   satisfies all the MUST level requirements but not all the SHOULD</td><td> </td><td class="right">   satisfies all the MUST level requirements but not all the SHOULD</td><td class="lineno" valign="top"></td></tr>
168      <tr><td class="lineno" valign="top"></td><td class="left">   level requirements for its protocols is said to be "conditionally</td><td> </td><td class="right">   level requirements for its protocols is said to be "conditionally</td><td class="lineno" valign="top"></td></tr>
169      <tr><td class="lineno" valign="top"></td><td class="left">   compliant."</td><td> </td><td class="right">   compliant."</td><td class="lineno" valign="top"></td></tr>
170      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
171      <tr><td><a name="diff0008" /></td></tr>
172      <tr><td class="lineno" valign="top"></td><td class="lblock">2.  Range Units</td><td> </td><td class="rblock">2.  <span class="insert">Notational Conventions and Generic Grammar</span></td><td class="lineno" valign="top"></td></tr>
173      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
174      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   This specification uses the ABNF syntax defined in Section 2.1 of</span></td><td class="lineno" valign="top"></td></tr>
175      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   [Part1] and the core rules defined in Section 2.2 of [Part1]:</span></td><td class="lineno" valign="top"></td></tr>
176      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   [[abnf.dep: ABNF syntax and basic rules will be adopted from RFC</span></td><td class="lineno" valign="top"></td></tr>
177      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   5234, see &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/36&gt;.]]</span></td><td class="lineno" valign="top"></td></tr>
178      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">     DIGIT      = &lt;DIGIT, defined in [Part1], Section 2.2&gt;</span></td><td class="lineno" valign="top"></td></tr>
179      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">     SP         = &lt;SP, defined in [Part1], Section 2.2&gt;</span></td><td class="lineno" valign="top"></td></tr>
180      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
181      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">     token      = &lt;token, defined in [Part1], Section 2.2&gt;</span></td><td class="lineno" valign="top"></td></tr>
182      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
183      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   The ABNF rules below are defined in other parts:</span></td><td class="lineno" valign="top"></td></tr>
184      <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>
185      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">     HTTP-date  = &lt;HTTP-date, defined in [Part1], Section 3.3.1&gt;</span></td><td class="lineno" valign="top"></td></tr>
186      <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>
187      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">     entity-tag = &lt;entity-tag, defined in [Part4], Section 3&gt;</span></td><td class="lineno" valign="top"></td></tr>
188      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
189      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">3.</span>  Range Units</td><td class="lineno" valign="top"></td></tr>
190      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
191      <tr><td class="lineno" valign="top"></td><td class="left">   HTTP/1.1 allows a client to request that only part (a range of) the</td><td> </td><td class="right">   HTTP/1.1 allows a client to request that only part (a range of) the</td><td class="lineno" valign="top"></td></tr>
192      <tr><td class="lineno" valign="top"></td><td class="left">   response entity be included within the response.  HTTP/1.1 uses range</td><td> </td><td class="right">   response entity be included within the response.  HTTP/1.1 uses range</td><td class="lineno" valign="top"></td></tr>
193      <tr><td><a name="diff0009" /></td></tr>
194      <tr><td class="lineno" valign="top"></td><td class="lblock">   units in the Range (Section <span class="delete">5.4) and Content-Range (Section 5</span>.2)</td><td> </td><td class="rblock">   units in the Range (Section <span class="insert">6.4) and Content-Range (Section 6</span>.2)</td><td class="lineno" valign="top"></td></tr>
195      <tr><td class="lineno" valign="top"></td><td class="left">   header fields.  An entity can be broken down into subranges according</td><td> </td><td class="right">   header fields.  An entity can be broken down into subranges according</td><td class="lineno" valign="top"></td></tr>
196      <tr><td class="lineno" valign="top"></td><td class="left">   to various structural units.</td><td> </td><td class="right">   to various structural units.</td><td class="lineno" valign="top"></td></tr>
197      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
198      <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>
199      <tr><td class="lineno" valign="top"></td><td class="left">     bytes-unit       = "bytes"</td><td> </td><td class="right">     bytes-unit       = "bytes"</td><td class="lineno" valign="top"></td></tr>
200      <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>
201      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
202      <tr><td class="lineno" valign="top"></td><td class="left">   The only range unit defined by HTTP/1.1 is "bytes".  HTTP/1.1</td><td> </td><td class="right">   The only range unit defined by HTTP/1.1 is "bytes".  HTTP/1.1</td><td class="lineno" valign="top"></td></tr>
203      <tr><td class="lineno" valign="top"></td><td class="left">   implementations MAY ignore ranges specified using other units.</td><td> </td><td class="right">   implementations MAY ignore ranges specified using other units.</td><td class="lineno" valign="top"></td></tr>
204      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
205      <tr><td class="lineno" valign="top"></td><td class="left">   HTTP/1.1 has been designed to allow implementations of applications</td><td> </td><td class="right">   HTTP/1.1 has been designed to allow implementations of applications</td><td class="lineno" valign="top"></td></tr>
206      <tr><td class="lineno" valign="top"></td><td class="left">   that do not depend on knowledge of ranges.</td><td> </td><td class="right">   that do not depend on knowledge of ranges.</td><td class="lineno" valign="top"></td></tr>
207      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
208      <tr><td><a name="diff0010" /></td></tr>
209      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">3</span>.  Status Code Definitions</td><td> </td><td class="rblock"><span class="insert">4</span>.  Status Code Definitions</td><td class="lineno" valign="top"></td></tr>
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><a name="diff0011" /></td></tr>
212      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">3</span>.1.  206 Partial Content</td><td> </td><td class="rblock"><span class="insert">4</span>.1.  206 Partial Content</td><td class="lineno" valign="top"></td></tr>
213      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
214      <tr><td class="lineno" valign="top"></td><td class="left">   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>
215      <tr><td><a name="diff0012" /></td></tr>
216      <tr><td class="lineno" valign="top"></td><td class="lblock">   The request MUST have included a Range header field (Section <span class="delete">5</span>.4)</td><td> </td><td class="rblock">   The request MUST have included a Range header field (Section <span class="insert">6</span>.4)</td><td class="lineno" valign="top"></td></tr>
217      <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>
218      <tr><td><a name="diff0013" /></td></tr>
219      <tr><td class="lineno" valign="top"></td><td class="lblock">   header field (Section <span class="delete">5</span>.3) to make the request conditional.</td><td> </td><td class="rblock">   header field (Section <span class="insert">6</span>.3) to make the request conditional.</td><td class="lineno" valign="top"></td></tr>
220      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
221      <tr><td class="lineno" valign="top"></td><td class="left">   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>
222      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
223      <tr><td><a name="diff0014" /></td></tr>
224      <tr><td class="lineno" valign="top"></td><td class="lblock">   o  Either a Content-Range header field (Section <span class="delete">5</span>.2) indicating the</td><td> </td><td class="rblock">   o  Either a Content-Range header field (Section <span class="insert">6</span>.2) indicating the</td><td class="lineno" valign="top"></td></tr>
225      <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>
226      <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>
227      <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>
228      <tr><td class="lineno" valign="top"></td><td class="left">      MUST match the actual number of OCTETs transmitted in the message-</td><td> </td><td class="right">      MUST match the actual number of OCTETs transmitted in the message-</td><td class="lineno" valign="top"></td></tr>
229      <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>
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">   o  Date</td><td> </td><td class="right">   o  Date</td><td class="lineno" valign="top"></td></tr>
232      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
233      <tr><td class="lineno" valign="top"></td><td class="left">   o  ETag and/or Content-Location, if the header would have been sent</td><td> </td><td class="right">   o  ETag and/or Content-Location, if the header would have been sent</td><td class="lineno" valign="top"></td></tr>
234      <tr><td class="lineno" valign="top"></td><td class="left">      in a 200 response to the same request</td><td> </td><td class="right">      in a 200 response to the same request</td><td class="lineno" valign="top"></td></tr>
235      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
236      <tr bgcolor="gray" ><td></td><th><a name="part-l5" /><small>skipping to change at</small><em> page 5, line 49</em></th><th> </th><th><a name="part-r5" /><small>skipping to change at</small><em> page 6, line 23</em></th><td></td></tr>
237      <tr><td class="lineno" valign="top"></td><td class="left">      differ from that sent in any previous response for the same</td><td> </td><td class="right">      differ from that sent in any previous response for the same</td><td class="lineno" valign="top"></td></tr>
238      <tr><td class="lineno" valign="top"></td><td class="left">      variant</td><td> </td><td class="right">      variant</td><td class="lineno" valign="top"></td></tr>
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">   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>
241      <tr><td class="lineno" valign="top"></td><td class="left">   response SHOULD NOT include other entity-headers.  Otherwise, the</td><td> </td><td class="right">   response SHOULD NOT include other entity-headers.  Otherwise, the</td><td class="lineno" valign="top"></td></tr>
242      <tr><td class="lineno" valign="top"></td><td class="left">   response MUST include all of the entity-headers that would have been</td><td> </td><td class="right">   response MUST include all of the entity-headers that would have been</td><td class="lineno" valign="top"></td></tr>
243      <tr><td class="lineno" valign="top"></td><td class="left">   returned with a 200 (OK) response to the same request.</td><td> </td><td class="right">   returned with a 200 (OK) response to the same request.</td><td class="lineno" valign="top"></td></tr>
244      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
245      <tr><td class="lineno" valign="top"></td><td class="left">   A cache MUST NOT combine a 206 response with other previously cached</td><td> </td><td class="right">   A cache MUST NOT combine a 206 response with other previously cached</td><td class="lineno" valign="top"></td></tr>
246      <tr><td class="lineno" valign="top"></td><td class="left">   content if the ETag or Last-Modified headers do not match exactly,</td><td> </td><td class="right">   content if the ETag or Last-Modified headers do not match exactly,</td><td class="lineno" valign="top"></td></tr>
247      <tr><td><a name="diff0015" /></td></tr>
248      <tr><td class="lineno" valign="top"></td><td class="lblock">   see Section <span class="delete">4</span>.</td><td> </td><td class="rblock">   see Section <span class="insert">5</span>.</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">   A cache that does not support the Range and Content-Range headers</td><td> </td><td class="right">   A cache that does not support the Range and Content-Range headers</td><td class="lineno" valign="top"></td></tr>
251      <tr><td class="lineno" valign="top"></td><td class="left">   MUST NOT cache 206 (Partial Content) responses.</td><td> </td><td class="right">   MUST NOT cache 206 (Partial Content) responses.</td><td class="lineno" valign="top"></td></tr>
252      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
253      <tr><td><a name="diff0016" /></td></tr>
254      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">3</span>.2.  416 Requested Range Not Satisfiable</td><td> </td><td class="rblock"><span class="insert">4</span>.2.  416 Requested Range Not Satisfiable</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">   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>
257      <tr><td><a name="diff0017" /></td></tr>
258      <tr><td class="lineno" valign="top"></td><td class="lblock">   included a Range request-header field (Section <span class="delete">5</span>.4), and none of the</td><td> </td><td class="rblock">   included a Range request-header field (Section <span class="insert">6</span>.4), and none of the</td><td class="lineno" valign="top"></td></tr>
259      <tr><td class="lineno" valign="top"></td><td class="left">   range-specifier values in this field overlap the current extent of</td><td> </td><td class="right">   range-specifier values in this field overlap the current extent of</td><td class="lineno" valign="top"></td></tr>
260      <tr><td class="lineno" valign="top"></td><td class="left">   the selected resource, and the request did not include an If-Range</td><td> </td><td class="right">   the selected resource, and the request did not include an If-Range</td><td class="lineno" valign="top"></td></tr>
261      <tr><td class="lineno" valign="top"></td><td class="left">   request-header field.  (For byte-ranges, this means that the first-</td><td> </td><td class="right">   request-header field.  (For byte-ranges, this means that the first-</td><td class="lineno" valign="top"></td></tr>
262      <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>
263      <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>
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">   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>
266      <tr><td class="lineno" valign="top"></td><td class="left">   response SHOULD include a Content-Range entity-header field</td><td> </td><td class="right">   response SHOULD include a Content-Range entity-header field</td><td class="lineno" valign="top"></td></tr>
267      <tr><td class="lineno" valign="top"></td><td class="left">   specifying the current length of the selected resource (see</td><td> </td><td class="right">   specifying the current length of the selected resource (see</td><td class="lineno" valign="top"></td></tr>
268      <tr><td><a name="diff0018" /></td></tr>
269      <tr><td class="lineno" valign="top"></td><td class="lblock">   Section <span class="delete">5</span>.2).  This response MUST NOT use the multipart/byteranges</td><td> </td><td class="rblock">   Section <span class="insert">6</span>.2).  This response MUST NOT use the multipart/byteranges</td><td class="lineno" valign="top"></td></tr>
270      <tr><td class="lineno" valign="top"></td><td class="left">   content-type.</td><td> </td><td class="right">   content-type.</td><td class="lineno" valign="top"></td></tr>
271      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
272      <tr><td><a name="diff0019" /></td></tr>
273      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">4</span>.  Combining Byte Ranges</td><td> </td><td class="rblock"><span class="insert">5</span>.  Combining Byte Ranges</td><td class="lineno" valign="top"></td></tr>
274      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
275      <tr><td class="lineno" valign="top"></td><td class="left">   A response might transfer only a subrange of the bytes of an entity-</td><td> </td><td class="right">   A response might transfer only a subrange of the bytes of an entity-</td><td class="lineno" valign="top"></td></tr>
276      <tr><td class="lineno" valign="top"></td><td class="left">   body, either because the request included one or more Range</td><td> </td><td class="right">   body, either because the request included one or more Range</td><td class="lineno" valign="top"></td></tr>
277      <tr><td class="lineno" valign="top"></td><td class="left">   specifications, or because a connection was broken prematurely.</td><td> </td><td class="right">   specifications, or because a connection was broken prematurely.</td><td class="lineno" valign="top"></td></tr>
278      <tr><td class="lineno" valign="top"></td><td class="left">   After several such transfers, a cache might have received several</td><td> </td><td class="right">   After several such transfers, a cache might have received several</td><td class="lineno" valign="top"></td></tr>
279      <tr><td class="lineno" valign="top"></td><td class="left">   ranges of the same entity-body.</td><td> </td><td class="right">   ranges of the same entity-body.</td><td class="lineno" valign="top"></td></tr>
280      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
281      <tr><td class="lineno" valign="top"></td><td class="left">   If a cache has a stored non-empty set of subranges for an entity, and</td><td> </td><td class="right">   If a cache has a stored non-empty set of subranges for an entity, and</td><td class="lineno" valign="top"></td></tr>
282      <tr><td class="lineno" valign="top"></td><td class="left">   an incoming response transfers another subrange, the cache MAY</td><td> </td><td class="right">   an incoming response transfers another subrange, the cache MAY</td><td class="lineno" valign="top"></td></tr>
283      <tr><td class="lineno" valign="top"></td><td class="left">   combine the new subrange with the existing set if both the following</td><td> </td><td class="right">   combine the new subrange with the existing set if both the following</td><td class="lineno" valign="top"></td></tr>
284      <tr><td class="lineno" valign="top"></td><td class="left">   conditions are met:</td><td> </td><td class="right">   conditions are met:</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  Both the incoming response and the cache entry have a cache</td><td> </td><td class="right">   o  Both the incoming response and the cache entry have a cache</td><td class="lineno" valign="top"></td></tr>
287      <tr><td class="lineno" valign="top"></td><td class="left">      validator.</td><td> </td><td class="right">      validator.</td><td class="lineno" valign="top"></td></tr>
288      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
289      <tr><td class="lineno" valign="top"></td><td class="left">   o  The two cache validators match using the strong comparison</td><td> </td><td class="right">   o  The two cache validators match using the strong comparison</td><td class="lineno" valign="top"></td></tr>
290      <tr><td><a name="diff0020" /></td></tr>
291      <tr><td class="lineno" valign="top"></td><td class="lblock">      function (see Section <span class="delete">4</span> of [Part4]).</td><td> </td><td class="rblock">      function (see Section <span class="insert">5</span> of [Part4]).</td><td class="lineno" valign="top"></td></tr>
292      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
293      <tr><td class="lineno" valign="top"></td><td class="left">   If either requirement is not met, the cache MUST use only the most</td><td> </td><td class="right">   If either requirement is not met, the cache MUST use only the most</td><td class="lineno" valign="top"></td></tr>
294      <tr><td class="lineno" valign="top"></td><td class="left">   recent partial response (based on the Date values transmitted with</td><td> </td><td class="right">   recent partial response (based on the Date values transmitted with</td><td class="lineno" valign="top"></td></tr>
295      <tr><td class="lineno" valign="top"></td><td class="left">   every response, and using the incoming response if these values are</td><td> </td><td class="right">   every response, and using the incoming response if these values are</td><td class="lineno" valign="top"></td></tr>
296      <tr><td class="lineno" valign="top"></td><td class="left">   equal or missing), and MUST discard the other partial information.</td><td> </td><td class="right">   equal or missing), and MUST discard the other partial information.</td><td class="lineno" valign="top"></td></tr>
297      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
298      <tr><td><a name="diff0021" /></td></tr>
299      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">5</span>.  Header Field Definitions</td><td> </td><td class="rblock"><span class="insert">6</span>.  Header Field Definitions</td><td class="lineno" valign="top"></td></tr>
300      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
301      <tr><td class="lineno" valign="top"></td><td class="left">   This section defines the syntax and semantics of HTTP/1.1 header</td><td> </td><td class="right">   This section defines the syntax and semantics of HTTP/1.1 header</td><td class="lineno" valign="top"></td></tr>
302      <tr><td class="lineno" valign="top"></td><td class="left">   fields related to range requests and partial responses.</td><td> </td><td class="right">   fields related to range requests and partial responses.</td><td class="lineno" valign="top"></td></tr>
303      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
304      <tr><td class="lineno" valign="top"></td><td class="left">   For entity-header fields, both sender and recipient refer to either</td><td> </td><td class="right">   For entity-header fields, both sender and recipient refer to either</td><td class="lineno" valign="top"></td></tr>
305      <tr><td class="lineno" valign="top"></td><td class="left">   the client or the server, depending on who sends and who receives the</td><td> </td><td class="right">   the client or the server, depending on who sends and who receives the</td><td class="lineno" valign="top"></td></tr>
306      <tr><td class="lineno" valign="top"></td><td class="left">   entity.</td><td> </td><td class="right">   entity.</td><td class="lineno" valign="top"></td></tr>
307      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
308      <tr><td><a name="diff0022" /></td></tr>
309      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">5</span>.1.  Accept-Ranges</td><td> </td><td class="rblock"><span class="insert">6</span>.1.  Accept-Ranges</td><td class="lineno" valign="top"></td></tr>
310      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
311      <tr><td class="lineno" valign="top"></td><td class="left">   The Accept-Ranges response-header field allows the server to indicate</td><td> </td><td class="right">   The Accept-Ranges response-header field allows the server to indicate</td><td class="lineno" valign="top"></td></tr>
312      <tr><td class="lineno" valign="top"></td><td class="left">   its acceptance of range requests for a resource:</td><td> </td><td class="right">   its acceptance of range requests for a resource:</td><td class="lineno" valign="top"></td></tr>
313      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
314      <tr><td class="lineno" valign="top"></td><td class="left">     Accept-Ranges     = "Accept-Ranges" ":" acceptable-ranges</td><td> </td><td class="right">     Accept-Ranges     = "Accept-Ranges" ":" acceptable-ranges</td><td class="lineno" valign="top"></td></tr>
315      <tr><td class="lineno" valign="top"></td><td class="left">     acceptable-ranges = 1#range-unit | "none"</td><td> </td><td class="right">     acceptable-ranges = 1#range-unit | "none"</td><td class="lineno" valign="top"></td></tr>
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 class="lineno" valign="top"></td><td class="left">   Origin servers that accept byte-range requests MAY send</td><td> </td><td class="right">   Origin servers that accept byte-range requests MAY send</td><td class="lineno" valign="top"></td></tr>
318      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
319      <tr><td class="lineno" valign="top"></td><td class="left">          Accept-Ranges: bytes</td><td> </td><td class="right">          Accept-Ranges: bytes</td><td class="lineno" valign="top"></td></tr>
320      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
321      <tr><td class="lineno" valign="top"></td><td class="left">   but are not required to do so.  Clients MAY generate byte-range</td><td> </td><td class="right">   but are not required to do so.  Clients MAY generate byte-range</td><td class="lineno" valign="top"></td></tr>
322      <tr><td class="lineno" valign="top"></td><td class="left">   requests without having received this header for the resource</td><td> </td><td class="right">   requests without having received this header for the resource</td><td class="lineno" valign="top"></td></tr>
323      <tr><td><a name="diff0023" /></td></tr>
324      <tr><td class="lineno" valign="top"></td><td class="lblock">   involved.  Range units are defined in Section <span class="delete">2</span>.</td><td> </td><td class="rblock">   involved.  Range units are defined in Section <span class="insert">3</span>.</td><td class="lineno" valign="top"></td></tr>
325      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
326      <tr><td class="lineno" valign="top"></td><td class="left">   Servers that do not accept any kind of range request for a resource</td><td> </td><td class="right">   Servers that do not accept any kind of range request for a resource</td><td class="lineno" valign="top"></td></tr>
327      <tr><td class="lineno" valign="top"></td><td class="left">   MAY send</td><td> </td><td class="right">   MAY send</td><td class="lineno" valign="top"></td></tr>
328      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
329      <tr><td class="lineno" valign="top"></td><td class="left">          Accept-Ranges: none</td><td> </td><td class="right">          Accept-Ranges: none</td><td class="lineno" valign="top"></td></tr>
330      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
331      <tr><td class="lineno" valign="top"></td><td class="left">   to advise the client not to attempt a range request.</td><td> </td><td class="right">   to advise the client not to attempt a range request.</td><td class="lineno" valign="top"></td></tr>
332      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
333      <tr><td><a name="diff0024" /></td></tr>
334      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">5</span>.2.  Content-Range</td><td> </td><td class="rblock"><span class="insert">6</span>.2.  Content-Range</td><td class="lineno" valign="top"></td></tr>
335      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
336      <tr><td class="lineno" valign="top"></td><td class="left">   The Content-Range entity-header is sent with a partial entity-body to</td><td> </td><td class="right">   The Content-Range entity-header is sent with a partial entity-body to</td><td class="lineno" valign="top"></td></tr>
337      <tr><td class="lineno" valign="top"></td><td class="left">   specify where in the full entity-body the partial body should be</td><td> </td><td class="right">   specify where in the full entity-body the partial body should be</td><td class="lineno" valign="top"></td></tr>
338      <tr><td><a name="diff0025" /></td></tr>
339      <tr><td class="lineno" valign="top"></td><td class="lblock">   applied.  Range units are defined in Section <span class="delete">2</span>.</td><td> </td><td class="rblock">   applied.  Range units are defined in Section <span class="insert">3</span>.</td><td class="lineno" valign="top"></td></tr>
340      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
341      <tr><td class="lineno" valign="top"></td><td class="left">     Content-Range = "Content-Range" ":" content-range-spec</td><td> </td><td class="right">     Content-Range = "Content-Range" ":" content-range-spec</td><td class="lineno" valign="top"></td></tr>
342      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
343      <tr><td class="lineno" valign="top"></td><td class="left">     content-range-spec      = byte-content-range-spec</td><td> </td><td class="right">     content-range-spec      = byte-content-range-spec</td><td class="lineno" valign="top"></td></tr>
344      <tr><td class="lineno" valign="top"></td><td class="left">     byte-content-range-spec = bytes-unit SP</td><td> </td><td class="right">     byte-content-range-spec = bytes-unit SP</td><td class="lineno" valign="top"></td></tr>
345      <tr><td class="lineno" valign="top"></td><td class="left">                               byte-range-resp-spec "/"</td><td> </td><td class="right">                               byte-range-resp-spec "/"</td><td class="lineno" valign="top"></td></tr>
346      <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>
347      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
348      <tr><td class="lineno" 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>
349      <tr><td class="lineno" valign="top"></td><td class="left">                                    | "*"</td><td> </td><td class="right">                                    | "*"</td><td class="lineno" valign="top"></td></tr>
350      <tr><td class="lineno" valign="top"></td><td class="left">     instance-length           = 1*DIGIT</td><td> </td><td class="right">     instance-length           = 1*DIGIT</td><td class="lineno" valign="top"></td></tr>
351      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
352      <tr><td class="lineno" valign="top"></td><td class="left">   The header SHOULD indicate the total length of the full entity-body,</td><td> </td><td class="right">   The header SHOULD indicate the total length of the full entity-body,</td><td class="lineno" valign="top"></td></tr>
353      <tr><td class="lineno" valign="top"></td><td class="left">   unless this length is unknown or difficult to determine.  The</td><td> </td><td class="right">   unless this length is unknown or difficult to determine.  The</td><td class="lineno" valign="top"></td></tr>
354      <tr><td class="lineno" valign="top"></td><td class="left">   asterisk "*" character means that the instance-length is unknown at</td><td> </td><td class="right">   asterisk "*" character means that the instance-length is unknown at</td><td class="lineno" valign="top"></td></tr>
355      <tr><td class="lineno" valign="top"></td><td class="left">   the time when the response was generated.</td><td> </td><td class="right">   the time when the response was generated.</td><td class="lineno" valign="top"></td></tr>
356      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
357      <tr><td><a name="diff0026" /></td></tr>
358      <tr><td class="lineno" valign="top"></td><td class="lblock">   Unlike byte-ranges-specifier values (see Section <span class="delete">5</span>.4.1), a byte-</td><td> </td><td class="rblock">   Unlike byte-ranges-specifier values (see Section <span class="insert">6</span>.4.1), a byte-</td><td class="lineno" valign="top"></td></tr>
359      <tr><td class="lineno" valign="top"></td><td class="left">   range-resp-spec MUST only specify one range, and MUST contain</td><td> </td><td class="right">   range-resp-spec MUST only specify one range, and MUST contain</td><td class="lineno" valign="top"></td></tr>
360      <tr><td class="lineno" valign="top"></td><td class="left">   absolute byte positions for both the first and last byte of the</td><td> </td><td class="right">   absolute byte positions for both the first and last byte of the</td><td class="lineno" valign="top"></td></tr>
361      <tr><td class="lineno" valign="top"></td><td class="left">   range.</td><td> </td><td class="right">   range.</td><td class="lineno" valign="top"></td></tr>
362      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
363      <tr><td class="lineno" valign="top"></td><td class="left">   A byte-content-range-spec with a byte-range-resp-spec whose last-</td><td> </td><td class="right">   A byte-content-range-spec with a byte-range-resp-spec whose last-</td><td class="lineno" valign="top"></td></tr>
364      <tr><td class="lineno" valign="top"></td><td class="left">   byte-pos value is less than its first-byte-pos value, or whose</td><td> </td><td class="right">   byte-pos value is less than its first-byte-pos value, or whose</td><td class="lineno" valign="top"></td></tr>
365      <tr><td class="lineno" valign="top"></td><td class="left">   instance-length value is less than or equal to its last-byte-pos</td><td> </td><td class="right">   instance-length value is less than or equal to its last-byte-pos</td><td class="lineno" valign="top"></td></tr>
366      <tr><td class="lineno" valign="top"></td><td class="left">   value, is invalid.  The recipient of an invalid byte-content-range-</td><td> </td><td class="right">   value, is invalid.  The recipient of an invalid byte-content-range-</td><td class="lineno" valign="top"></td></tr>
367      <tr><td class="lineno" valign="top"></td><td class="left">   spec MUST ignore it and any content transferred along with it.</td><td> </td><td class="right">   spec MUST ignore it and any content transferred along with it.</td><td class="lineno" valign="top"></td></tr>
368      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
369      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
370      <tr bgcolor="gray" ><td></td><th><a name="part-l6" /><small>skipping to change at</small><em> page 9, line 33</em></th><th> </th><th><a name="part-r6" /><small>skipping to change at</small><em> page 10, line 8</em></th><td></td></tr>
371      <tr><td class="lineno" valign="top"></td><td class="left">   If the server ignores a byte-range-spec because it is syntactically</td><td> </td><td class="right">   If the server ignores a byte-range-spec because it is syntactically</td><td class="lineno" valign="top"></td></tr>
372      <tr><td class="lineno" valign="top"></td><td class="left">   invalid, the server SHOULD treat the request as if the invalid Range</td><td> </td><td class="right">   invalid, the server SHOULD treat the request as if the invalid Range</td><td class="lineno" valign="top"></td></tr>
373      <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>
374      <tr><td class="lineno" valign="top"></td><td class="left">   response containing the full entity).</td><td> </td><td class="right">   response containing the full entity).</td><td class="lineno" valign="top"></td></tr>
375      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
376      <tr><td class="lineno" valign="top"></td><td class="left">   If the server receives a request (other than one including an If-</td><td> </td><td class="right">   If the server receives a request (other than one including an If-</td><td class="lineno" valign="top"></td></tr>
377      <tr><td class="lineno" valign="top"></td><td class="left">   Range request-header field) with an unsatisfiable Range request-</td><td> </td><td class="right">   Range request-header field) with an unsatisfiable Range request-</td><td class="lineno" valign="top"></td></tr>
378      <tr><td class="lineno" valign="top"></td><td class="left">   header field (that is, all of whose byte-range-spec values have a</td><td> </td><td class="right">   header field (that is, all of whose byte-range-spec values have a</td><td class="lineno" valign="top"></td></tr>
379      <tr><td class="lineno" valign="top"></td><td class="left">   first-byte-pos value greater than the current length of the selected</td><td> </td><td class="right">   first-byte-pos value greater than the current length of the selected</td><td class="lineno" valign="top"></td></tr>
380      <tr><td class="lineno" valign="top"></td><td class="left">   resource), it SHOULD return a response code of 416 (Requested range</td><td> </td><td class="right">   resource), it SHOULD return a response code of 416 (Requested range</td><td class="lineno" valign="top"></td></tr>
381      <tr><td><a name="diff0027" /></td></tr>
382      <tr><td class="lineno" valign="top"></td><td class="lblock">   not satisfiable) (Section <span class="delete">3</span>.2).</td><td> </td><td class="rblock">   not satisfiable) (Section <span class="insert">4</span>.2).</td><td class="lineno" valign="top"></td></tr>
383      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
384      <tr><td class="lineno" valign="top"></td><td class="left">      Note: clients cannot depend on servers to send a 416 (Requested</td><td> </td><td class="right">      Note: clients cannot depend on servers to send a 416 (Requested</td><td class="lineno" valign="top"></td></tr>
385      <tr><td class="lineno" valign="top"></td><td class="left">      range not satisfiable) response instead of a 200 (OK) response for</td><td> </td><td class="right">      range not satisfiable) response instead of a 200 (OK) response for</td><td class="lineno" valign="top"></td></tr>
386      <tr><td class="lineno" valign="top"></td><td class="left">      an unsatisfiable Range request-header, since not all servers</td><td> </td><td class="right">      an unsatisfiable Range request-header, since not all servers</td><td class="lineno" valign="top"></td></tr>
387      <tr><td class="lineno" valign="top"></td><td class="left">      implement this request-header.</td><td> </td><td class="right">      implement this request-header.</td><td class="lineno" valign="top"></td></tr>
388      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
389      <tr><td><a name="diff0028" /></td></tr>
390      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">5</span>.3.  If-Range</td><td> </td><td class="rblock"><span class="insert">6</span>.3.  If-Range</td><td class="lineno" valign="top"></td></tr>
391      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
392      <tr><td class="lineno" valign="top"></td><td class="left">   If a client has a partial copy of an entity in its cache, and wishes</td><td> </td><td class="right">   If a client has a partial copy of an entity in its cache, and wishes</td><td class="lineno" valign="top"></td></tr>
393      <tr><td class="lineno" valign="top"></td><td class="left">   to have an up-to-date copy of the entire entity in its cache, it</td><td> </td><td class="right">   to have an up-to-date copy of the entire entity in its cache, it</td><td class="lineno" valign="top"></td></tr>
394      <tr><td class="lineno" valign="top"></td><td class="left">   could use the Range request-header with a conditional GET (using</td><td> </td><td class="right">   could use the Range request-header with a conditional GET (using</td><td class="lineno" valign="top"></td></tr>
395      <tr><td class="lineno" valign="top"></td><td class="left">   either or both of If-Unmodified-Since and If-Match.)  However, if the</td><td> </td><td class="right">   either or both of If-Unmodified-Since and If-Match.)  However, if the</td><td class="lineno" valign="top"></td></tr>
396      <tr><td class="lineno" valign="top"></td><td class="left">   condition fails because the entity has been modified, the client</td><td> </td><td class="right">   condition fails because the entity has been modified, the client</td><td class="lineno" valign="top"></td></tr>
397      <tr><td class="lineno" valign="top"></td><td class="left">   would then have to make a second request to obtain the entire current</td><td> </td><td class="right">   would then have to make a second request to obtain the entire current</td><td class="lineno" valign="top"></td></tr>
398      <tr><td class="lineno" valign="top"></td><td class="left">   entity-body.</td><td> </td><td class="right">   entity-body.</td><td class="lineno" valign="top"></td></tr>
399      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
400      <tr><td class="lineno" valign="top"></td><td class="left">   The If-Range header allows a client to "short-circuit" the second</td><td> </td><td class="right">   The If-Range header allows a client to "short-circuit" the second</td><td class="lineno" valign="top"></td></tr>
401      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
402      <tr bgcolor="gray" ><td></td><th><a name="part-l7" /><small>skipping to change at</small><em> page 10, line 23</em></th><th> </th><th><a name="part-r7" /><small>skipping to change at</small><em> page 10, line 46</em></th><td></td></tr>
403      <tr><td class="lineno" valign="top"></td><td class="left">   header SHOULD only be used together with a Range header, and MUST be</td><td> </td><td class="right">   header SHOULD only be used together with a Range header, and MUST be</td><td class="lineno" valign="top"></td></tr>
404      <tr><td class="lineno" valign="top"></td><td class="left">   ignored if the request does not include a Range header, or if the</td><td> </td><td class="right">   ignored if the request does not include a Range header, or if the</td><td class="lineno" valign="top"></td></tr>
405      <tr><td class="lineno" valign="top"></td><td class="left">   server does not support the sub-range operation.</td><td> </td><td class="right">   server does not support the sub-range operation.</td><td class="lineno" valign="top"></td></tr>
406      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
407      <tr><td class="lineno" valign="top"></td><td class="left">   If the entity tag given in the If-Range header matches the current</td><td> </td><td class="right">   If the entity tag given in the If-Range header matches the current</td><td class="lineno" valign="top"></td></tr>
408      <tr><td class="lineno" valign="top"></td><td class="left">   entity tag for the entity, then the server SHOULD provide the</td><td> </td><td class="right">   entity tag for the entity, then the server SHOULD provide the</td><td class="lineno" valign="top"></td></tr>
409      <tr><td class="lineno" valign="top"></td><td class="left">   specified sub-range of the entity using a 206 (Partial Content)</td><td> </td><td class="right">   specified sub-range of the entity using a 206 (Partial Content)</td><td class="lineno" valign="top"></td></tr>
410      <tr><td class="lineno" valign="top"></td><td class="left">   response.  If the entity tag does not match, then the server SHOULD</td><td> </td><td class="right">   response.  If the entity tag does not match, then the server SHOULD</td><td class="lineno" valign="top"></td></tr>
411      <tr><td class="lineno" valign="top"></td><td class="left">   return the entire entity using a 200 (OK) response.</td><td> </td><td class="right">   return the entire entity using a 200 (OK) response.</td><td class="lineno" valign="top"></td></tr>
412      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
413      <tr><td><a name="diff0029" /></td></tr>
414      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">5</span>.4.  Range</td><td> </td><td class="rblock"><span class="insert">6</span>.4.  Range</td><td class="lineno" valign="top"></td></tr>
415      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
416      <tr><td><a name="diff0030" /></td></tr>
417      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">5</span>.4.1.  Byte Ranges</td><td> </td><td class="rblock"><span class="insert">6</span>.4.1.  Byte Ranges</td><td class="lineno" valign="top"></td></tr>
418      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
419      <tr><td class="lineno" valign="top"></td><td class="left">   Since all HTTP entities are represented in HTTP messages as sequences</td><td> </td><td class="right">   Since all HTTP entities are represented in HTTP messages as sequences</td><td class="lineno" valign="top"></td></tr>
420      <tr><td class="lineno" valign="top"></td><td class="left">   of bytes, the concept of a byte range is meaningful for any HTTP</td><td> </td><td class="right">   of bytes, the concept of a byte range is meaningful for any HTTP</td><td class="lineno" valign="top"></td></tr>
421      <tr><td class="lineno" valign="top"></td><td class="left">   entity.  (However, not all clients and servers need to support byte-</td><td> </td><td class="right">   entity.  (However, not all clients and servers need to support byte-</td><td class="lineno" valign="top"></td></tr>
422      <tr><td class="lineno" valign="top"></td><td class="left">   range operations.)</td><td> </td><td class="right">   range operations.)</td><td class="lineno" valign="top"></td></tr>
423      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
424      <tr><td class="lineno" valign="top"></td><td class="left">   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>
425      <tr><td class="lineno" valign="top"></td><td class="left">   the entity-body (not necessarily the same as the message-body).</td><td> </td><td class="right">   the entity-body (not necessarily the same as the message-body).</td><td class="lineno" valign="top"></td></tr>
426      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
427      <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>
428      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
429      <tr bgcolor="gray" ><td></td><th><a name="part-l8" /><small>skipping to change at</small><em> page 12, line 4</em></th><th> </th><th><a name="part-r8" /><small>skipping to change at</small><em> page 12, line 25</em></th><td></td></tr>
430      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
431      <tr><td class="lineno" valign="top"></td><td class="left">   o  The second 500 bytes (byte offsets 500-999, inclusive): bytes=500-</td><td> </td><td class="right">   o  The second 500 bytes (byte offsets 500-999, inclusive): bytes=500-</td><td class="lineno" valign="top"></td></tr>
432      <tr><td class="lineno" valign="top"></td><td class="left">      999</td><td> </td><td class="right">      999</td><td class="lineno" valign="top"></td></tr>
433      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
434      <tr><td class="lineno" valign="top"></td><td class="left">   o  The final 500 bytes (byte offsets 9500-9999, inclusive): bytes=-</td><td> </td><td class="right">   o  The final 500 bytes (byte offsets 9500-9999, inclusive): bytes=-</td><td class="lineno" valign="top"></td></tr>
435      <tr><td class="lineno" valign="top"></td><td class="left">      500</td><td> </td><td class="right">      500</td><td class="lineno" valign="top"></td></tr>
436      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
437      <tr><td class="lineno" valign="top"></td><td class="left">   o  Or bytes=9500-</td><td> </td><td class="right">   o  Or bytes=9500-</td><td class="lineno" valign="top"></td></tr>
438      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
439      <tr><td class="lineno" valign="top"></td><td class="left">   o  The first and last bytes only (bytes 0 and 9999): bytes=0-0,-1</td><td> </td><td class="right">   o  The first and last bytes only (bytes 0 and 9999): bytes=0-0,-1</td><td class="lineno" valign="top"></td></tr>
440      <tr><td><a name="diff0031" /></td></tr>
441      <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>
442      <tr><td class="lineno" valign="top"></td><td class="left">   o  Several legal but not canonical specifications of the second 500</td><td> </td><td class="right">   o  Several legal but not canonical specifications of the second 500</td><td class="lineno" valign="top"></td></tr>
443      <tr><td class="lineno" valign="top"></td><td class="left">      bytes (byte offsets 500-999, inclusive):</td><td> </td><td class="right">      bytes (byte offsets 500-999, inclusive):</td><td class="lineno" valign="top"></td></tr>
444      <tr><td class="lineno" valign="top"></td><td class="left">      bytes=500-600,601-999</td><td> </td><td class="right">      bytes=500-600,601-999</td><td class="lineno" valign="top"></td></tr>
445      <tr><td class="lineno" valign="top"></td><td class="left">      bytes=500-700,601-999</td><td> </td><td class="right">      bytes=500-700,601-999</td><td class="lineno" valign="top"></td></tr>
446      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
447      <tr><td><a name="diff0032" /></td></tr>
448      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">5</span>.4.2.  Range Retrieval Requests</td><td> </td><td class="rblock"><span class="insert">6</span>.4.2.  Range Retrieval Requests</td><td class="lineno" valign="top"></td></tr>
449      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
450      <tr><td class="lineno" valign="top"></td><td class="left">   HTTP retrieval requests using conditional or unconditional GET</td><td> </td><td class="right">   HTTP retrieval requests using conditional or unconditional GET</td><td class="lineno" valign="top"></td></tr>
451      <tr><td class="lineno" valign="top"></td><td class="left">   methods MAY request one or more sub-ranges of the entity, instead of</td><td> </td><td class="right">   methods MAY request one or more sub-ranges of the entity, instead of</td><td class="lineno" valign="top"></td></tr>
452      <tr><td class="lineno" valign="top"></td><td class="left">   the entire entity, using the Range request header, which applies to</td><td> </td><td class="right">   the entire entity, using the Range request header, which applies to</td><td class="lineno" valign="top"></td></tr>
453      <tr><td class="lineno" valign="top"></td><td class="left">   the entity returned as the result of the request:</td><td> </td><td class="right">   the entity returned as the result of the request:</td><td class="lineno" valign="top"></td></tr>
454      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
455      <tr><td class="lineno" valign="top"></td><td class="left">     Range = "Range" ":" ranges-specifier</td><td> </td><td class="right">     Range = "Range" ":" ranges-specifier</td><td class="lineno" valign="top"></td></tr>
456      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
457      <tr><td class="lineno" valign="top"></td><td class="left">   A server MAY ignore the Range header.  However, HTTP/1.1 origin</td><td> </td><td class="right">   A server MAY ignore the Range header.  However, HTTP/1.1 origin</td><td class="lineno" valign="top"></td></tr>
458      <tr><td class="lineno" valign="top"></td><td class="left">   servers and intermediate caches ought to support byte ranges when</td><td> </td><td class="right">   servers and intermediate caches ought to support byte ranges when</td><td class="lineno" valign="top"></td></tr>
459      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
460      <tr bgcolor="gray" ><td></td><th><a name="part-l9" /><small>skipping to change at</small><em> page 12, line 40</em></th><th> </th><th><a name="part-r9" /><small>skipping to change at</small><em> page 13, line 14</em></th><td></td></tr>
461      <tr><td class="lineno" valign="top"></td><td class="left">      instead of 200 (OK).</td><td> </td><td class="right">      instead of 200 (OK).</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">   o  The presence of a Range header in a conditional GET (a request</td><td> </td><td class="right">   o  The presence of a Range header in a conditional GET (a request</td><td class="lineno" valign="top"></td></tr>
464      <tr><td class="lineno" valign="top"></td><td class="left">      using one or both of If-Modified-Since and If-None-Match, or one</td><td> </td><td class="right">      using one or both of If-Modified-Since and If-None-Match, or one</td><td class="lineno" valign="top"></td></tr>
465      <tr><td class="lineno" valign="top"></td><td class="left">      or both of If-Unmodified-Since and If-Match) modifies what is</td><td> </td><td class="right">      or both of If-Unmodified-Since and If-Match) modifies what is</td><td class="lineno" valign="top"></td></tr>
466      <tr><td class="lineno" valign="top"></td><td class="left">      returned if the GET is otherwise successful and the condition is</td><td> </td><td class="right">      returned if the GET is otherwise successful and the condition is</td><td class="lineno" valign="top"></td></tr>
467      <tr><td class="lineno" valign="top"></td><td class="left">      true.  It does not affect the 304 (Not Modified) response returned</td><td> </td><td class="right">      true.  It does not affect the 304 (Not Modified) response returned</td><td class="lineno" valign="top"></td></tr>
468      <tr><td class="lineno" valign="top"></td><td class="left">      if the conditional is false.</td><td> </td><td class="right">      if the conditional is false.</td><td class="lineno" valign="top"></td></tr>
469      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
470      <tr><td class="lineno" valign="top"></td><td class="left">   In some cases, it might be more appropriate to use the If-Range</td><td> </td><td class="right">   In some cases, it might be more appropriate to use the If-Range</td><td class="lineno" valign="top"></td></tr>
471      <tr><td><a name="diff0033" /></td></tr>
472      <tr><td class="lineno" valign="top"></td><td class="lblock">   header (see Section <span class="delete">5</span>.3) in addition to the Range header.</td><td> </td><td class="rblock">   header (see Section <span class="insert">6</span>.3) in addition to the Range header.</td><td class="lineno" valign="top"></td></tr>
473      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
474      <tr><td class="lineno" valign="top"></td><td class="left">   If a proxy that supports ranges receives a Range request, forwards</td><td> </td><td class="right">   If a proxy that supports ranges receives a Range request, forwards</td><td class="lineno" valign="top"></td></tr>
475      <tr><td class="lineno" valign="top"></td><td class="left">   the request to an inbound server, and receives an entire entity in</td><td> </td><td class="right">   the request to an inbound server, and receives an entire entity in</td><td class="lineno" valign="top"></td></tr>
476      <tr><td class="lineno" valign="top"></td><td class="left">   reply, it SHOULD only return the requested range to its client.  It</td><td> </td><td class="right">   reply, it SHOULD only return the requested range to its client.  It</td><td class="lineno" valign="top"></td></tr>
477      <tr><td class="lineno" valign="top"></td><td class="left">   SHOULD store the entire received response in its cache if that is</td><td> </td><td class="right">   SHOULD store the entire received response in its cache if that is</td><td class="lineno" valign="top"></td></tr>
478      <tr><td class="lineno" valign="top"></td><td class="left">   consistent with its cache allocation policies.</td><td> </td><td class="right">   consistent with its cache allocation policies.</td><td class="lineno" valign="top"></td></tr>
479      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
480      <tr><td><a name="diff0034" /></td></tr>
481      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">6</span>.  IANA Considerations</td><td> </td><td class="rblock"><span class="insert">7</span>.  IANA Considerations</td><td class="lineno" valign="top"></td></tr>
482      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
483      <tr><td><a name="diff0035" /></td></tr>
484      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">TBD.</span></td><td> </td><td class="rblock">   <span class="insert">[[anchor2: TBD.]]</span></td><td class="lineno" valign="top"></td></tr>
485      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
486      <tr><td><a name="diff0036" /></td></tr>
487      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">7</span>.  Security Considerations</td><td> </td><td class="rblock"><span class="insert">8</span>.  Security Considerations</td><td class="lineno" valign="top"></td></tr>
488      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
489      <tr><td class="lineno" valign="top"></td><td class="left">   No additional security considerations have been identified beyond</td><td> </td><td class="right">   No additional security considerations have been identified beyond</td><td class="lineno" valign="top"></td></tr>
490      <tr><td class="lineno" valign="top"></td><td class="left">   those applicable to HTTP in general [Part1].</td><td> </td><td class="right">   those applicable to HTTP in general [Part1].</td><td class="lineno" valign="top"></td></tr>
491      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
492      <tr><td><a name="diff0037" /></td></tr>
493      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">8</span>.  Acknowledgments</td><td> </td><td class="rblock"><span class="insert">9</span>.  Acknowledgments</td><td class="lineno" valign="top"></td></tr>
494      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
495      <tr><td class="lineno" valign="top"></td><td class="left">   Most of the specification of ranges is based on work originally done</td><td> </td><td class="right">   Most of the specification of ranges is based on work originally done</td><td class="lineno" valign="top"></td></tr>
496      <tr><td class="lineno" valign="top"></td><td class="left">   by Ari Luotonen and John Franks, with additional input from Steve</td><td> </td><td class="right">   by Ari Luotonen and John Franks, with additional input from Steve</td><td class="lineno" valign="top"></td></tr>
497      <tr><td class="lineno" valign="top"></td><td class="left">   Zilles, Daniel W. Connolly, Roy T. Fielding, Jim Gettys, Martin</td><td> </td><td class="right">   Zilles, Daniel W. Connolly, Roy T. Fielding, Jim Gettys, Martin</td><td class="lineno" valign="top"></td></tr>
498      <tr><td class="lineno" valign="top"></td><td class="left">   Hamilton, Koen Holtman, Shel Kaplan, Paul Leach, Alex Lopez-Ortiz,</td><td> </td><td class="right">   Hamilton, Koen Holtman, Shel Kaplan, Paul Leach, Alex Lopez-Ortiz,</td><td class="lineno" valign="top"></td></tr>
499      <tr><td class="lineno" valign="top"></td><td class="left">   Larry Masinter, Jeff Mogul, Lou Montulli, David W. Morris, Luigi</td><td> </td><td class="right">   Larry Masinter, Jeff Mogul, Lou Montulli, David W. Morris, Luigi</td><td class="lineno" valign="top"></td></tr>
500      <tr><td class="lineno" valign="top"></td><td class="left">   Rizzo, and Bill Weihl.</td><td> </td><td class="right">   Rizzo, and Bill Weihl.</td><td class="lineno" valign="top"></td></tr>
501      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
502      <tr><td><a name="diff0038" /></td></tr>
503      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">9</span>.  References</td><td> </td><td class="rblock"><span class="insert">10</span>.  References</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><a name="diff0039" /></td></tr>
506      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">9</span>.1.  Normative References</td><td> </td><td class="rblock"><span class="insert">10</span>.1.  Normative References</td><td class="lineno" valign="top"></td></tr>
507      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
508      <tr><td class="lineno" valign="top"></td><td class="left">   [Part1]    Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td><td> </td><td class="right">   [Part1]    Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td><td class="lineno" valign="top"></td></tr>
509      <tr><td class="lineno" valign="top"></td><td class="left">              Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td> </td><td class="right">              Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td class="lineno" valign="top"></td></tr>
510      <tr><td class="lineno" valign="top"></td><td class="left">              and J. Reschke, Ed., "HTTP/1.1, part 1: URIs, Connections,</td><td> </td><td class="right">              and J. Reschke, Ed., "HTTP/1.1, part 1: URIs, Connections,</td><td class="lineno" valign="top"></td></tr>
511      <tr><td><a name="diff0040" /></td></tr>
512      <tr><td class="lineno" valign="top"></td><td class="lblock">              and Message Parsing", <span class="delete">draft-ietf-httpbis-p1-messaging-01</span></td><td> </td><td class="rblock">              and Message Parsing", <span class="insert">draft-ietf-httpbis-p1-messaging-02</span></td><td class="lineno" valign="top"></td></tr>
513      <tr><td class="lineno" valign="top"></td><td class="lblock">              (work in progress), <span class="delete">January</span> 2008.</td><td> </td><td class="rblock">              (work in progress), <span class="insert">February</span> 2008.</td><td class="lineno" valign="top"></td></tr>
514      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
515      <tr><td class="lineno" valign="top"></td><td class="left">   [Part3]    Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td><td> </td><td class="right">   [Part3]    Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td><td class="lineno" valign="top"></td></tr>
516      <tr><td class="lineno" valign="top"></td><td class="left">              Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td> </td><td class="right">              Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td class="lineno" valign="top"></td></tr>
517      <tr><td class="lineno" valign="top"></td><td class="left">              and J. Reschke, Ed., "HTTP/1.1, part 3: Message Payload</td><td> </td><td class="right">              and J. Reschke, Ed., "HTTP/1.1, part 3: Message Payload</td><td class="lineno" valign="top"></td></tr>
518      <tr><td><a name="diff0041" /></td></tr>
519      <tr><td class="lineno" valign="top"></td><td class="lblock">              and Content Negotiation", <span class="delete">draft-ietf-httpbis-p3-payload-01</span></td><td> </td><td class="rblock">              and Content Negotiation", <span class="insert">draft-ietf-httpbis-p3-payload-02</span></td><td class="lineno" valign="top"></td></tr>
520      <tr><td class="lineno" valign="top"></td><td class="lblock">              (work in progress), <span class="delete">January</span> 2008.</td><td> </td><td class="rblock">              (work in progress), <span class="insert">February</span> 2008.</td><td class="lineno" valign="top"></td></tr>
521      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
522      <tr><td class="lineno" valign="top"></td><td class="left">   [Part4]    Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td><td> </td><td class="right">   [Part4]    Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td><td class="lineno" valign="top"></td></tr>
523      <tr><td class="lineno" valign="top"></td><td class="left">              Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td> </td><td class="right">              Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td class="lineno" valign="top"></td></tr>
524      <tr><td class="lineno" valign="top"></td><td class="left">              and J. Reschke, Ed., "HTTP/1.1, part 4: Conditional</td><td> </td><td class="right">              and J. Reschke, Ed., "HTTP/1.1, part 4: Conditional</td><td class="lineno" valign="top"></td></tr>
525      <tr><td><a name="diff0042" /></td></tr>
526      <tr><td class="lineno" valign="top"></td><td class="lblock">              Requests", <span class="delete">draft-ietf-httpbis-p4-conditional-01</span> (work in</td><td> </td><td class="rblock">              Requests", <span class="insert">draft-ietf-httpbis-p4-conditional-02</span> (work in</td><td class="lineno" valign="top"></td></tr>
527      <tr><td class="lineno" valign="top"></td><td class="lblock">              progress), <span class="delete">January</span> 2008.</td><td> </td><td class="rblock">              progress), <span class="insert">February</span> 2008.</td><td class="lineno" valign="top"></td></tr>
528      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
529      <tr><td class="lineno" valign="top"></td><td class="left">   [Part6]    Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td><td> </td><td class="right">   [Part6]    Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td><td class="lineno" valign="top"></td></tr>
530      <tr><td class="lineno" valign="top"></td><td class="left">              Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td> </td><td class="right">              Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td class="lineno" valign="top"></td></tr>
531      <tr><td class="lineno" valign="top"></td><td class="left">              and J. Reschke, Ed., "HTTP/1.1, part 6: Caching",</td><td> </td><td class="right">              and J. Reschke, Ed., "HTTP/1.1, part 6: Caching",</td><td class="lineno" valign="top"></td></tr>
532      <tr><td><a name="diff0043" /></td></tr>
533      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">draft-ietf-httpbis-p6-cache-01</span> (work in progress),</td><td> </td><td class="rblock">              <span class="insert">draft-ietf-httpbis-p6-cache-02</span> (work in progress),</td><td class="lineno" valign="top"></td></tr>
534      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">January</span> 2008.</td><td> </td><td class="rblock">              <span class="insert">February</span> 2008.</td><td class="lineno" valign="top"></td></tr>
535      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
536      <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>
537      <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>
538      <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>
539      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
540      <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>
541      <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>
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><a name="diff0044" /></td></tr>
544      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">9</span>.2.  Informative References</td><td> </td><td class="rblock"><span class="insert">10</span>.2.  Informative References</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">   [RFC2616]  Fielding, R., Gettys, J., Mogul, J., Frystyk, H.,</td><td> </td><td class="right">   [RFC2616]  Fielding, R., Gettys, J., Mogul, J., Frystyk, H.,</td><td class="lineno" valign="top"></td></tr>
547      <tr><td class="lineno" valign="top"></td><td class="left">              Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext</td><td> </td><td class="right">              Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext</td><td class="lineno" valign="top"></td></tr>
548      <tr><td class="lineno" valign="top"></td><td class="left">              Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.</td><td> </td><td class="right">              Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.</td><td class="lineno" valign="top"></td></tr>
549      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
550      <tr><td><a name="diff0045" /></td></tr>
551      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">   <span class="insert">[RFC4288]  Freed, N. and J. Klensin, "Media Type Specifications and</span></td><td class="lineno" valign="top"></td></tr>
552      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">              Registration Procedures", BCP 13, RFC 4288, December 2005.</span></td><td class="lineno" valign="top"></td></tr>
553      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">                                                                         </td><td class="lineno" valign="top"></td></tr>
554      <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>
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">   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>
557      <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>
558      <tr><td class="lineno" valign="top"></td><td class="left">   overlapping ranges), these are transmitted as a multipart message-</td><td> </td><td class="right">   overlapping ranges), these are transmitted as a multipart message-</td><td class="lineno" valign="top"></td></tr>
559      <tr><td><a name="diff0046" /></td></tr>
560      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">body.</span>  The media type for this purpose is called <span class="delete">"multipart/</span></td><td> </td><td class="rblock">   <span class="insert">body [RFC2046].</span>  The media type for this purpose is called</td><td class="lineno" valign="top"></td></tr>
561      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   byteranges".</span></td><td> </td><td class="rblock">   <span class="insert">"multipart/byteranges".  The following is to be registered with IANA</span></td><td class="lineno" valign="top"></td></tr>
562      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   [RFC4288].</span></td><td class="lineno" valign="top"></td></tr>
563      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
564      <tr><td class="lineno" valign="top"></td><td class="left">   The multipart/byteranges media type includes two or more parts, each</td><td> </td><td class="right">   The multipart/byteranges media type includes two or more parts, each</td><td class="lineno" valign="top"></td></tr>
565      <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>
566      <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>
567      <tr><td class="lineno" valign="top"></td><td class="left">   each body-part.</td><td> </td><td class="right">   each body-part.</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><a name="diff0047" /></td></tr>
570      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">Media </span>Type name:  multipart</td><td> </td><td class="rblock">   Type name:  multipart</td><td class="lineno" valign="top"></td></tr>
571      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
572      <tr><td><a name="diff0048" /></td></tr>
573      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">Media s</span>ubtype name:  byteranges</td><td> </td><td class="rblock">   <span class="insert">S</span>ubtype name:  byteranges</td><td class="lineno" valign="top"></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">   Required parameters:  boundary</td><td> </td><td class="right">   Required parameters:  boundary</td><td class="lineno" valign="top"></td></tr>
576      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
577      <tr><td class="lineno" valign="top"></td><td class="left">   Optional parameters:  none</td><td> </td><td class="right">   Optional parameters:  none</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">   Encoding considerations:  only "7bit", "8bit", or "binary" are</td><td> </td><td class="right">   Encoding considerations:  only "7bit", "8bit", or "binary" are</td><td class="lineno" valign="top"></td></tr>
580      <tr><td class="lineno" valign="top"></td><td class="left">      permitted</td><td> </td><td class="right">      permitted</td><td class="lineno" valign="top"></td></tr>
581      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
582      <tr><td class="lineno" valign="top"></td><td class="left">   Security considerations:  none</td><td> </td><td class="right">   Security considerations:  none</td><td class="lineno" valign="top"></td></tr>
583      <tr><td><a name="diff0049" /></td></tr>
584      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">                                                                         </td><td class="lineno" valign="top"></td></tr>
585      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">   <span class="insert">Interoperability considerations:  none</span></td><td class="lineno" valign="top"></td></tr>
586      <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>
587      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   Published specification:  This specification (see Appendix A).</span></td><td class="lineno" valign="top"></td></tr>
588      <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>
589      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   Applications that use this media type:</span></td><td class="lineno" valign="top"></td></tr>
590      <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>
591      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   Additional information:</span></td><td class="lineno" valign="top"></td></tr>
592      <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>
593      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      Magic number(s):  none</span></td><td class="lineno" valign="top"></td></tr>
594      <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>
595      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      File extension(s):  none</span></td><td class="lineno" valign="top"></td></tr>
596      <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>
597      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      Macintosh file type code(s):  none</span></td><td class="lineno" valign="top"></td></tr>
598      <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>
599      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   Person and email address to contact for further information:  See</span></td><td class="lineno" valign="top"></td></tr>
600      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      Authors Section.</span></td><td class="lineno" valign="top"></td></tr>
601      <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>
602      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   Intended usage:  COMMON</span></td><td class="lineno" valign="top"></td></tr>
603      <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>
604      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   Restrictions on usage:  none</span></td><td class="lineno" valign="top"></td></tr>
605      <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>
606      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   Author/Change controller:  IESG</span></td><td class="lineno" valign="top"></td></tr>
607      <tr><td class="lineno" valign="top"></td><td class="left">   For example:</td><td> </td><td class="right">   For example:</td><td class="lineno" valign="top"></td></tr>
608      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
609      <tr><td class="lineno" valign="top"></td><td class="left">      HTTP/1.1 206 Partial Content</td><td> </td><td class="right">      HTTP/1.1 206 Partial Content</td><td class="lineno" valign="top"></td></tr>
610      <tr><td class="lineno" valign="top"></td><td class="left">      Date: Wed, 15 Nov 1995 06:25:24 GMT</td><td> </td><td class="right">      Date: Wed, 15 Nov 1995 06:25:24 GMT</td><td class="lineno" valign="top"></td></tr>
611      <tr><td class="lineno" valign="top"></td><td class="left">      Last-Modified: Wed, 15 Nov 1995 04:58:08 GMT</td><td> </td><td class="right">      Last-Modified: Wed, 15 Nov 1995 04:58:08 GMT</td><td class="lineno" valign="top"></td></tr>
612      <tr><td class="lineno" valign="top"></td><td class="left">      Content-type: multipart/byteranges; boundary=THIS_STRING_SEPARATES</td><td> </td><td class="right">      Content-type: multipart/byteranges; boundary=THIS_STRING_SEPARATES</td><td class="lineno" valign="top"></td></tr>
613      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
614      <tr><td class="lineno" valign="top"></td><td class="left">      --THIS_STRING_SEPARATES</td><td> </td><td class="right">      --THIS_STRING_SEPARATES</td><td class="lineno" valign="top"></td></tr>
615      <tr><td class="lineno" valign="top"></td><td class="left">      Content-type: application/pdf</td><td> </td><td class="right">      Content-type: application/pdf</td><td class="lineno" valign="top"></td></tr>
616      <tr><td class="lineno" valign="top"></td><td class="left">      Content-range: bytes 500-999/8000</td><td> </td><td class="right">      Content-range: bytes 500-999/8000</td><td class="lineno" valign="top"></td></tr>
617      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
618      <tr bgcolor="gray" ><td></td><th><a name="part-l10" /><small>skipping to change at</small><em> page 15, line 45</em></th><th> </th><th><a name="part-r10" /><small>skipping to change at</small><em> page 16, line 45</em></th><td></td></tr>
619      <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>
620      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
621      <tr><td class="lineno" valign="top"></td><td class="left">Appendix B.  Compatibility with Previous Versions</td><td> </td><td class="right">Appendix B.  Compatibility with Previous Versions</td><td class="lineno" valign="top"></td></tr>
622      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
623      <tr><td class="lineno" valign="top"></td><td class="left">B.1.  Changes from RFC 2068</td><td> </td><td class="right">B.1.  Changes from RFC 2068</td><td class="lineno" valign="top"></td></tr>
624      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
625      <tr><td class="lineno" valign="top"></td><td class="left">   Transfer-coding and message lengths all interact in ways that</td><td> </td><td class="right">   Transfer-coding and message lengths all interact in ways that</td><td class="lineno" valign="top"></td></tr>
626      <tr><td class="lineno" valign="top"></td><td class="left">   required fixing exactly when chunked encoding is used (to allow for</td><td> </td><td class="right">   required fixing exactly when chunked encoding is used (to allow for</td><td class="lineno" valign="top"></td></tr>
627      <tr><td class="lineno" valign="top"></td><td class="left">   transfer encoding that may not be self delimiting); it was important</td><td> </td><td class="right">   transfer encoding that may not be self delimiting); it was important</td><td class="lineno" valign="top"></td></tr>
628      <tr><td class="lineno" valign="top"></td><td class="left">   to straighten out exactly how message lengths are computed.</td><td> </td><td class="right">   to straighten out exactly how message lengths are computed.</td><td class="lineno" valign="top"></td></tr>
629      <tr><td><a name="diff0050" /></td></tr>
630      <tr><td class="lineno" valign="top"></td><td class="lblock">   (Section <span class="delete">5</span>.2, see also [Part1], [Part3] and [Part6])</td><td> </td><td class="rblock">   (Section <span class="insert">6</span>.2, see also [Part1], [Part3] and [Part6])</td><td class="lineno" valign="top"></td></tr>
631      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
632      <tr><td class="lineno" valign="top"></td><td class="left">   There are situations where a server (especially a proxy) does not</td><td> </td><td class="right">   There are situations where a server (especially a proxy) does not</td><td class="lineno" valign="top"></td></tr>
633      <tr><td class="lineno" valign="top"></td><td class="left">   know the full length of a response but is capable of serving a</td><td> </td><td class="right">   know the full length of a response but is capable of serving a</td><td class="lineno" valign="top"></td></tr>
634      <tr><td class="lineno" valign="top"></td><td class="left">   byterange request.  We therefore need a mechanism to allow byteranges</td><td> </td><td class="right">   byterange request.  We therefore need a mechanism to allow byteranges</td><td class="lineno" valign="top"></td></tr>
635      <tr><td class="lineno" valign="top"></td><td class="left">   with a content-range not indicating the full length of the message.</td><td> </td><td class="right">   with a content-range not indicating the full length of the message.</td><td class="lineno" valign="top"></td></tr>
636      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
637      <tr><td><a name="diff0051" /></td></tr>
638      <tr><td class="lineno" valign="top"></td><td class="lblock">   (Section <span class="delete">5</span>.2)</td><td> </td><td class="rblock">   (Section <span class="insert">6</span>.2)</td><td class="lineno" valign="top"></td></tr>
639      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
640      <tr><td class="lineno" valign="top"></td><td class="left">   Range request responses would become very verbose if all meta-data</td><td> </td><td class="right">   Range request responses would become very verbose if all meta-data</td><td class="lineno" valign="top"></td></tr>
641      <tr><td class="lineno" valign="top"></td><td class="left">   were always returned; by allowing the server to only send needed</td><td> </td><td class="right">   were always returned; by allowing the server to only send needed</td><td class="lineno" valign="top"></td></tr>
642      <tr><td><a name="diff0052" /></td></tr>
643      <tr><td class="lineno" valign="top"></td><td class="lblock">   headers in a 206 response, this problem can be avoided.  (Section <span class="delete">3.1</span></td><td> </td><td class="rblock">   headers in a 206 response, this problem can be avoided.  (Section <span class="insert">4.1</span></td><td class="lineno" valign="top"></td></tr>
644      <tr><td class="lineno" valign="top"></td><td class="lblock">   and <span class="delete">5.3)</span></td><td> </td><td class="rblock">   and <span class="insert">6.3)</span></td><td class="lineno" valign="top"></td></tr>
645      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
646      <tr><td class="lineno" valign="top"></td><td class="left">   Fix problem with unsatisfiable range requests; there are two cases:</td><td> </td><td class="right">   Fix problem with unsatisfiable range requests; there are two cases:</td><td class="lineno" valign="top"></td></tr>
647      <tr><td class="lineno" valign="top"></td><td class="left">   syntactic problems, and range doesn't exist in the document.  The 416</td><td> </td><td class="right">   syntactic problems, and range doesn't exist in the document.  The 416</td><td class="lineno" valign="top"></td></tr>
648      <tr><td class="lineno" valign="top"></td><td class="left">   status code was needed to resolve this ambiguity needed to indicate</td><td> </td><td class="right">   status code was needed to resolve this ambiguity needed to indicate</td><td class="lineno" valign="top"></td></tr>
649      <tr><td class="lineno" valign="top"></td><td class="left">   an error for a byte range request that falls outside of the actual</td><td> </td><td class="right">   an error for a byte range request that falls outside of the actual</td><td class="lineno" valign="top"></td></tr>
650      <tr><td><a name="diff0053" /></td></tr>
651      <tr><td class="lineno" valign="top"></td><td class="lblock">   contents of a document.  (Section <span class="delete">3.2, 5</span>.2)</td><td> </td><td class="rblock">   contents of a document.  (Section <span class="insert">4.2, 6</span>.2)</td><td class="lineno" valign="top"></td></tr>
652      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
653      <tr><td class="lineno" valign="top"></td><td class="left">B.2.  Changes from RFC 2616</td><td> </td><td class="right">B.2.  Changes from RFC 2616</td><td class="lineno" valign="top"></td></tr>
654      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
655      <tr><td class="lineno" valign="top"></td><td class="left">   Clarify that it is not ok to use a weak cache validator in a 206</td><td> </td><td class="right">   Clarify that it is not ok to use a weak cache validator in a 206</td><td class="lineno" valign="top"></td></tr>
656      <tr><td><a name="diff0054" /></td></tr>
657      <tr><td class="lineno" valign="top"></td><td class="lblock">   response.  (Section <span class="delete">3</span>.1)</td><td> </td><td class="rblock">   response.  (Section <span class="insert">4</span>.1)</td><td class="lineno" valign="top"></td></tr>
658      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
659      <tr><td class="lineno" valign="top"></td><td class="left">Appendix C.  Change Log (to be removed by RFC Editor before publication)</td><td> </td><td class="right">Appendix C.  Change Log (to be removed by RFC Editor before publication)</td><td class="lineno" valign="top"></td></tr>
660      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
661      <tr><td class="lineno" valign="top"></td><td class="left">C.1.  Since RFC2616</td><td> </td><td class="right">C.1.  Since RFC2616</td><td class="lineno" valign="top"></td></tr>
662      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
663      <tr><td class="lineno" valign="top"></td><td class="left">   Extracted relevant partitions from [RFC2616].</td><td> </td><td class="right">   Extracted relevant partitions from [RFC2616].</td><td class="lineno" valign="top"></td></tr>
664      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
665      <tr><td class="lineno" valign="top"></td><td class="left">C.2.  Since draft-ietf-httpbis-p5-range-00</td><td> </td><td class="right">C.2.  Since draft-ietf-httpbis-p5-range-00</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">   Closed issues:</td><td> </td><td class="right">   Closed issues:</td><td class="lineno" valign="top"></td></tr>
668      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
669      <tr bgcolor="gray" ><td></td><th><a name="part-l11" /><small>skipping to change at</small><em> page 16, line 43</em></th><th> </th><th><a name="part-r11" /><small>skipping to change at</small><em> page 17, line 43</em></th><td></td></tr>
670      <tr><td class="lineno" valign="top"></td><td class="left">   o  &lt;http://www3.tools.ietf.org/wg/httpbis/trac/ticket/18&gt;: "Cache</td><td> </td><td class="right">   o  &lt;http://www3.tools.ietf.org/wg/httpbis/trac/ticket/18&gt;: "Cache</td><td class="lineno" valign="top"></td></tr>
671      <tr><td class="lineno" valign="top"></td><td class="left">      validators in 206 responses"</td><td> </td><td class="right">      validators in 206 responses"</td><td class="lineno" valign="top"></td></tr>
672      <tr><td class="lineno" valign="top"></td><td class="left">      (&lt;http://purl.org/NET/http-errata#ifrange206&gt;)</td><td> </td><td class="right">      (&lt;http://purl.org/NET/http-errata#ifrange206&gt;)</td><td class="lineno" valign="top"></td></tr>
673      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
674      <tr><td class="lineno" valign="top"></td><td class="left">   o  &lt;http://www3.tools.ietf.org/wg/httpbis/trac/ticket/35&gt;: "Normative</td><td> </td><td class="right">   o  &lt;http://www3.tools.ietf.org/wg/httpbis/trac/ticket/35&gt;: "Normative</td><td class="lineno" valign="top"></td></tr>
675      <tr><td class="lineno" valign="top"></td><td class="left">      and Informative references"</td><td> </td><td class="right">      and Informative references"</td><td class="lineno" valign="top"></td></tr>
676      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
677      <tr><td class="lineno" valign="top"></td><td class="left">   o  &lt;http://www3.tools.ietf.org/wg/httpbis/trac/ticket/86&gt;: "Normative</td><td> </td><td class="right">   o  &lt;http://www3.tools.ietf.org/wg/httpbis/trac/ticket/86&gt;: "Normative</td><td class="lineno" valign="top"></td></tr>
678      <tr><td class="lineno" valign="top"></td><td class="left">      up-to-date references"</td><td> </td><td class="right">      up-to-date references"</td><td class="lineno" valign="top"></td></tr>
679      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
680      <tr><td><a name="diff0055" /></td></tr>
681      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">C.3.  Since draft-ietf-httpbis-p5-range-01</span></td><td class="lineno" valign="top"></td></tr>
682      <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>
683      <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>
684      <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>
685      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   o  &lt;http://www3.tools.ietf.org/wg/httpbis/trac/ticket/55&gt;: "Updating</span></td><td class="lineno" valign="top"></td></tr>
686      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      to RFC4288"</span></td><td class="lineno" valign="top"></td></tr>
687      <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>
688      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   Ongoing work on ABNF conversion</span></td><td class="lineno" valign="top"></td></tr>
689      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   (&lt;http://www3.tools.ietf.org/wg/httpbis/trac/ticket/36&gt;):</span></td><td class="lineno" valign="top"></td></tr>
690      <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>
691      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   o  Add explicit references to BNF syntax and rules imported from</span></td><td class="lineno" valign="top"></td></tr>
692      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      other parts of the specification.</span></td><td class="lineno" valign="top"></td></tr>
693      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">                                                                         </td><td class="lineno" valign="top"></td></tr>
694      <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>
695      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
696      <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>
697      <tr><td class="lineno" valign="top"></td><td class="left">      206 Partial Content (status code)  5</td><td> </td><td class="right">      206 Partial Content (status code)  5</td><td class="lineno" valign="top"></td></tr>
698      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
699      <tr><td class="lineno" valign="top"></td><td class="left">   4</td><td> </td><td class="right">   4</td><td class="lineno" valign="top"></td></tr>
700      <tr><td class="lineno" valign="top"></td><td class="left">      416 Requested Range Not Satisfiable (status code)  6</td><td> </td><td class="right">      416 Requested Range Not Satisfiable (status code)  6</td><td class="lineno" valign="top"></td></tr>
701      <tr><td><a name="diff0056" /></td></tr>
702      <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>
703      <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>
704      <tr><td class="lineno" valign="top"></td><td class="left">      Accept-Ranges header  7</td><td> </td><td class="right">      Accept-Ranges header  7</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">   C</td><td> </td><td class="right">   C</td><td class="lineno" valign="top"></td></tr>
707      <tr><td><a name="diff0057" /></td></tr>
708      <tr><td class="lineno" valign="top"></td><td class="lblock">      Content-Range header  <span class="delete">7</span></td><td> </td><td class="rblock">      Content-Range header  <span class="insert">8</span></td><td class="lineno" valign="top"></td></tr>
709      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
710      <tr><td class="lineno" valign="top"></td><td class="left">   G</td><td> </td><td class="right">   G</td><td class="lineno" valign="top"></td></tr>
711      <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>
712      <tr><td class="lineno" valign="top"></td><td class="left">         Accept-Ranges  7</td><td> </td><td class="right">         Accept-Ranges  7</td><td class="lineno" valign="top"></td></tr>
713      <tr><td class="lineno" valign="top"></td><td class="left">         acceptable-ranges  7</td><td> </td><td class="right">         acceptable-ranges  7</td><td class="lineno" valign="top"></td></tr>
714      <tr><td><a name="diff0058" /></td></tr>
715      <tr><td class="lineno" valign="top"></td><td class="lblock">         byte-content-range-spec  <span class="delete">7</span></td><td> </td><td class="rblock">         byte-content-range-spec  <span class="insert">8</span></td><td class="lineno" valign="top"></td></tr>
716      <tr><td class="lineno" valign="top"></td><td class="lblock">         byte-range-resp-spec  <span class="delete">7</span></td><td> </td><td class="rblock">         byte-range-resp-spec  <span class="insert">8</span></td><td class="lineno" valign="top"></td></tr>
717      <tr><td class="lineno" valign="top"></td><td class="lblock">         byte-range-set  <span class="delete">10</span></td><td> </td><td class="rblock">         byte-range-set  <span class="insert">11</span></td><td class="lineno" valign="top"></td></tr>
718      <tr><td class="lineno" valign="top"></td><td class="lblock">         byte-range-spec  <span class="delete">10</span></td><td> </td><td class="rblock">         byte-range-spec  <span class="insert">11</span></td><td class="lineno" valign="top"></td></tr>
719      <tr><td class="lineno" valign="top"></td><td class="lblock">         byte-ranges-specifier  <span class="delete">10</span></td><td> </td><td class="rblock">         byte-ranges-specifier  <span class="insert">11</span></td><td class="lineno" valign="top"></td></tr>
720      <tr><td class="lineno" valign="top"></td><td class="left">         bytes-unit  5</td><td> </td><td class="right">         bytes-unit  5</td><td class="lineno" valign="top"></td></tr>
721      <tr><td><a name="diff0059" /></td></tr>
722      <tr><td class="lineno" valign="top"></td><td class="lblock">         Content-Range  <span class="delete">7</span></td><td> </td><td class="rblock">         Content-Range  <span class="insert">8</span></td><td class="lineno" valign="top"></td></tr>
723      <tr><td class="lineno" valign="top"></td><td class="lblock">         content-range-spec  <span class="delete">7</span></td><td> </td><td class="rblock">         content-range-spec  <span class="insert">8</span></td><td class="lineno" valign="top"></td></tr>
724      <tr><td class="lineno" valign="top"></td><td class="lblock">         first-byte-pos  <span class="delete">10</span></td><td> </td><td class="rblock">         first-byte-pos  <span class="insert">11</span></td><td class="lineno" valign="top"></td></tr>
725      <tr><td class="lineno" valign="top"></td><td class="left">         If-Range  10</td><td> </td><td class="right">         If-Range  10</td><td class="lineno" valign="top"></td></tr>
726      <tr><td><a name="diff0060" /></td></tr>
727      <tr><td class="lineno" valign="top"></td><td class="lblock">         instance-length  <span class="delete">7</span></td><td> </td><td class="rblock">         instance-length  <span class="insert">8</span></td><td class="lineno" valign="top"></td></tr>
728      <tr><td class="lineno" valign="top"></td><td class="lblock">         last-byte-pos  <span class="delete">10</span></td><td> </td><td class="rblock">         last-byte-pos  <span class="insert">11</span></td><td class="lineno" valign="top"></td></tr>
729      <tr><td class="lineno" valign="top"></td><td class="left">         other-range-unit  5</td><td> </td><td class="right">         other-range-unit  5</td><td class="lineno" valign="top"></td></tr>
730      <tr><td class="lineno" valign="top"></td><td class="left">         Range  12</td><td> </td><td class="right">         Range  12</td><td class="lineno" valign="top"></td></tr>
731      <tr><td class="lineno" valign="top"></td><td class="left">         range-unit  5</td><td> </td><td class="right">         range-unit  5</td><td class="lineno" valign="top"></td></tr>
732      <tr><td><a name="diff0061" /></td></tr>
733      <tr><td class="lineno" valign="top"></td><td class="lblock">         ranges-specifier  1<span class="delete">0</span></td><td> </td><td class="rblock">         ranges-specifier  1<span class="insert">1</span></td><td class="lineno" valign="top"></td></tr>
734      <tr><td class="lineno" valign="top"></td><td class="left">         suffix-byte-range-spec  11</td><td> </td><td class="right">         suffix-byte-range-spec  11</td><td class="lineno" valign="top"></td></tr>
735      <tr><td class="lineno" valign="top"></td><td class="left">         suffix-length  11</td><td> </td><td class="right">         suffix-length  11</td><td class="lineno" valign="top"></td></tr>
736      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
737      <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>
738      <tr><td class="lineno" valign="top"></td><td class="left">      Headers</td><td> </td><td class="right">      Headers</td><td class="lineno" valign="top"></td></tr>
739      <tr><td class="lineno" valign="top"></td><td class="left">         Accept-Ranges  7</td><td> </td><td class="right">         Accept-Ranges  7</td><td class="lineno" valign="top"></td></tr>
740      <tr><td><a name="diff0062" /></td></tr>
741      <tr><td class="lineno" valign="top"></td><td class="lblock">         Content-Range  <span class="delete">7</span></td><td> </td><td class="rblock">         Content-Range  <span class="insert">8</span></td><td class="lineno" valign="top"></td></tr>
742      <tr><td class="lineno" valign="top"></td><td class="lblock">         If-Range  <span class="delete">9</span></td><td> </td><td class="rblock">         If-Range  <span class="insert">10</span></td><td class="lineno" valign="top"></td></tr>
743      <tr><td class="lineno" valign="top"></td><td class="left">         Range  10</td><td> </td><td class="right">         Range  10</td><td class="lineno" valign="top"></td></tr>
744      <tr><td><a name="diff0063" /></td></tr>
745      <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>
746      <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>
747      <tr><td><a name="diff0064" /></td></tr>
748      <tr><td class="lineno" valign="top"></td><td class="lblock">      If-Range header  <span class="delete">9</span></td><td> </td><td class="rblock">      If-Range header  <span class="insert">10</span></td><td class="lineno" valign="top"></td></tr>
749      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
750      <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>
751      <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>
752      <tr><td class="lineno" valign="top"></td><td class="left">         multipart/byteranges  14</td><td> </td><td class="right">         multipart/byteranges  14</td><td class="lineno" valign="top"></td></tr>
753      <tr><td><a name="diff0065" /></td></tr>
754      <tr><td class="lineno" valign="top"></td><td class="lblock">         multipart/x-byteranges  1<span class="delete">5</span></td><td> </td><td class="rblock">         multipart/x-byteranges  1<span class="insert">6</span></td><td class="lineno" valign="top"></td></tr>
755      <tr><td class="lineno" valign="top"></td><td class="left">      multipart/byteranges Media Type  14</td><td> </td><td class="right">      multipart/byteranges Media Type  14</td><td class="lineno" valign="top"></td></tr>
756      <tr><td><a name="diff0066" /></td></tr>
757      <tr><td class="lineno" valign="top"></td><td class="lblock">      multipart/x-byteranges Media Type  1<span class="delete">5</span></td><td> </td><td class="rblock">      multipart/x-byteranges Media Type  1<span class="insert">6</span></td><td class="lineno" valign="top"></td></tr>
758      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
759      <tr><td class="lineno" valign="top"></td><td class="left">   R</td><td> </td><td