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

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

prepare release of -23

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/html; charset=iso-8859-1
File size: 119.7 KB
Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<!-- Generated by rfcdiff 1.38: rfcdiff  -->
3<!-- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional" > -->
4<html> 
5<head> 
6  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
7  <meta http-equiv="Content-Style-Type" content="text/css" />
8  <title>Diff: draft-ietf-httpbis-p5-range-22.txt - draft-ietf-httpbis-p5-range-23.txt</title>
9  <style type="text/css">
10    body    { margin: 0.4ex; margin-right: auto; }
11    tr      { }
12    td      { white-space: pre; font-family: monospace; vertical-align: top; font-size: 0.86em;}
13    th      { font-size: 0.86em; }
14    .small  { font-size: 0.6em; font-style: italic; font-family: Verdana, Helvetica, sans-serif; }
15    .left   { background-color: #EEE; }
16    .right  { background-color: #FFF; }
17    .diff   { background-color: #CCF; }
18    .lblock { background-color: #BFB; }
19    .rblock { background-color: #FF8; }
20    .insert { background-color: #8FF; }
21    .delete { background-color: #ACF; }
22    .void   { background-color: #FFB; }
23    .cont   { background-color: #EEE; }
24    .linebr { background-color: #AAA; }
25    .lineno { color: red; background-color: #FFF; font-size: 0.7em; text-align: right; padding: 0 2px; }
26    .elipsis{ background-color: #AAA; }
27    .left .cont { background-color: #DDD; }
28    .right .cont { background-color: #EEE; }
29    .lblock .cont { background-color: #9D9; }
30    .rblock .cont { background-color: #DD6; }
31    .insert .cont { background-color: #0DD; }
32    .delete .cont { background-color: #8AD; }
33    .stats, .stats td, .stats th { background-color: #EEE; padding: 2px 0; }
34  </style>
35</head>
36<body > 
37  <table border="0" cellpadding="0" cellspacing="0">
38  <tr bgcolor="orange"><th></th><th>&nbsp;draft-ietf-httpbis-p5-range-22.txt&nbsp;</th><th> </th><th>&nbsp;draft-ietf-httpbis-p5-range-23.txt&nbsp;</th><th></th></tr>
39      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
40      <tr><td class="lineno" valign="top"></td><td class="left">HTTPbis Working Group                                   R. Fielding, Ed.</td><td> </td><td class="right">HTTPbis Working Group                                   R. Fielding, Ed.</td><td class="lineno" valign="top"></td></tr>
41      <tr><td class="lineno" valign="top"></td><td class="left">Internet-Draft                                                     Adobe</td><td> </td><td class="right">Internet-Draft                                                     Adobe</td><td class="lineno" valign="top"></td></tr>
42      <tr><td class="lineno" valign="top"></td><td class="left">Obsoletes: 2616 (if approved)                              Y. Lafon, Ed.</td><td> </td><td class="right">Obsoletes: 2616 (if approved)                              Y. Lafon, Ed.</td><td class="lineno" valign="top"></td></tr>
43      <tr><td class="lineno" valign="top"></td><td class="left">Intended status: Standards Track                                     W3C</td><td> </td><td class="right">Intended status: Standards Track                                     W3C</td><td class="lineno" valign="top"></td></tr>
44      <tr><td><a name="diff0001" /></td></tr>
45      <tr><td class="lineno" valign="top"></td><td class="lblock">Expires: <span class="delete">August 27, 2013 </span>                                J. Reschke, Ed.</td><td> </td><td class="rblock">Expires: <span class="insert">January 16, 2014</span>                                J. Reschke, Ed.</td><td class="lineno" valign="top"></td></tr>
46      <tr><td class="lineno" valign="top"></td><td class="left">                                                              greenbytes</td><td> </td><td class="right">                                                              greenbytes</td><td class="lineno" valign="top"></td></tr>
47      <tr><td><a name="diff0002" /></td></tr>
48      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                       <span class="delete">February 23</span>, 2013</td><td> </td><td class="rblock">                                                       <span class="insert">    July 15</span>, 2013</td><td class="lineno" valign="top"></td></tr>
49      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
50      <tr><td class="lineno" valign="top"></td><td class="left">         Hypertext Transfer Protocol (HTTP/1.1): Range Requests</td><td> </td><td class="right">         Hypertext Transfer Protocol (HTTP/1.1): Range Requests</td><td class="lineno" valign="top"></td></tr>
51      <tr><td><a name="diff0003" /></td></tr>
52      <tr><td class="lineno" valign="top"></td><td class="lblock">                     draft-ietf-httpbis-p5-range-2<span class="delete">2</span></td><td> </td><td class="rblock">                     draft-ietf-httpbis-p5-range-2<span class="insert">3</span></td><td class="lineno" valign="top"></td></tr>
53      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
54      <tr><td class="lineno" valign="top"></td><td class="left">Abstract</td><td> </td><td class="right">Abstract</td><td class="lineno" valign="top"></td></tr>
55      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
56      <tr><td class="lineno" valign="top"></td><td class="left">   The Hypertext Transfer Protocol (HTTP) is an application-level</td><td> </td><td class="right">   The Hypertext Transfer Protocol (HTTP) is an application-level</td><td class="lineno" valign="top"></td></tr>
57      <tr><td class="lineno" valign="top"></td><td class="left">   protocol for distributed, collaborative, hypertext information</td><td> </td><td class="right">   protocol for distributed, collaborative, hypertext information</td><td class="lineno" valign="top"></td></tr>
58      <tr><td class="lineno" valign="top"></td><td class="left">   systems.  This document defines range requests and the rules for</td><td> </td><td class="right">   systems.  This document defines range requests and the rules for</td><td class="lineno" valign="top"></td></tr>
59      <tr><td class="lineno" valign="top"></td><td class="left">   constructing and combining responses to those requests.</td><td> </td><td class="right">   constructing and combining responses to those requests.</td><td class="lineno" valign="top"></td></tr>
60      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
61      <tr><td class="lineno" valign="top"></td><td class="left">Editorial Note (To be removed by RFC Editor)</td><td> </td><td class="right">Editorial Note (To be removed by RFC Editor)</td><td class="lineno" valign="top"></td></tr>
62      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
63      <tr><td class="lineno" valign="top"></td><td class="left">   Discussion of this draft takes place on the HTTPBIS working group</td><td> </td><td class="right">   Discussion of this draft takes place on the HTTPBIS working group</td><td class="lineno" valign="top"></td></tr>
64      <tr><td class="lineno" valign="top"></td><td class="left">   mailing list (ietf-http-wg@w3.org), which is archived at</td><td> </td><td class="right">   mailing list (ietf-http-wg@w3.org), which is archived at</td><td class="lineno" valign="top"></td></tr>
65      <tr><td class="lineno" valign="top"></td><td class="left">   &lt;http://lists.w3.org/Archives/Public/ietf-http-wg/&gt;.</td><td> </td><td class="right">   &lt;http://lists.w3.org/Archives/Public/ietf-http-wg/&gt;.</td><td class="lineno" valign="top"></td></tr>
66      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
67      <tr><td class="lineno" valign="top"></td><td class="left">   The current issues list is at</td><td> </td><td class="right">   The current issues list is at</td><td class="lineno" valign="top"></td></tr>
68      <tr><td class="lineno" valign="top"></td><td class="left">   &lt;http://tools.ietf.org/wg/httpbis/trac/report/3&gt; and related</td><td> </td><td class="right">   &lt;http://tools.ietf.org/wg/httpbis/trac/report/3&gt; and related</td><td class="lineno" valign="top"></td></tr>
69      <tr><td class="lineno" valign="top"></td><td class="left">   documents (including fancy diffs) can be found at</td><td> </td><td class="right">   documents (including fancy diffs) can be found at</td><td class="lineno" valign="top"></td></tr>
70      <tr><td class="lineno" valign="top"></td><td class="left">   &lt;http://tools.ietf.org/wg/httpbis/&gt;.</td><td> </td><td class="right">   &lt;http://tools.ietf.org/wg/httpbis/&gt;.</td><td class="lineno" valign="top"></td></tr>
71      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
72      <tr><td><a name="diff0004" /></td></tr>
73      <tr><td class="lineno" valign="top"></td><td class="lblock">   The changes in this draft are summarized in Appendix E.<span class="delete">3</span>.</td><td> </td><td class="rblock">   The changes in this draft are summarized in Appendix E.<span class="insert">4</span>.</td><td class="lineno" valign="top"></td></tr>
74      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
75      <tr><td class="lineno" valign="top"></td><td class="left">Status of This Memo</td><td> </td><td class="right">Status of This Memo</td><td class="lineno" valign="top"></td></tr>
76      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
77      <tr><td class="lineno" valign="top"></td><td class="left">   This Internet-Draft is submitted in full conformance with the</td><td> </td><td class="right">   This Internet-Draft is submitted in full conformance with the</td><td class="lineno" valign="top"></td></tr>
78      <tr><td class="lineno" valign="top"></td><td class="left">   provisions of BCP 78 and BCP 79.</td><td> </td><td class="right">   provisions of BCP 78 and BCP 79.</td><td class="lineno" valign="top"></td></tr>
79      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
80      <tr><td class="lineno" valign="top"></td><td class="left">   Internet-Drafts are working documents of the Internet Engineering</td><td> </td><td class="right">   Internet-Drafts are working documents of the Internet Engineering</td><td class="lineno" valign="top"></td></tr>
81      <tr><td class="lineno" valign="top"></td><td class="left">   Task Force (IETF).  Note that other groups may also distribute</td><td> </td><td class="right">   Task Force (IETF).  Note that other groups may also distribute</td><td class="lineno" valign="top"></td></tr>
82      <tr><td class="lineno" valign="top"></td><td class="left">   working documents as Internet-Drafts.  The list of current Internet-</td><td> </td><td class="right">   working documents as Internet-Drafts.  The list of current Internet-</td><td class="lineno" valign="top"></td></tr>
83      <tr><td class="lineno" valign="top"></td><td class="left">   Drafts is at http://datatracker.ietf.org/drafts/current/.</td><td> </td><td class="right">   Drafts is at http://datatracker.ietf.org/drafts/current/.</td><td class="lineno" valign="top"></td></tr>
84      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
85      <tr><td class="lineno" valign="top"></td><td class="left">   Internet-Drafts are draft documents valid for a maximum of six months</td><td> </td><td class="right">   Internet-Drafts are draft documents valid for a maximum of six months</td><td class="lineno" valign="top"></td></tr>
86      <tr><td class="lineno" valign="top"></td><td class="left">   and may be updated, replaced, or obsoleted by other documents at any</td><td> </td><td class="right">   and may be updated, replaced, or obsoleted by other documents at any</td><td class="lineno" valign="top"></td></tr>
87      <tr><td class="lineno" valign="top"></td><td class="left">   time.  It is inappropriate to use Internet-Drafts as reference</td><td> </td><td class="right">   time.  It is inappropriate to use Internet-Drafts as reference</td><td class="lineno" valign="top"></td></tr>
88      <tr><td class="lineno" valign="top"></td><td class="left">   material or to cite them other than as "work in progress."</td><td> </td><td class="right">   material or to cite them other than as "work in progress."</td><td class="lineno" valign="top"></td></tr>
89      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
90      <tr><td><a name="diff0005" /></td></tr>
91      <tr><td class="lineno" valign="top"></td><td class="lblock">   This Internet-Draft will expire on <span class="delete">August 27, 2013</span>.</td><td> </td><td class="rblock">   This Internet-Draft will expire on <span class="insert">January 16, 2014</span>.</td><td class="lineno" valign="top"></td></tr>
92      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
93      <tr><td class="lineno" valign="top"></td><td class="left">Copyright Notice</td><td> </td><td class="right">Copyright Notice</td><td class="lineno" valign="top"></td></tr>
94      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
95      <tr><td class="lineno" valign="top"></td><td class="left">   Copyright (c) 2013 IETF Trust and the persons identified as the</td><td> </td><td class="right">   Copyright (c) 2013 IETF Trust and the persons identified as the</td><td class="lineno" valign="top"></td></tr>
96      <tr><td class="lineno" valign="top"></td><td class="left">   document authors.  All rights reserved.</td><td> </td><td class="right">   document authors.  All rights reserved.</td><td class="lineno" valign="top"></td></tr>
97      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
98      <tr><td class="lineno" valign="top"></td><td class="left">   This document is subject to BCP 78 and the IETF Trust's Legal</td><td> </td><td class="right">   This document is subject to BCP 78 and the IETF Trust's Legal</td><td class="lineno" valign="top"></td></tr>
99      <tr><td class="lineno" valign="top"></td><td class="left">   Provisions Relating to IETF Documents</td><td> </td><td class="right">   Provisions Relating to IETF Documents</td><td class="lineno" valign="top"></td></tr>
100      <tr><td class="lineno" valign="top"></td><td class="left">   (http://trustee.ietf.org/license-info) in effect on the date of</td><td> </td><td class="right">   (http://trustee.ietf.org/license-info) in effect on the date of</td><td class="lineno" valign="top"></td></tr>
101      <tr><td class="lineno" valign="top"></td><td class="left">   publication of this document.  Please review these documents</td><td> </td><td class="right">   publication of this document.  Please review these documents</td><td class="lineno" valign="top"></td></tr>
102      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
103      <tr bgcolor="gray" ><td></td><th><a name="part-l2" /><small>skipping to change at</small><em> page 3, line 17</em></th><th> </th><th><a name="part-r2" /><small>skipping to change at</small><em> page 3, line 17</em></th><td></td></tr>
104      <tr><td class="lineno" valign="top"></td><td class="left">   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4</td><td> </td><td class="right">   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4</td><td class="lineno" valign="top"></td></tr>
105      <tr><td class="lineno" valign="top"></td><td class="left">     1.1.  Conformance and Error Handling . . . . . . . . . . . . . .  4</td><td> </td><td class="right">     1.1.  Conformance and Error Handling . . . . . . . . . . . . . .  4</td><td class="lineno" valign="top"></td></tr>
106      <tr><td class="lineno" valign="top"></td><td class="left">     1.2.  Syntax Notation  . . . . . . . . . . . . . . . . . . . . .  4</td><td> </td><td class="right">     1.2.  Syntax Notation  . . . . . . . . . . . . . . . . . . . . .  4</td><td class="lineno" valign="top"></td></tr>
107      <tr><td class="lineno" valign="top"></td><td class="left">   2.  Range Units  . . . . . . . . . . . . . . . . . . . . . . . . .  4</td><td> </td><td class="right">   2.  Range Units  . . . . . . . . . . . . . . . . . . . . . . . . .  4</td><td class="lineno" valign="top"></td></tr>
108      <tr><td class="lineno" valign="top"></td><td class="left">     2.1.  Byte Ranges  . . . . . . . . . . . . . . . . . . . . . . .  5</td><td> </td><td class="right">     2.1.  Byte Ranges  . . . . . . . . . . . . . . . . . . . . . . .  5</td><td class="lineno" valign="top"></td></tr>
109      <tr><td class="lineno" valign="top"></td><td class="left">     2.2.  Other Range Units  . . . . . . . . . . . . . . . . . . . .  7</td><td> </td><td class="right">     2.2.  Other Range Units  . . . . . . . . . . . . . . . . . . . .  7</td><td class="lineno" valign="top"></td></tr>
110      <tr><td class="lineno" valign="top"></td><td class="left">     2.3.  Accept-Ranges  . . . . . . . . . . . . . . . . . . . . . .  7</td><td> </td><td class="right">     2.3.  Accept-Ranges  . . . . . . . . . . . . . . . . . . . . . .  7</td><td class="lineno" valign="top"></td></tr>
111      <tr><td class="lineno" valign="top"></td><td class="left">   3.  Range Requests . . . . . . . . . . . . . . . . . . . . . . . .  7</td><td> </td><td class="right">   3.  Range Requests . . . . . . . . . . . . . . . . . . . . . . . .  7</td><td class="lineno" valign="top"></td></tr>
112      <tr><td class="lineno" valign="top"></td><td class="left">     3.1.  Range  . . . . . . . . . . . . . . . . . . . . . . . . . .  7</td><td> </td><td class="right">     3.1.  Range  . . . . . . . . . . . . . . . . . . . . . . . . . .  7</td><td class="lineno" valign="top"></td></tr>
113      <tr><td class="lineno" valign="top"></td><td class="left">     3.2.  If-Range . . . . . . . . . . . . . . . . . . . . . . . . .  9</td><td> </td><td class="right">     3.2.  If-Range . . . . . . . . . . . . . . . . . . . . . . . . .  9</td><td class="lineno" valign="top"></td></tr>
114      <tr><td><a name="diff0006" /></td></tr>
115      <tr><td class="lineno" valign="top"></td><td class="lblock">   4.  Responses to a Range Request . . . . . . . . . . . . . . . . . <span class="delete"> 9</span></td><td> </td><td class="rblock">   4.  Responses to a Range Request . . . . . . . . . . . . . . . . . <span class="insert">10</span></td><td class="lineno" valign="top"></td></tr>
116      <tr><td class="lineno" valign="top"></td><td class="left">     4.1.  206 Partial Content  . . . . . . . . . . . . . . . . . . . 10</td><td> </td><td class="right">     4.1.  206 Partial Content  . . . . . . . . . . . . . . . . . . . 10</td><td class="lineno" valign="top"></td></tr>
117      <tr><td class="lineno" valign="top"></td><td class="left">     4.2.  Content-Range  . . . . . . . . . . . . . . . . . . . . . . 12</td><td> </td><td class="right">     4.2.  Content-Range  . . . . . . . . . . . . . . . . . . . . . . 12</td><td class="lineno" valign="top"></td></tr>
118      <tr><td class="lineno" valign="top"></td><td class="left">     4.3.  Combining Ranges . . . . . . . . . . . . . . . . . . . . . 14</td><td> </td><td class="right">     4.3.  Combining Ranges . . . . . . . . . . . . . . . . . . . . . 14</td><td class="lineno" valign="top"></td></tr>
119      <tr><td class="lineno" valign="top"></td><td class="left">     4.4.  416 Range Not Satisfiable  . . . . . . . . . . . . . . . . 15</td><td> </td><td class="right">     4.4.  416 Range Not Satisfiable  . . . . . . . . . . . . . . . . 15</td><td class="lineno" valign="top"></td></tr>
120      <tr><td class="lineno" valign="top"></td><td class="left">   5.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 15</td><td> </td><td class="right">   5.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 15</td><td class="lineno" valign="top"></td></tr>
121      <tr><td class="lineno" valign="top"></td><td class="left">     5.1.  Range Unit Registry  . . . . . . . . . . . . . . . . . . . 15</td><td> </td><td class="right">     5.1.  Range Unit Registry  . . . . . . . . . . . . . . . . . . . 15</td><td class="lineno" valign="top"></td></tr>
122      <tr><td class="lineno" valign="top"></td><td class="left">       5.1.1.  Procedure  . . . . . . . . . . . . . . . . . . . . . . 15</td><td> </td><td class="right">       5.1.1.  Procedure  . . . . . . . . . . . . . . . . . . . . . . 15</td><td class="lineno" valign="top"></td></tr>
123      <tr><td class="lineno" valign="top"></td><td class="left">       5.1.2.  Registrations  . . . . . . . . . . . . . . . . . . . . 16</td><td> </td><td class="right">       5.1.2.  Registrations  . . . . . . . . . . . . . . . . . . . . 16</td><td class="lineno" valign="top"></td></tr>
124      <tr><td class="lineno" valign="top"></td><td class="left">     5.2.  Status Code Registration . . . . . . . . . . . . . . . . . 16</td><td> </td><td class="right">     5.2.  Status Code Registration . . . . . . . . . . . . . . . . . 16</td><td class="lineno" valign="top"></td></tr>
125      <tr><td class="lineno" valign="top"></td><td class="left">     5.3.  Header Field Registration  . . . . . . . . . . . . . . . . 16</td><td> </td><td class="right">     5.3.  Header Field Registration  . . . . . . . . . . . . . . . . 16</td><td class="lineno" valign="top"></td></tr>
126      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
127      <tr bgcolor="gray" ><td></td><th><a name="part-l3" /><small>skipping to change at</small><em> page 3, line 43</em></th><th> </th><th><a name="part-r3" /><small>skipping to change at</small><em> page 3, line 43</em></th><td></td></tr>
128      <tr><td class="lineno" valign="top"></td><td class="left">     8.2.  Informative References . . . . . . . . . . . . . . . . . . 18</td><td> </td><td class="right">     8.2.  Informative References . . . . . . . . . . . . . . . . . . 18</td><td class="lineno" valign="top"></td></tr>
129      <tr><td class="lineno" valign="top"></td><td class="left">   Appendix A.  Internet Media Type multipart/byteranges  . . . . . . 18</td><td> </td><td class="right">   Appendix A.  Internet Media Type multipart/byteranges  . . . . . . 18</td><td class="lineno" valign="top"></td></tr>
130      <tr><td class="lineno" valign="top"></td><td class="left">   Appendix B.  Changes from RFC 2616 . . . . . . . . . . . . . . . . 20</td><td> </td><td class="right">   Appendix B.  Changes from RFC 2616 . . . . . . . . . . . . . . . . 20</td><td class="lineno" valign="top"></td></tr>
131      <tr><td class="lineno" valign="top"></td><td class="left">   Appendix C.  Imported ABNF . . . . . . . . . . . . . . . . . . . . 21</td><td> </td><td class="right">   Appendix C.  Imported ABNF . . . . . . . . . . . . . . . . . . . . 21</td><td class="lineno" valign="top"></td></tr>
132      <tr><td class="lineno" valign="top"></td><td class="left">   Appendix D.  Collected ABNF  . . . . . . . . . . . . . . . . . . . 21</td><td> </td><td class="right">   Appendix D.  Collected ABNF  . . . . . . . . . . . . . . . . . . . 21</td><td class="lineno" valign="top"></td></tr>
133      <tr><td class="lineno" valign="top"></td><td class="left">   Appendix E.  Change Log (to be removed by RFC Editor before</td><td> </td><td class="right">   Appendix E.  Change Log (to be removed by RFC Editor before</td><td class="lineno" valign="top"></td></tr>
134      <tr><td class="lineno" valign="top"></td><td class="left">                publication)  . . . . . . . . . . . . . . . . . . . . 23</td><td> </td><td class="right">                publication)  . . . . . . . . . . . . . . . . . . . . 23</td><td class="lineno" valign="top"></td></tr>
135      <tr><td class="lineno" valign="top"></td><td class="left">     E.1.  Since draft-ietf-httpbis-p5-range-19 . . . . . . . . . . . 23</td><td> </td><td class="right">     E.1.  Since draft-ietf-httpbis-p5-range-19 . . . . . . . . . . . 23</td><td class="lineno" valign="top"></td></tr>
136      <tr><td class="lineno" valign="top"></td><td class="left">     E.2.  Since draft-ietf-httpbis-p5-range-20 . . . . . . . . . . . 23</td><td> </td><td class="right">     E.2.  Since draft-ietf-httpbis-p5-range-20 . . . . . . . . . . . 23</td><td class="lineno" valign="top"></td></tr>
137      <tr><td class="lineno" valign="top"></td><td class="left">     E.3.  Since draft-ietf-httpbis-p5-range-21 . . . . . . . . . . . 23</td><td> </td><td class="right">     E.3.  Since draft-ietf-httpbis-p5-range-21 . . . . . . . . . . . 23</td><td class="lineno" valign="top"></td></tr>
138      <tr><td><a name="diff0007" /></td></tr>
139      <tr><td class="lineno" valign="top"></td><td class="lblock">   Index  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">23</span></td><td> </td><td class="rblock">     <span class="insert">E.4.  Since draft-ietf-httpbis-p5-range-22 . . . . . . . . . . . 24</span></td><td class="lineno" valign="top"></td></tr>
140      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">   Index  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">24</span></td><td class="lineno" valign="top"></td></tr>
141      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
142      <tr><td class="lineno" valign="top"></td><td class="left">1.  Introduction</td><td> </td><td class="right">1.  Introduction</td><td class="lineno" valign="top"></td></tr>
143      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
144      <tr><td class="lineno" valign="top"></td><td class="left">   Hypertext Transfer Protocol (HTTP) clients often encounter</td><td> </td><td class="right">   Hypertext Transfer Protocol (HTTP) clients often encounter</td><td class="lineno" valign="top"></td></tr>
145      <tr><td class="lineno" valign="top"></td><td class="left">   interrupted data transfers as a result of canceled requests or</td><td> </td><td class="right">   interrupted data transfers as a result of canceled requests or</td><td class="lineno" valign="top"></td></tr>
146      <tr><td class="lineno" valign="top"></td><td class="left">   dropped connections.  When a client has stored a partial</td><td> </td><td class="right">   dropped connections.  When a client has stored a partial</td><td class="lineno" valign="top"></td></tr>
147      <tr><td class="lineno" valign="top"></td><td class="left">   representation, it is desirable to request the remainder of that</td><td> </td><td class="right">   representation, it is desirable to request the remainder of that</td><td class="lineno" valign="top"></td></tr>
148      <tr><td class="lineno" valign="top"></td><td class="left">   representation in a subsequent request rather than transfer the</td><td> </td><td class="right">   representation in a subsequent request rather than transfer the</td><td class="lineno" valign="top"></td></tr>
149      <tr><td class="lineno" valign="top"></td><td class="left">   entire representation.  Likewise, devices with limited local storage</td><td> </td><td class="right">   entire representation.  Likewise, devices with limited local storage</td><td class="lineno" valign="top"></td></tr>
150      <tr><td class="lineno" valign="top"></td><td class="left">   might benefit from being able to request only a subset of a larger</td><td> </td><td class="right">   might benefit from being able to request only a subset of a larger</td><td class="lineno" valign="top"></td></tr>
151      <tr><td class="lineno" valign="top"></td><td class="left">   representation, such as a single page of a very large document, or</td><td> </td><td class="right">   representation, such as a single page of a very large document, or</td><td class="lineno" valign="top"></td></tr>
152      <tr><td class="lineno" valign="top"></td><td class="left">   the dimensions of an embedded image.</td><td> </td><td class="right">   the dimensions of an embedded image.</td><td class="lineno" valign="top"></td></tr>
153      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
154      <tr><td class="lineno" valign="top"></td><td class="left">   This document defines HTTP/1.1 range requests, partial responses, and</td><td> </td><td class="right">   This document defines HTTP/1.1 range requests, partial responses, and</td><td class="lineno" valign="top"></td></tr>
155      <tr><td><a name="diff0008" /></td></tr>
156      <tr><td class="lineno" valign="top"></td><td class="lblock">   the multipart/byteranges media <span class="delete">type, obsoleting those parts</span></td><td> </td><td class="rblock">   the multipart/byteranges media <span class="insert">type.</span>  Range requests are an OPTIONAL</td><td class="lineno" valign="top"></td></tr>
157      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   previously defined in [RFC2616].</span>  Range requests are an OPTIONAL</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
158      <tr><td class="lineno" valign="top"></td><td class="left">   feature of HTTP, designed so that recipients not implementing this</td><td> </td><td class="right">   feature of HTTP, designed so that recipients not implementing this</td><td class="lineno" valign="top"></td></tr>
159      <tr><td class="lineno" valign="top"></td><td class="left">   feature (or not supporting it for the target resource) can respond as</td><td> </td><td class="right">   feature (or not supporting it for the target resource) can respond as</td><td class="lineno" valign="top"></td></tr>
160      <tr><td class="lineno" valign="top"></td><td class="left">   if it is a normal GET request without impacting interoperability.</td><td> </td><td class="right">   if it is a normal GET request without impacting interoperability.</td><td class="lineno" valign="top"></td></tr>
161      <tr><td class="lineno" valign="top"></td><td class="left">   Partial responses are indicated by a distinct status code to not be</td><td> </td><td class="right">   Partial responses are indicated by a distinct status code to not be</td><td class="lineno" valign="top"></td></tr>
162      <tr><td class="lineno" valign="top"></td><td class="left">   mistaken for full responses by caches that might not implement the</td><td> </td><td class="right">   mistaken for full responses by caches that might not implement the</td><td class="lineno" valign="top"></td></tr>
163      <tr><td class="lineno" valign="top"></td><td class="left">   feature.</td><td> </td><td class="right">   feature.</td><td class="lineno" valign="top"></td></tr>
164      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
165      <tr><td class="lineno" valign="top"></td><td class="left">   Although the range request mechanism is designed to allow for</td><td> </td><td class="right">   Although the range request mechanism is designed to allow for</td><td class="lineno" valign="top"></td></tr>
166      <tr><td class="lineno" valign="top"></td><td class="left">   extensible range types, this specification only defines requests for</td><td> </td><td class="right">   extensible range types, this specification only defines requests for</td><td class="lineno" valign="top"></td></tr>
167      <tr><td class="lineno" valign="top"></td><td class="left">   byte ranges.</td><td> </td><td class="right">   byte ranges.</td><td class="lineno" valign="top"></td></tr>
168      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
169      <tr bgcolor="gray" ><td></td><th><a name="part-l4" /><small>skipping to change at</small><em> page 5, line 22</em></th><th> </th><th><a name="part-r4" /><small>skipping to change at</small><em> page 5, line 21</em></th><td></td></tr>
170      <tr><td class="lineno" valign="top"></td><td class="left">2.1.  Byte Ranges</td><td> </td><td class="right">2.1.  Byte Ranges</td><td class="lineno" valign="top"></td></tr>
171      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
172      <tr><td class="lineno" valign="top"></td><td class="left">   Since representation data is transferred in payloads as a sequence of</td><td> </td><td class="right">   Since representation data is transferred in payloads as a sequence of</td><td class="lineno" valign="top"></td></tr>
173      <tr><td class="lineno" valign="top"></td><td class="left">   octets, a byte range is a meaningful substructure for any</td><td> </td><td class="right">   octets, a byte range is a meaningful substructure for any</td><td class="lineno" valign="top"></td></tr>
174      <tr><td class="lineno" valign="top"></td><td class="left">   representation transferable over HTTP (Section 3 of [Part2]).  We</td><td> </td><td class="right">   representation transferable over HTTP (Section 3 of [Part2]).  We</td><td class="lineno" valign="top"></td></tr>
175      <tr><td class="lineno" valign="top"></td><td class="left">   define the "bytes" range unit for expressing subranges of the data's</td><td> </td><td class="right">   define the "bytes" range unit for expressing subranges of the data's</td><td class="lineno" valign="top"></td></tr>
176      <tr><td class="lineno" valign="top"></td><td class="left">   octet sequence.</td><td> </td><td class="right">   octet sequence.</td><td class="lineno" valign="top"></td></tr>
177      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
178      <tr><td class="lineno" valign="top"></td><td class="left">     bytes-unit       = "bytes"</td><td> </td><td class="right">     bytes-unit       = "bytes"</td><td class="lineno" valign="top"></td></tr>
179      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
180      <tr><td><a name="diff0009" /></td></tr>
181      <tr><td class="lineno" valign="top"></td><td class="lblock">   A byte range <span class="delete">operation MAY</span> specify a single range of bytes, or a set</td><td> </td><td class="rblock">   A byte range <span class="insert">request can</span> specify a single range of bytes, or a set of</td><td class="lineno" valign="top"></td></tr>
182      <tr><td class="lineno" valign="top"></td><td class="lblock">   of ranges within a single representation.</td><td> </td><td class="rblock">   ranges within a single representation.</td><td class="lineno" valign="top"></td></tr>
183      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
184      <tr><td class="lineno" valign="top"></td><td class="left">     byte-ranges-specifier = bytes-unit "=" byte-range-set</td><td> </td><td class="right">     byte-ranges-specifier = bytes-unit "=" byte-range-set</td><td class="lineno" valign="top"></td></tr>
185      <tr><td class="lineno" valign="top"></td><td class="left">     byte-range-set  = 1#( byte-range-spec / suffix-byte-range-spec )</td><td> </td><td class="right">     byte-range-set  = 1#( byte-range-spec / suffix-byte-range-spec )</td><td class="lineno" valign="top"></td></tr>
186      <tr><td class="lineno" valign="top"></td><td class="left">     byte-range-spec = first-byte-pos "-" [ last-byte-pos ]</td><td> </td><td class="right">     byte-range-spec = first-byte-pos "-" [ last-byte-pos ]</td><td class="lineno" valign="top"></td></tr>
187      <tr><td class="lineno" valign="top"></td><td class="left">     first-byte-pos  = 1*DIGIT</td><td> </td><td class="right">     first-byte-pos  = 1*DIGIT</td><td class="lineno" valign="top"></td></tr>
188      <tr><td class="lineno" valign="top"></td><td class="left">     last-byte-pos   = 1*DIGIT</td><td> </td><td class="right">     last-byte-pos   = 1*DIGIT</td><td class="lineno" valign="top"></td></tr>
189      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
190      <tr><td class="lineno" valign="top"></td><td class="left">   The first-byte-pos value in a byte-range-spec gives the byte-offset</td><td> </td><td class="right">   The first-byte-pos value in a byte-range-spec gives the byte-offset</td><td class="lineno" valign="top"></td></tr>
191      <tr><td class="lineno" valign="top"></td><td class="left">   of the first byte in a range.  The last-byte-pos value gives the</td><td> </td><td class="right">   of the first byte in a range.  The last-byte-pos value gives the</td><td class="lineno" valign="top"></td></tr>
192      <tr><td class="lineno" valign="top"></td><td class="left">   byte-offset of the last byte in the range; that is, the byte</td><td> </td><td class="right">   byte-offset of the last byte in the range; that is, the byte</td><td class="lineno" valign="top"></td></tr>
193      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
194      <tr bgcolor="gray" ><td></td><th><a name="part-l5" /><small>skipping to change at</small><em> page 6, line 16</em></th><th> </th><th><a name="part-r5" /><small>skipping to change at</small><em> page 6, line 15</em></th><td></td></tr>
195      <tr><td class="lineno" valign="top"></td><td class="left">   value of last-byte-pos with a value that is one less than the current</td><td> </td><td class="right">   value of last-byte-pos with a value that is one less than the current</td><td class="lineno" valign="top"></td></tr>
196      <tr><td class="lineno" valign="top"></td><td class="left">   length of the selected representation).</td><td> </td><td class="right">   length of the selected representation).</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">   A client can request the last N bytes of the selected representation</td><td> </td><td class="right">   A client can request the last N bytes of the selected representation</td><td class="lineno" valign="top"></td></tr>
199      <tr><td class="lineno" valign="top"></td><td class="left">   using a suffix-byte-range-spec.</td><td> </td><td class="right">   using a suffix-byte-range-spec.</td><td class="lineno" valign="top"></td></tr>
200      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
201      <tr><td class="lineno" valign="top"></td><td class="left">     suffix-byte-range-spec = "-" suffix-length</td><td> </td><td class="right">     suffix-byte-range-spec = "-" suffix-length</td><td class="lineno" valign="top"></td></tr>
202      <tr><td class="lineno" valign="top"></td><td class="left">     suffix-length = 1*DIGIT</td><td> </td><td class="right">     suffix-length = 1*DIGIT</td><td class="lineno" valign="top"></td></tr>
203      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
204      <tr><td class="lineno" valign="top"></td><td class="left">   If the selected representation is shorter than the specified suffix-</td><td> </td><td class="right">   If the selected representation is shorter than the specified suffix-</td><td class="lineno" valign="top"></td></tr>
205      <tr><td><a name="diff0010" /></td></tr>
206      <tr><td class="lineno" valign="top"></td><td class="lblock">   length, the entire representation is used.  <span class="delete">For example (assuming</span> a</td><td> </td><td class="rblock">   length, the entire representation is used.</td><td class="lineno" valign="top"></td></tr>
207      <tr><td class="lineno" valign="top"></td><td class="lblock">   representation of length <span class="delete">10000):</span></td><td> </td><td class="rblock">                                                                         </td><td class="lineno" valign="top"></td></tr>
208      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">   <span class="insert">Additional examples, assuming</span> a representation of length <span class="insert">10000:</span></td><td class="lineno" valign="top"></td></tr>
209      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
210      <tr><td class="lineno" valign="top"></td><td class="left">   o  The final 500 bytes (byte offsets 9500-9999, inclusive):</td><td> </td><td class="right">   o  The final 500 bytes (byte offsets 9500-9999, inclusive):</td><td class="lineno" valign="top"></td></tr>
211      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
212      <tr><td class="lineno" valign="top"></td><td class="left">        bytes=-500</td><td> </td><td class="right">        bytes=-500</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">      Or:</td><td> </td><td class="right">      Or:</td><td class="lineno" valign="top"></td></tr>
215      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
216      <tr><td class="lineno" valign="top"></td><td class="left">        bytes=9500-</td><td> </td><td class="right">        bytes=9500-</td><td class="lineno" valign="top"></td></tr>
217      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
218      <tr><td class="lineno" valign="top"></td><td class="left">   o  The first and last bytes only (bytes 0 and 9999):</td><td> </td><td class="right">   o  The first and last bytes only (bytes 0 and 9999):</td><td class="lineno" valign="top"></td></tr>
219      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
220      <tr bgcolor="gray" ><td></td><th><a name="part-l6" /><small>skipping to change at</small><em> page 8, line 28</em></th><th> </th><th><a name="part-r6" /><small>skipping to change at</small><em> page 8, line 28</em></th><td></td></tr>
221      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
222      <tr><td class="lineno" valign="top"></td><td class="left">   A client that is requesting multiple ranges SHOULD list those ranges</td><td> </td><td class="right">   A client that is requesting multiple ranges SHOULD list those ranges</td><td class="lineno" valign="top"></td></tr>
223      <tr><td class="lineno" valign="top"></td><td class="left">   in ascending order (the order in which they would typically be</td><td> </td><td class="right">   in ascending order (the order in which they would typically be</td><td class="lineno" valign="top"></td></tr>
224      <tr><td class="lineno" valign="top"></td><td class="left">   received in a complete representation) unless there is a specific</td><td> </td><td class="right">   received in a complete representation) unless there is a specific</td><td class="lineno" valign="top"></td></tr>
225      <tr><td class="lineno" valign="top"></td><td class="left">   need to request a later part earlier.  For example, a user agent</td><td> </td><td class="right">   need to request a later part earlier.  For example, a user agent</td><td class="lineno" valign="top"></td></tr>
226      <tr><td class="lineno" valign="top"></td><td class="left">   processing a large representation with an internal catalog of parts</td><td> </td><td class="right">   processing a large representation with an internal catalog of parts</td><td class="lineno" valign="top"></td></tr>
227      <tr><td class="lineno" valign="top"></td><td class="left">   might need to request later parts first, particularly if the</td><td> </td><td class="right">   might need to request later parts first, particularly if the</td><td class="lineno" valign="top"></td></tr>
228      <tr><td class="lineno" valign="top"></td><td class="left">   representation consists of pages stored in reverse order and the user</td><td> </td><td class="right">   representation consists of pages stored in reverse order and the user</td><td class="lineno" valign="top"></td></tr>
229      <tr><td class="lineno" valign="top"></td><td class="left">   agent wishes to transfer one page at a time.</td><td> </td><td class="right">   agent wishes to transfer one page at a time.</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><a name="diff0011" /></td></tr>
232      <tr><td class="lineno" valign="top"></td><td class="lblock">   The Range header field is evaluated after evaluating the</td><td> </td><td class="rblock">   The Range header field is evaluated after evaluating the <span class="insert">precondition</span></td><td class="lineno" valign="top"></td></tr>
233      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">preconditions of [Part4]</span> and only if the result of <span class="delete">their evaluation</span></td><td> </td><td class="rblock"><span class="insert">   header fields defined in [Part4],</span> and only if the result <span class="insert">in absence</span></td><td class="lineno" valign="top"></td></tr>
234      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   is leading toward</span> a 200 (OK) response.  In other words, Range is</td><td> </td><td class="rblock">   of <span class="insert">the Range header field would be</span> a 200 (OK) response.  In other</td><td class="lineno" valign="top"></td></tr>
235      <tr><td class="lineno" valign="top"></td><td class="lblock">   ignored when a conditional GET would result in a 304 (Not Modified)</td><td> </td><td class="rblock">   words, Range is ignored when a conditional GET would result in a 304</td><td class="lineno" valign="top"></td></tr>
236      <tr><td class="lineno" valign="top"></td><td class="lblock">   response.</td><td> </td><td class="rblock">   (Not Modified) response.</td><td class="lineno" valign="top"></td></tr>
237      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
238      <tr><td class="lineno" valign="top"></td><td class="left">   The If-Range header field (Section 3.2) can be used as a precondition</td><td> </td><td class="right">   The If-Range header field (Section 3.2) can be used as a precondition</td><td class="lineno" valign="top"></td></tr>
239      <tr><td class="lineno" valign="top"></td><td class="left">   to applying the Range header field.</td><td> </td><td class="right">   to applying the Range header field.</td><td class="lineno" valign="top"></td></tr>
240      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
241      <tr><td class="lineno" valign="top"></td><td class="left">   If all of the preconditions are true, the server supports the Range</td><td> </td><td class="right">   If all of the preconditions are true, the server supports the Range</td><td class="lineno" valign="top"></td></tr>
242      <tr><td class="lineno" valign="top"></td><td class="left">   header field for the target resource, and the specified range(s) are</td><td> </td><td class="right">   header field for the target resource, and the specified range(s) are</td><td class="lineno" valign="top"></td></tr>
243      <tr><td class="lineno" valign="top"></td><td class="left">   valid and satisfiable (as defined in Section 2.1), the server SHOULD</td><td> </td><td class="right">   valid and satisfiable (as defined in Section 2.1), the server SHOULD</td><td class="lineno" valign="top"></td></tr>
244      <tr><td class="lineno" valign="top"></td><td class="left">   send a 206 (Partial Content) response with a payload containing one</td><td> </td><td class="right">   send a 206 (Partial Content) response with a payload containing one</td><td class="lineno" valign="top"></td></tr>
245      <tr><td class="lineno" valign="top"></td><td class="left">   or more partial representations that correspond to the satisfiable</td><td> </td><td class="right">   or more partial representations that correspond to the satisfiable</td><td class="lineno" valign="top"></td></tr>
246      <tr><td class="lineno" valign="top"></td><td class="left">   ranges requested, as defined in Section 4.</td><td> </td><td class="right">   ranges requested, as defined in Section 4.</td><td class="lineno" valign="top"></td></tr>
247      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
248      <tr bgcolor="gray" ><td></td><th><a name="part-l7" /><small>skipping to change at</small><em> page 9, line 22</em></th><th> </th><th><a name="part-r7" /><small>skipping to change at</small><em> page 9, line 22</em></th><td></td></tr>
249      <tr><td class="lineno" valign="top"></td><td class="left">   have to make a second request to obtain the entire current</td><td> </td><td class="right">   have to make a second request to obtain the entire current</td><td class="lineno" valign="top"></td></tr>
250      <tr><td class="lineno" valign="top"></td><td class="left">   representation.</td><td> </td><td class="right">   representation.</td><td class="lineno" valign="top"></td></tr>
251      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
252      <tr><td class="lineno" valign="top"></td><td class="left">   The "If-Range" header field allows a client to "short-circuit" the</td><td> </td><td class="right">   The "If-Range" header field allows a client to "short-circuit" the</td><td class="lineno" valign="top"></td></tr>
253      <tr><td class="lineno" valign="top"></td><td class="left">   second request.  Informally, its meaning is: if the representation is</td><td> </td><td class="right">   second request.  Informally, its meaning is: if the representation is</td><td class="lineno" valign="top"></td></tr>
254      <tr><td class="lineno" valign="top"></td><td class="left">   unchanged, send me the part(s) that I am requesting in Range;</td><td> </td><td class="right">   unchanged, send me the part(s) that I am requesting in Range;</td><td class="lineno" valign="top"></td></tr>
255      <tr><td class="lineno" valign="top"></td><td class="left">   otherwise, send me the entire representation.</td><td> </td><td class="right">   otherwise, send me the entire representation.</td><td class="lineno" valign="top"></td></tr>
256      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
257      <tr><td class="lineno" valign="top"></td><td class="left">     If-Range = entity-tag / HTTP-date</td><td> </td><td class="right">     If-Range = entity-tag / HTTP-date</td><td class="lineno" valign="top"></td></tr>
258      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
259      <tr><td><a name="diff0012" /></td></tr>
260      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">Clients</span> MUST NOT <span class="delete">use</span> an entity-tag marked as <span class="delete">weak in an If-Range</span></td><td> </td><td class="rblock">   <span class="insert">A client</span> MUST NOT <span class="insert">generate an If-Range header field containing</span> an</td><td class="lineno" valign="top"></td></tr>
261      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   field value and</span> MUST NOT <span class="delete">use</span> a Last-Modified date <span class="delete">in an If-Range</span></td><td> </td><td class="rblock">   entity-tag <span class="insert">that is</span> marked as <span class="insert">weak.  A client</span> MUST NOT <span class="insert">generate an If-</span></td><td class="lineno" valign="top"></td></tr>
262      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   field value</span> unless <span class="delete">it</span> has no entity-tag for the representation and</td><td> </td><td class="rblock"><span class="insert">   Range header field containing</span> a Last-Modified date unless <span class="insert">the client</span></td><td class="lineno" valign="top"></td></tr>
263      <tr><td class="lineno" valign="top"></td><td class="lblock">   the <span class="delete">Last-Modified</span> date <span class="delete">it does have for the representation</span> is strong</td><td> </td><td class="rblock">   has no entity-tag for the <span class="insert">corresponding</span> representation and the <span class="insert">Last-</span></td><td class="lineno" valign="top"></td></tr>
264      <tr><td class="lineno" valign="top"></td><td class="lblock">   in the sense defined by Section 2.2.2 of [Part4].</td><td> </td><td class="rblock"><span class="insert">   Modified</span> date is strong in the sense defined by Section 2.2.2 of</td><td class="lineno" valign="top"></td></tr>
265      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">   [Part4].</td><td class="lineno" valign="top"></td></tr>
266      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
267      <tr><td class="lineno" valign="top"></td><td class="left">   A server that evaluates a conditional range request that is</td><td> </td><td class="right">   A server that evaluates a conditional range request that is</td><td class="lineno" valign="top"></td></tr>
268      <tr><td class="lineno" valign="top"></td><td class="left">   applicable to one of its representations MUST evaluate the condition</td><td> </td><td class="right">   applicable to one of its representations MUST evaluate the condition</td><td class="lineno" valign="top"></td></tr>
269      <tr><td class="lineno" valign="top"></td><td class="left">   as false if the entity-tag used as a validator is marked as weak or,</td><td> </td><td class="right">   as false if the entity-tag used as a validator is marked as weak or,</td><td class="lineno" valign="top"></td></tr>
270      <tr><td class="lineno" valign="top"></td><td class="left">   when an HTTP-date is used as the validator, if the date value is not</td><td> </td><td class="right">   when an HTTP-date is used as the validator, if the date value is not</td><td class="lineno" valign="top"></td></tr>
271      <tr><td class="lineno" valign="top"></td><td class="left">   strong in the sense defined by Section 2.2.2 of [Part4].  (A server</td><td> </td><td class="right">   strong in the sense defined by Section 2.2.2 of [Part4].  (A server</td><td class="lineno" valign="top"></td></tr>
272      <tr><td class="lineno" valign="top"></td><td class="left">   can distinguish between a valid HTTP-date and any form of entity-tag</td><td> </td><td class="right">   can distinguish between a valid HTTP-date and any form of entity-tag</td><td class="lineno" valign="top"></td></tr>
273      <tr><td class="lineno" valign="top"></td><td class="left">   by examining the first two characters.)</td><td> </td><td class="right">   by examining the first two characters.)</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 client MUST NOT generate an If-Range header field in a request that</td><td> </td><td class="right">   A client MUST NOT generate an If-Range header field in a request that</td><td class="lineno" valign="top"></td></tr>
276      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
277      <tr bgcolor="gray" ><td></td><th><a name="part-l8" /><small>skipping to change at</small><em> page 10, line 4</em></th><th> </th><th><a name="part-r8" /><small>skipping to change at</small><em> page 10, line 6</em></th><td></td></tr>
278      <tr><td class="lineno" valign="top"></td><td class="left">   field received in a request for a target resource that does not</td><td> </td><td class="right">   field received in a request for a target resource that does not</td><td class="lineno" valign="top"></td></tr>
279      <tr><td class="lineno" valign="top"></td><td class="left">   support Range requests.</td><td> </td><td class="right">   support Range requests.</td><td class="lineno" valign="top"></td></tr>
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 the validator given in the If-Range header field matches the</td><td> </td><td class="right">   If the validator given in the If-Range header field matches the</td><td class="lineno" valign="top"></td></tr>
282      <tr><td class="lineno" valign="top"></td><td class="left">   current validator for the selected representation of the target</td><td> </td><td class="right">   current validator for the selected representation of the target</td><td class="lineno" valign="top"></td></tr>
283      <tr><td class="lineno" valign="top"></td><td class="left">   resource, then the server SHOULD process the Range header field as</td><td> </td><td class="right">   resource, then the server SHOULD process the Range header field as</td><td class="lineno" valign="top"></td></tr>
284      <tr><td class="lineno" valign="top"></td><td class="left">   requested.  If the validator does not match, then the server MUST</td><td> </td><td class="right">   requested.  If the validator does not match, then the server MUST</td><td class="lineno" valign="top"></td></tr>
285      <tr><td class="lineno" valign="top"></td><td class="left">   ignore the Range header field.</td><td> </td><td class="right">   ignore the Range header field.</td><td class="lineno" valign="top"></td></tr>
286      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
287      <tr><td class="lineno" valign="top"></td><td class="left">4.  Responses to a Range Request</td><td> </td><td class="right">4.  Responses to a Range Request</td><td class="lineno" valign="top"></td></tr>
288      <tr><td><a name="diff0013" /></td></tr>
289      <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>
290      <tr><td class="lineno" valign="top"></td><td class="left">4.1.  206 Partial Content</td><td> </td><td class="right">4.1.  206 Partial Content</td><td class="lineno" valign="top"></td></tr>
291      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
292      <tr><td class="lineno" valign="top"></td><td class="left">   The 206 (Partial Content) status code indicates that the server is</td><td> </td><td class="right">   The 206 (Partial Content) status code indicates that the server is</td><td class="lineno" valign="top"></td></tr>
293      <tr><td class="lineno" valign="top"></td><td class="left">   successfully fulfilling a range request for the target resource by</td><td> </td><td class="right">   successfully fulfilling a range request for the target resource by</td><td class="lineno" valign="top"></td></tr>
294      <tr><td class="lineno" valign="top"></td><td class="left">   transferring one or more parts of the selected representation that</td><td> </td><td class="right">   transferring one or more parts of the selected representation that</td><td class="lineno" valign="top"></td></tr>
295      <tr><td><a name="diff0014" /></td></tr>
296      <tr><td class="lineno" valign="top"></td><td class="lblock">   correspond to the satisfiable ranges found in the request<span class="delete">s</span>'s Range</td><td> </td><td class="rblock">   correspond to the satisfiable ranges found in the request's Range</td><td class="lineno" valign="top"></td></tr>
297      <tr><td class="lineno" valign="top"></td><td class="left">   header field (Section 3.1).</td><td> </td><td class="right">   header field (Section 3.1).</td><td class="lineno" valign="top"></td></tr>
298      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
299      <tr><td class="lineno" valign="top"></td><td class="left">   If a single part is being transferred, the server generating the 206</td><td> </td><td class="right">   If a single part is being transferred, the server generating the 206</td><td class="lineno" valign="top"></td></tr>
300      <tr><td class="lineno" valign="top"></td><td class="left">   response MUST generate a Content-Range header field, describing what</td><td> </td><td class="right">   response MUST generate a Content-Range header field, describing what</td><td class="lineno" valign="top"></td></tr>
301      <tr><td class="lineno" valign="top"></td><td class="left">   range of the selected representation is enclosed, and a payload</td><td> </td><td class="right">   range of the selected representation is enclosed, and a payload</td><td class="lineno" valign="top"></td></tr>
302      <tr><td class="lineno" valign="top"></td><td class="left">   consisting of the range.  For example:</td><td> </td><td class="right">   consisting of the range.  For example:</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">     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>
305      <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>
306      <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>
307      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
308      <tr bgcolor="gray" ><td></td><th><a name="part-l9" /><small>skipping to change at</small><em> page 11, line 40</em></th><th> </th><th><a name="part-r9" /><small>skipping to change at</small><em> page 11, line 40</em></th><td></td></tr>
309      <tr><td class="lineno" valign="top"></td><td class="left">   parameter length, it can be less efficient to transfer many small</td><td> </td><td class="right">   parameter length, it can be less efficient to transfer many small</td><td class="lineno" valign="top"></td></tr>
310      <tr><td class="lineno" valign="top"></td><td class="left">   disjoint parts than it is to transfer the entire selected</td><td> </td><td class="right">   disjoint parts than it is to transfer the entire selected</td><td class="lineno" valign="top"></td></tr>
311      <tr><td class="lineno" valign="top"></td><td class="left">   representation.</td><td> </td><td class="right">   representation.</td><td class="lineno" valign="top"></td></tr>
312      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
313      <tr><td class="lineno" valign="top"></td><td class="left">   A server MUST NOT generate a multipart response to a request for a</td><td> </td><td class="right">   A server MUST NOT generate a multipart response to a request for a</td><td class="lineno" valign="top"></td></tr>
314      <tr><td class="lineno" valign="top"></td><td class="left">   single range, since a client that does not request multiple parts</td><td> </td><td class="right">   single range, since a client that does not request multiple parts</td><td class="lineno" valign="top"></td></tr>
315      <tr><td class="lineno" valign="top"></td><td class="left">   might not support multipart responses.  However, a server MAY</td><td> </td><td class="right">   might not support multipart responses.  However, a server MAY</td><td class="lineno" valign="top"></td></tr>
316      <tr><td class="lineno" valign="top"></td><td class="left">   generate a multipart/byteranges payload with only a single body part</td><td> </td><td class="right">   generate a multipart/byteranges payload with only a single body part</td><td class="lineno" valign="top"></td></tr>
317      <tr><td class="lineno" valign="top"></td><td class="left">   if multiple ranges were requested and only one range was found to be</td><td> </td><td class="right">   if multiple ranges were requested and only one range was found to be</td><td class="lineno" valign="top"></td></tr>
318      <tr><td class="lineno" valign="top"></td><td class="left">   satisfiable or only one range remained after coalescing.  A client</td><td> </td><td class="right">   satisfiable or only one range remained after coalescing.  A client</td><td class="lineno" valign="top"></td></tr>
319      <tr><td><a name="diff0015" /></td></tr>
320      <tr><td class="lineno" valign="top"></td><td class="lblock">   that cannot process a multipart/byteranges response MUST NOT <span class="delete">ask</span> for</td><td> </td><td class="rblock">   that cannot process a multipart/byteranges response MUST NOT <span class="insert">generate</span></td><td class="lineno" valign="top"></td></tr>
321      <tr><td class="lineno" valign="top"></td><td class="lblock">   multiple <span class="delete">ranges in a single request.</span></td><td> </td><td class="rblock"><span class="insert">   a request that asks</span> for multiple <span class="insert">ranges.</span></td><td class="lineno" valign="top"></td></tr>
322      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
323      <tr><td class="lineno" valign="top"></td><td class="left">   When a multipart response payload is generated, the server SHOULD</td><td> </td><td class="right">   When a multipart response payload is generated, the server SHOULD</td><td class="lineno" valign="top"></td></tr>
324      <tr><td class="lineno" valign="top"></td><td class="left">   send the parts in the same order that the corresponding byte-range-</td><td> </td><td class="right">   send the parts in the same order that the corresponding byte-range-</td><td class="lineno" valign="top"></td></tr>
325      <tr><td class="lineno" valign="top"></td><td class="left">   spec appeared in the received Range header field, excluding those</td><td> </td><td class="right">   spec appeared in the received Range header field, excluding those</td><td class="lineno" valign="top"></td></tr>
326      <tr><td class="lineno" valign="top"></td><td class="left">   ranges that were deemed unsatisfiable or that were coalesced into</td><td> </td><td class="right">   ranges that were deemed unsatisfiable or that were coalesced into</td><td class="lineno" valign="top"></td></tr>
327      <tr><td class="lineno" valign="top"></td><td class="left">   other ranges.  A client that receives a multipart response MUST</td><td> </td><td class="right">   other ranges.  A client that receives a multipart response MUST</td><td class="lineno" valign="top"></td></tr>
328      <tr><td class="lineno" valign="top"></td><td class="left">   inspect the Content-Range header field present in each body part in</td><td> </td><td class="right">   inspect the Content-Range header field present in each body part in</td><td class="lineno" valign="top"></td></tr>
329      <tr><td class="lineno" valign="top"></td><td class="left">   order to determine which range is contained in that body part; a</td><td> </td><td class="right">   order to determine which range is contained in that body part; a</td><td class="lineno" valign="top"></td></tr>
330      <tr><td class="lineno" valign="top"></td><td class="left">   client cannot rely on receiving the same ranges that it requested,</td><td> </td><td class="right">   client cannot rely on receiving the same ranges that it requested,</td><td class="lineno" valign="top"></td></tr>
331      <tr><td class="lineno" valign="top"></td><td class="left">   nor the same order that it requested.</td><td> </td><td class="right">   nor the same order that it requested.</td><td class="lineno" valign="top"></td></tr>
332      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
333      <tr bgcolor="gray" ><td></td><th><a name="part-l10" /><small>skipping to change at</small><em> page 14, line 47</em></th><th> </th><th><a name="part-r10" /><small>skipping to change at</small><em> page 14, line 47</em></th><td></td></tr>
334      <tr><td class="lineno" valign="top"></td><td class="left">   are 206 responses, then the stored response with the most recent</td><td> </td><td class="right">   are 206 responses, then the stored response with the most recent</td><td class="lineno" valign="top"></td></tr>
335      <tr><td class="lineno" valign="top"></td><td class="left">   header fields is used as the source of header fields for the combined</td><td> </td><td class="right">   header fields is used as the source of header fields for the combined</td><td class="lineno" valign="top"></td></tr>
336      <tr><td class="lineno" valign="top"></td><td class="left">   response, except that the client MUST use other header fields</td><td> </td><td class="right">   response, except that the client MUST use other header fields</td><td class="lineno" valign="top"></td></tr>
337      <tr><td class="lineno" valign="top"></td><td class="left">   provided in the new response, aside from Content-Range, to replace</td><td> </td><td class="right">   provided in the new response, aside from Content-Range, to replace</td><td class="lineno" valign="top"></td></tr>
338      <tr><td class="lineno" valign="top"></td><td class="left">   all instances of the corresponding header fields in the stored</td><td> </td><td class="right">   all instances of the corresponding header fields in the stored</td><td class="lineno" valign="top"></td></tr>
339      <tr><td class="lineno" valign="top"></td><td class="left">   response.</td><td> </td><td class="right">   response.</td><td class="lineno" valign="top"></td></tr>
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">   The combined response message body consists of the union of partial</td><td> </td><td class="right">   The combined response message body consists of the union of partial</td><td class="lineno" valign="top"></td></tr>
342      <tr><td class="lineno" valign="top"></td><td class="left">   content ranges in the new response and each of the selected</td><td> </td><td class="right">   content ranges in the new response and each of the selected</td><td class="lineno" valign="top"></td></tr>
343      <tr><td class="lineno" valign="top"></td><td class="left">   responses.  If the union consists of the entire range of the</td><td> </td><td class="right">   responses.  If the union consists of the entire range of the</td><td class="lineno" valign="top"></td></tr>
344      <tr><td><a name="diff0016" /></td></tr>
345      <tr><td class="lineno" valign="top"></td><td class="lblock">   representation, then the client MUST <span class="delete">record</span> the combined response as</td><td> </td><td class="rblock">   representation, then the client MUST <span class="insert">process</span> the combined response as</td><td class="lineno" valign="top"></td></tr>
346      <tr><td class="lineno" valign="top"></td><td class="left">   if it were a complete 200 (OK) response, including a Content-Length</td><td> </td><td class="right">   if it were a complete 200 (OK) response, including a Content-Length</td><td class="lineno" valign="top"></td></tr>
347      <tr><td class="lineno" valign="top"></td><td class="left">   header field that reflects the complete length.  Otherwise, the</td><td> </td><td class="right">   header field that reflects the complete length.  Otherwise, the</td><td class="lineno" valign="top"></td></tr>
348      <tr><td><a name="diff0017" /></td></tr>
349      <tr><td class="lineno" valign="top"></td><td class="lblock">   client MUST <span class="delete">record</span> the set of continuous ranges as one of the</td><td> </td><td class="rblock">   client MUST <span class="insert">process</span> the set of continuous ranges as one of the</td><td class="lineno" valign="top"></td></tr>
350      <tr><td class="lineno" valign="top"></td><td class="left">   following: an incomplete 200 (OK) response if the combined response</td><td> </td><td class="right">   following: an incomplete 200 (OK) response if the combined response</td><td class="lineno" valign="top"></td></tr>
351      <tr><td class="lineno" valign="top"></td><td class="left">   is a prefix of the representation, a single 206 (Partial Content)</td><td> </td><td class="right">   is a prefix of the representation, a single 206 (Partial Content)</td><td class="lineno" valign="top"></td></tr>
352      <tr><td class="lineno" valign="top"></td><td class="left">   response containing a multipart/byteranges body, or multiple 206</td><td> </td><td class="right">   response containing a multipart/byteranges body, or multiple 206</td><td class="lineno" valign="top"></td></tr>
353      <tr><td class="lineno" valign="top"></td><td class="left">   (Partial Content) responses, each with one continuous range that is</td><td> </td><td class="right">   (Partial Content) responses, each with one continuous range that is</td><td class="lineno" valign="top"></td></tr>
354      <tr><td class="lineno" valign="top"></td><td class="left">   indicated by a Content-Range header field.</td><td> </td><td class="right">   indicated by a Content-Range header field.</td><td class="lineno" valign="top"></td></tr>
355      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
356      <tr><td class="lineno" valign="top"></td><td class="left">4.4.  416 Range Not Satisfiable</td><td> </td><td class="right">4.4.  416 Range Not Satisfiable</td><td class="lineno" valign="top"></td></tr>
357      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
358      <tr><td class="lineno" valign="top"></td><td class="left">   The 416 (Range Not Satisfiable) status code indicates that none of</td><td> </td><td class="right">   The 416 (Range Not Satisfiable) status code indicates that none of</td><td class="lineno" valign="top"></td></tr>
359      <tr><td class="lineno" valign="top"></td><td class="left">   the ranges in the request's Range header field (Section 3.1) overlap</td><td> </td><td class="right">   the ranges in the request's Range header field (Section 3.1) overlap</td><td class="lineno" valign="top"></td></tr>
360      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
361      <tr bgcolor="gray" ><td></td><th><a name="part-l11" /><small>skipping to change at</small><em> page 15, line 26</em></th><th> </th><th><a name="part-r11" /><small>skipping to change at</small><em> page 15, line 26</em></th><td></td></tr>
362      <tr><td class="lineno" valign="top"></td><td class="left">   For byte ranges, failing to overlap the current extent means that the</td><td> </td><td class="right">   For byte ranges, failing to overlap the current extent means that the</td><td class="lineno" valign="top"></td></tr>
363      <tr><td class="lineno" valign="top"></td><td class="left">   first-byte-pos of all of the byte-range-spec values were greater than</td><td> </td><td class="right">   first-byte-pos of all of the byte-range-spec values were greater than</td><td class="lineno" valign="top"></td></tr>
364      <tr><td class="lineno" valign="top"></td><td class="left">   the current length of the selected representation.  When this status</td><td> </td><td class="right">   the current length of the selected representation.  When this status</td><td class="lineno" valign="top"></td></tr>
365      <tr><td class="lineno" valign="top"></td><td class="left">   code is generated in response to a byte range request, the sender</td><td> </td><td class="right">   code is generated in response to a byte range request, the sender</td><td class="lineno" valign="top"></td></tr>
366      <tr><td class="lineno" valign="top"></td><td class="left">   SHOULD generate a Content-Range header field specifying the current</td><td> </td><td class="right">   SHOULD generate a Content-Range header field specifying the current</td><td class="lineno" valign="top"></td></tr>
367      <tr><td class="lineno" valign="top"></td><td class="left">   length of the selected representation (Section 4.2).</td><td> </td><td class="right">   length of the selected representation (Section 4.2).</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" valign="top"></td><td class="left">   For example:</td><td> </td><td class="right">   For example:</td><td class="lineno" valign="top"></td></tr>
370      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
371      <tr><td class="lineno" valign="top"></td><td class="left">     HTTP/1.1 416 Range Not Satisfiable</td><td> </td><td class="right">     HTTP/1.1 416 Range Not Satisfiable</td><td class="lineno" valign="top"></td></tr>
372      <tr><td><a name="diff0018" /></td></tr>
373      <tr><td class="lineno" valign="top"></td><td class="lblock">     Date: <span class="delete">Mon</span>, 20 Jan 2012 15:41:54 GMT</td><td> </td><td class="rblock">     Date: <span class="insert">Fri</span>, 20 Jan 2012 15:41:54 GMT</td><td class="lineno" valign="top"></td></tr>
374      <tr><td class="lineno" valign="top"></td><td class="left">     Content-Range: bytes */47022</td><td> </td><td class="right">     Content-Range: bytes */47022</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">      Note: Because servers are free to ignore Range, many</td><td> </td><td class="right">      Note: Because servers are free to ignore Range, many</td><td class="lineno" valign="top"></td></tr>
377      <tr><td><a name="diff0019" /></td></tr>
378      <tr><td class="lineno" valign="top"></td><td class="lblock">      implementations will simply respond with 200 (OK) <span class="delete">if the requested</span></td><td> </td><td class="rblock">      implementations will simply respond with <span class="insert">the entire selected</span></td><td class="lineno" valign="top"></td></tr>
379      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">      ranges are invalid or not satisfiable.</span>  That is partly because</td><td> </td><td class="rblock"><span class="insert">      representation in a</span> 200 (OK) <span class="insert">response.</span>  That is partly because</td><td class="lineno" valign="top"></td></tr>
380      <tr><td class="lineno" valign="top"></td><td class="left">      most clients are prepared to receive a 200 (OK) to complete the</td><td> </td><td class="right">      most clients are prepared to receive a 200 (OK) to complete the</td><td class="lineno" valign="top"></td></tr>
381      <tr><td class="lineno" valign="top"></td><td class="left">      task (albeit less efficiently) and partly because clients might</td><td> </td><td class="right">      task (albeit less efficiently) and partly because clients might</td><td class="lineno" valign="top"></td></tr>
382      <tr><td class="lineno" valign="top"></td><td class="left">      not stop making an invalid partial request until they have</td><td> </td><td class="right">      not stop making an invalid partial request until they have</td><td class="lineno" valign="top"></td></tr>
383      <tr><td class="lineno" valign="top"></td><td class="left">      received a complete representation.  Thus, clients cannot depend</td><td> </td><td class="right">      received a complete representation.  Thus, clients cannot depend</td><td class="lineno" valign="top"></td></tr>
384      <tr><td class="lineno" valign="top"></td><td class="left">      on receiving a 416 (Range Not Satisfiable) response even when it</td><td> </td><td class="right">      on receiving a 416 (Range Not Satisfiable) response even when it</td><td class="lineno" valign="top"></td></tr>
385      <tr><td class="lineno" valign="top"></td><td class="left">      is most appropriate.</td><td> </td><td class="right">      is most appropriate.</td><td class="lineno" valign="top"></td></tr>
386      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
387      <tr><td class="lineno" valign="top"></td><td class="left">5.  IANA Considerations</td><td> </td><td class="right">5.  IANA Considerations</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 class="lineno" valign="top"></td><td class="left">5.1.  Range Unit Registry</td><td> </td><td class="right">5.1.  Range Unit Registry</td><td class="lineno" valign="top"></td></tr>
390      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
391      <tr><td class="lineno" valign="top"></td><td class="left">   The HTTP Range Unit Registry defines the name space for the range</td><td> </td><td class="right">   The HTTP Range Unit Registry defines the name space for the range</td><td class="lineno" valign="top"></td></tr>
392      <tr><td class="lineno" valign="top"></td><td class="left">   unit names and refers to their corresponding specifications.  The</td><td> </td><td class="right">   unit names and refers to their corresponding specifications.  The</td><td class="lineno" valign="top"></td></tr>
393      <tr><td><a name="diff0020" /></td></tr>
394      <tr><td class="lineno" valign="top"></td><td class="lblock">   registry <span class="delete">is</span> maintained at</td><td> </td><td class="rblock">   registry <span class="insert">will be created and</span> maintained at</td><td class="lineno" valign="top"></td></tr>
395      <tr><td class="lineno" valign="top"></td><td class="left">   &lt;http://www.iana.org/assignments/http-parameters&gt;.</td><td> </td><td class="right">   &lt;http://www.iana.org/assignments/http-parameters&gt;.</td><td class="lineno" valign="top"></td></tr>
396      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
397      <tr><td class="lineno" valign="top"></td><td class="left">5.1.1.  Procedure</td><td> </td><td class="right">5.1.1.  Procedure</td><td class="lineno" valign="top"></td></tr>
398      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
399      <tr><td class="lineno" valign="top"></td><td class="left">   Registration of an HTTP Range Unit MUST include the following fields:</td><td> </td><td class="right">   Registration of an HTTP Range Unit MUST include the following fields:</td><td class="lineno" valign="top"></td></tr>
400      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
401      <tr><td class="lineno" valign="top"></td><td class="left">   o  Name</td><td> </td><td class="right">   o  Name</td><td class="lineno" valign="top"></td></tr>
402      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
403      <tr><td class="lineno" valign="top"></td><td class="left">   o  Description</td><td> </td><td class="right">   o  Description</td><td class="lineno" valign="top"></td></tr>
404      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
405      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
406      <tr bgcolor="gray" ><td></td><th><a name="part-l12" /><small>skipping to change at</small><em> page 16, line 46</em></th><th> </th><th><a name="part-r12" /><small>skipping to change at</small><em> page 16, line 46</em></th><td></td></tr>
407      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
408      <tr><td class="lineno" valign="top"></td><td class="left">   +-------+-----------------------+-------------+</td><td> </td><td class="right">   +-------+-----------------------+-------------+</td><td class="lineno" valign="top"></td></tr>
409      <tr><td class="lineno" valign="top"></td><td class="left">   | Value | Description           | Reference   |</td><td> </td><td class="right">   | Value | Description           | Reference   |</td><td class="lineno" valign="top"></td></tr>
410      <tr><td class="lineno" valign="top"></td><td class="left">   +-------+-----------------------+-------------+</td><td> </td><td class="right">   +-------+-----------------------+-------------+</td><td class="lineno" valign="top"></td></tr>
411      <tr><td class="lineno" valign="top"></td><td class="left">   | 206   | Partial Content       | Section 4.1 |</td><td> </td><td class="right">   | 206   | Partial Content       | Section 4.1 |</td><td class="lineno" valign="top"></td></tr>
412      <tr><td class="lineno" valign="top"></td><td class="left">   | 416   | Range Not Satisfiable | Section 4.4 |</td><td> </td><td class="right">   | 416   | Range Not Satisfiable | Section 4.4 |</td><td class="lineno" valign="top"></td></tr>
413      <tr><td class="lineno" valign="top"></td><td class="left">   +-------+-----------------------+-------------+</td><td> </td><td class="right">   +-------+-----------------------+-------------+</td><td class="lineno" valign="top"></td></tr>
414      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
415      <tr><td class="lineno" valign="top"></td><td class="left">5.3.  Header Field Registration</td><td> </td><td class="right">5.3.  Header Field Registration</td><td class="lineno" valign="top"></td></tr>
416      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
417      <tr><td><a name="diff0021" /></td></tr>
418      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">The</span> Message Header Field Registry <span class="delete">located</span> at <span class="delete">&lt;http://www.iana.org/</span></td><td> </td><td class="rblock">   <span class="insert">HTTP header fields are registered within the</span> Message Header Field</td><td class="lineno" valign="top"></td></tr>
419      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   assignments/message-headers/message-header-index.html&gt;</span> shall be</td><td> </td><td class="rblock">   Registry <span class="insert">maintained</span> at <span class="insert">&lt;http://www.iana.org/assignments/</span></td><td class="lineno" valign="top"></td></tr>
420      <tr><td class="lineno" valign="top"></td><td class="lblock">   updated <span class="delete">with</span> the permanent registrations below (see [BCP90]):</td><td> </td><td class="rblock"><span class="insert">   message-headers/message-header-index.html&gt;.</span></td><td class="lineno" valign="top"></td></tr>
421      <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>
422      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   This document defines the following HTTP header fields, so their</span></td><td class="lineno" valign="top"></td></tr>
423      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   associated registry entries</span> shall be updated <span class="insert">according to</span> the</td><td class="lineno" valign="top"></td></tr>
424      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">   permanent registrations below (see [BCP90]):</td><td class="lineno" valign="top"></td></tr>
425      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></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">   | Header Field Name | Protocol | Status   | Reference   |</td><td> </td><td class="right">   | Header Field Name | Protocol | Status   | Reference   |</td><td class="lineno" valign="top"></td></tr>
428      <tr><td class="lineno" valign="top"></td><td class="left">   +-------------------+----------+----------+-------------+</td><td> </td><td class="right">   +-------------------+----------+----------+-------------+</td><td class="lineno" valign="top"></td></tr>
429      <tr><td class="lineno" valign="top"></td><td class="left">   | Accept-Ranges     | http     | standard | Section 2.3 |</td><td> </td><td class="right">   | Accept-Ranges     | http     | standard | Section 2.3 |</td><td class="lineno" valign="top"></td></tr>
430      <tr><td class="lineno" valign="top"></td><td class="left">   | Content-Range     | http     | standard | Section 4.2 |</td><td> </td><td class="right">   | Content-Range     | http     | standard | Section 4.2 |</td><td class="lineno" valign="top"></td></tr>
431      <tr><td class="lineno" valign="top"></td><td class="left">   | If-Range          | http     | standard | Section 3.2 |</td><td> </td><td class="right">   | If-Range          | http     | standard | Section 3.2 |</td><td class="lineno" valign="top"></td></tr>
432      <tr><td class="lineno" valign="top"></td><td class="left">   | Range             | http     | standard | Section 3.1 |</td><td> </td><td class="right">   | Range             | http     | standard | Section 3.1 |</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"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
435      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
436      <tr bgcolor="gray" ><td></td><th><a name="part-l13" /><small>skipping to change at</small><em> page 17, line 47</em></th><th> </th><th><a name="part-r13" /><small>skipping to change at</small><em> page 17, line 47</em></th><td></td></tr>
437      <tr><td class="lineno" valign="top"></td><td class="left">7.  Acknowledgments</td><td> </td><td class="right">7.  Acknowledgments</td><td class="lineno" valign="top"></td></tr>
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">   See Section 9 of [Part1].</td><td> </td><td class="right">   See Section 9 of [Part1].</td><td class="lineno" valign="top"></td></tr>
440      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
441      <tr><td class="lineno" valign="top"></td><td class="left">8.  References</td><td> </td><td class="right">8.  References</td><td class="lineno" valign="top"></td></tr>
442      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
443      <tr><td class="lineno" valign="top"></td><td class="left">8.1.  Normative References</td><td> </td><td class="right">8.1.  Normative References</td><td class="lineno" valign="top"></td></tr>
444      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
445      <tr><td class="lineno" valign="top"></td><td class="left">   [Part1]    Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer</td><td> </td><td class="right">   [Part1]    Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer</td><td class="lineno" valign="top"></td></tr>
446      <tr><td class="lineno" valign="top"></td><td class="left">              Protocol (HTTP/1.1): Message Syntax and Routing",</td><td> </td><td class="right">              Protocol (HTTP/1.1): Message Syntax and Routing",</td><td class="lineno" valign="top"></td></tr>
447      <tr><td><a name="diff0022" /></td></tr>
448      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">draft-ietf-httpbis-p1-messaging-22</span> (work in progress),</td><td> </td><td class="rblock">              <span class="insert">draft-ietf-httpbis-p1-messaging-23</span> (work in progress),</td><td class="lineno" valign="top"></td></tr>
449      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">February</span> 2013.</td><td> </td><td class="rblock">              <span class="insert">July</span> 2013.</td><td class="lineno" valign="top"></td></tr>
450      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
451      <tr><td class="lineno" valign="top"></td><td class="left">   [Part2]    Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer</td><td> </td><td class="right">   [Part2]    Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer</td><td class="lineno" valign="top"></td></tr>
452      <tr><td class="lineno" valign="top"></td><td class="left">              Protocol (HTTP/1.1): Semantics and Content",</td><td> </td><td class="right">              Protocol (HTTP/1.1): Semantics and Content",</td><td class="lineno" valign="top"></td></tr>
453      <tr><td><a name="diff0023" /></td></tr>
454      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">draft-ietf-httpbis-p2-semantics-22</span> (work in progress),</td><td> </td><td class="rblock">              <span class="insert">draft-ietf-httpbis-p2-semantics-23</span> (work in progress),</td><td class="lineno" valign="top"></td></tr>
455      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">February</span> 2013.</td><td> </td><td class="rblock">              <span class="insert">July</span> 2013.</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">   [Part4]    Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer</td><td> </td><td class="right">   [Part4]    Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer</td><td class="lineno" valign="top"></td></tr>
458      <tr><td class="lineno" valign="top"></td><td class="left">              Protocol (HTTP/1.1): Conditional Requests",</td><td> </td><td class="right">              Protocol (HTTP/1.1): Conditional Requests",</td><td class="lineno" valign="top"></td></tr>
459      <tr><td><a name="diff0024" /></td></tr>
460      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">draft-ietf-httpbis-p4-conditional-22</span> (work in progress),</td><td> </td><td class="rblock">              <span class="insert">draft-ietf-httpbis-p4-conditional-23</span> (work in progress),</td><td class="lineno" valign="top"></td></tr>
461      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">February</span> 2013.</td><td> </td><td class="rblock">              <span class="insert">July</span> 2013.</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">   [Part6]    Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke,</td><td> </td><td class="right">   [Part6]    Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke,</td><td class="lineno" valign="top"></td></tr>
464      <tr><td class="lineno" valign="top"></td><td class="left">              Ed., "Hypertext Transfer Protocol (HTTP/1.1): Caching",</td><td> </td><td class="right">              Ed., "Hypertext Transfer Protocol (HTTP/1.1): Caching",</td><td class="lineno" valign="top"></td></tr>
465      <tr><td><a name="diff0025" /></td></tr>
466      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">draft-ietf-httpbis-p6-cache-22</span> (work in progress),</td><td> </td><td class="rblock">              <span class="insert">draft-ietf-httpbis-p6-cache-23</span> (work in progress),</td><td class="lineno" valign="top"></td></tr>
467      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">February</span> 2013.</td><td> </td><td class="rblock">              <span class="insert">July</span> 2013.</td><td class="lineno" valign="top"></td></tr>
468      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
469      <tr><td class="lineno" 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>
470      <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>
471      <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>
472      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
473      <tr><td class="lineno" valign="top"></td><td class="left">   [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>
474      <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>
475      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
476      <tr><td class="lineno" valign="top"></td><td class="left">   [RFC5234]  Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax</td><td> </td><td class="right">   [RFC5234]  Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax</td><td class="lineno" valign="top"></td></tr>
477      <tr><td class="lineno" valign="top"></td><td class="left">              Specifications: ABNF", STD 68, RFC 5234, January 2008.</td><td> </td><td class="right">              Specifications: ABNF", STD 68, RFC 5234, January 2008.</td><td class="lineno" valign="top"></td></tr>
478      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
479      <tr bgcolor="gray" ><td></td><th><a name="part-l14" /><small>skipping to change at</small><em> page 19, line 45</em></th><th> </th><th><a name="part-r14" /><small>skipping to change at</small><em> page 19, line 45</em></th><td></td></tr>
480      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
481      <tr><td class="lineno" valign="top"></td><td class="left">      Macintosh file type code(s):  none</td><td> </td><td class="right">      Macintosh file type code(s):  none</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 class="lineno" valign="top"></td><td class="left">   Person and email address to contact for further information:  See</td><td> </td><td class="right">   Person and email address to contact for further information:  See</td><td class="lineno" valign="top"></td></tr>
484      <tr><td class="lineno" valign="top"></td><td class="left">      Authors Section.</td><td> </td><td class="right">      Authors Section.</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 class="lineno" valign="top"></td><td class="left">   Intended usage:  COMMON</td><td> </td><td class="right">   Intended usage:  COMMON</td><td class="lineno" valign="top"></td></tr>
487      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
488      <tr><td class="lineno" valign="top"></td><td class="left">   Restrictions on usage:  none</td><td> </td><td class="right">   Restrictions on usage:  none</td><td class="lineno" valign="top"></td></tr>
489      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
490      <tr><td><a name="diff0026" /></td></tr>
491      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">Author/Change</span> controller:  IESG</td><td> </td><td class="rblock">   <span class="insert">Author:  See Authors Section.</span></td><td class="lineno" valign="top"></td></tr>
492      <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>
493      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   Change</span> controller:  IESG</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">   Implementation Notes:</td><td> </td><td class="right">   Implementation Notes:</td><td class="lineno" valign="top"></td></tr>
496      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
497      <tr><td class="lineno" valign="top"></td><td class="left">   1.  Additional CRLFs might precede the first boundary string in the</td><td> </td><td class="right">   1.  Additional CRLFs might precede the first boundary string in the</td><td class="lineno" valign="top"></td></tr>
498      <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>
499      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
500      <tr><td class="lineno" valign="top"></td><td class="left">   2.  Although [RFC2046] permits the boundary string to be quoted, some</td><td> </td><td class="right">   2.  Although [RFC2046] permits the boundary string to be quoted, some</td><td class="lineno" valign="top"></td></tr>
501      <tr><td class="lineno" valign="top"></td><td class="left">       existing implementations handle a quoted boundary string</td><td> </td><td class="right">       existing implementations handle a quoted boundary string</td><td class="lineno" valign="top"></td></tr>
502      <tr><td class="lineno" valign="top"></td><td class="left">       incorrectly.</td><td> </td><td class="right">       incorrectly.</td><td class="lineno" valign="top"></td></tr>
503      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
504      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
505      <tr bgcolor="gray" ><td></td><th><a name="part-l15" /><small>skipping to change at</small><em> page 22, line 4</em></th><th> </th><th><a name="part-r15" /><small>skipping to change at</small><em> page 21, line 28</em></th><td></td></tr>
506      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
507      <tr><td class="lineno" valign="top"></td><td class="left">     OWS        = &lt;OWS, defined in [Part1], Section 3.2.3&gt;</td><td> </td><td class="right">     OWS        = &lt;OWS, defined in [Part1], Section 3.2.3&gt;</td><td class="lineno" valign="top"></td></tr>
508      <tr><td class="lineno" valign="top"></td><td class="left">     token      = &lt;token, defined in [Part1], Section 3.2.6&gt;</td><td> </td><td class="right">     token      = &lt;token, defined in [Part1], Section 3.2.6&gt;</td><td class="lineno" valign="top"></td></tr>
509      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
510      <tr><td class="lineno" valign="top"></td><td class="left">   The rules below are defined in other parts:</td><td> </td><td class="right">   The rules below are defined in other parts:</td><td class="lineno" valign="top"></td></tr>
511      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
512      <tr><td class="lineno" valign="top"></td><td class="left">     HTTP-date  = &lt;HTTP-date, defined in [Part2], Section 7.1.1.1&gt;</td><td> </td><td class="right">     HTTP-date  = &lt;HTTP-date, defined in [Part2], Section 7.1.1.1&gt;</td><td class="lineno" valign="top"></td></tr>
513      <tr><td class="lineno" valign="top"></td><td class="left">     entity-tag = &lt;entity-tag, defined in [Part4], Section 2.3&gt;</td><td> </td><td class="right">     entity-tag = &lt;entity-tag, defined in [Part4], Section 2.3&gt;</td><td class="lineno" valign="top"></td></tr>
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">Appendix D.  Collected ABNF</td><td> </td><td class="right">Appendix D.  Collected ABNF</td><td class="lineno" valign="top"></td></tr>
516      <tr><td><a name="diff0027" /></td></tr>
517      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">                                                                         </td><td class="lineno" valign="top"></td></tr>
518      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">   <span class="insert">In the collected ABNF below, list rules are expanded as per Section</span></td><td class="lineno" valign="top"></td></tr>
519      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   1.2 of [Part1].</span></td><td class="lineno" valign="top"></td></tr>
520      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">                                                                         </td><td class="lineno" valign="top"></td></tr>
521      <tr><td class="lineno" valign="top"></td><td class="left">   Accept-Ranges = acceptable-ranges</td><td> </td><td class="right">   Accept-Ranges = acceptable-ranges</td><td class="lineno" valign="top"></td></tr>
522      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
523      <tr><td class="lineno" valign="top"></td><td class="left">   Content-Range = byte-content-range / other-content-range</td><td> </td><td class="right">   Content-Range = byte-content-range / other-content-range</td><td class="lineno" valign="top"></td></tr>
524      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
525      <tr><td class="lineno" valign="top"></td><td class="left">   HTTP-date = &lt;HTTP-date, defined in [Part2], Section 7.1.1.1&gt;</td><td> </td><td class="right">   HTTP-date = &lt;HTTP-date, defined in [Part2], Section 7.1.1.1&gt;</td><td class="lineno" valign="top"></td></tr>
526      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
527      <tr><td class="lineno" valign="top"></td><td class="left">   If-Range = entity-tag / HTTP-date</td><td> </td><td class="right">   If-Range = entity-tag / HTTP-date</td><td class="lineno" valign="top"></td></tr>
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">   OWS = &lt;OWS, defined in [Part1], Section 3.2.3&gt;</td><td> </td><td class="right">   OWS = &lt;OWS, defined in [Part1], Section 3.2.3&gt;</td><td class="lineno" valign="top"></td></tr>
530      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
531      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
532      <tr bgcolor="gray" ><td></td><th><a name="part-l16" /><small>skipping to change at</small><em> page 23, line 49</em></th><th> </th><th><a name="part-r16" /><small>skipping to change at</small><em> page 23, line 49</em></th><td></td></tr>
533      <tr><td class="lineno" valign="top"></td><td class="left">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/175&gt;: "Security</td><td> </td><td class="right">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/175&gt;: "Security</td><td class="lineno" valign="top"></td></tr>
534      <tr><td class="lineno" valign="top"></td><td class="left">      consideration: range flooding"</td><td> </td><td class="right">      consideration: range flooding"</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">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/223&gt;: "Allowing</td><td> </td><td class="right">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/223&gt;: "Allowing</td><td class="lineno" valign="top"></td></tr>
537      <tr><td class="lineno" valign="top"></td><td class="left">      heuristic caching for new status codes"</td><td> </td><td class="right">      heuristic caching for new status codes"</td><td class="lineno" valign="top"></td></tr>
538      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
539      <tr><td class="lineno" valign="top"></td><td class="left">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/311&gt;: "Add</td><td> </td><td class="right">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/311&gt;: "Add</td><td class="lineno" valign="top"></td></tr>
540      <tr><td class="lineno" valign="top"></td><td class="left">      limitations to Range to reduce its use as a denial-of-service</td><td> </td><td class="right">      limitations to Range to reduce its use as a denial-of-service</td><td class="lineno" valign="top"></td></tr>
541      <tr><td class="lineno" valign="top"></td><td class="left">      tool"</td><td> </td><td class="right">      tool"</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="diff0028" /></td></tr>
544      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">   <span class="insert">o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/407&gt;: "416 and</span></td><td class="lineno" valign="top"></td></tr>
545      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      multipart/byteranges"</span></td><td class="lineno" valign="top"></td></tr>
546      <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>
547      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">E.4.  Since draft-ietf-httpbis-p5-range-22</span></td><td class="lineno" valign="top"></td></tr>
548      <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>
549      <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>
550      <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>
551      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/436&gt;: "explain list</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">      expansion in ABNF appendices"</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"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
554      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/437&gt;: "incorrect</span></td><td class="lineno" valign="top"></td></tr>
555      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      example dates"</span></td><td class="lineno" valign="top"></td></tr>
556      <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>
557      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/438&gt;: "media type</span></td><td class="lineno" valign="top"></td></tr>
558      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      registration template issues"</span></td><td class="lineno" valign="top"></td></tr>
559      <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>
560      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/462&gt;: "Editorial</span></td><td class="lineno" valign="top"></td></tr>
561      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      suggestions"</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"></span></td><td class="lineno" valign="top"></td></tr>
563      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/485&gt;: "MUSTs and</span></td><td class="lineno" valign="top"></td></tr>
564      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      other feedback"</span></td><td class="lineno" valign="top"></td></tr>
565      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">                                                                         </td><td class="lineno" valign="top"></td></tr>
566      <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>
567      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
568      <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>
569      <tr><td class="lineno" valign="top"></td><td class="left">      206 Partial Content (status code)  10</td><td> </td><td class="right">      206 Partial Content (status code)  10</td><td class="lineno" valign="top"></td></tr>
570      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
571      <tr><td class="lineno" valign="top"></td><td class="left">   4</td><td> </td><td class="right">   4</td><td class="lineno" valign="top"></td></tr>
572      <tr><td class="lineno" valign="top"></td><td class="left">      416 Range Not Satisfiable (status code)  15</td><td> </td><td class="right">      416 Range Not Satisfiable (status code)  15</td><td class="lineno" valign="top"></td></tr>
573      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
574      <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>
575      <tr><td class="lineno" valign="top"></td><td class="left">      Accept-Ranges header field  7</td><td> </td><td class="right">      Accept-Ranges header field  7</td><td class="lineno" valign="top"></td></tr>
576
577     <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr>
578     <tr bgcolor="gray"><th colspan="5" align="center"><a name="end">&nbsp;End of changes. 28 change blocks.&nbsp;</a></th></tr>
579     <tr class="stats"><td></td><th><i>44 lines changed or deleted</i></th><th><i> </i></th><th><i>79 lines changed or added</i></th><td></td></tr>
580     <tr><td colspan="5" align="center" class="small"><br/>This html diff was produced by rfcdiff 1.38. The latest version is available from <a href="http://www.tools.ietf.org/tools/rfcdiff/" >http://tools.ietf.org/tools/rfcdiff/</a> </td></tr>
581   </table>
582   </body>
583   </html>
Note: See TracBrowser for help on using the repository browser.