Source: https://trac.ietf.org/trac/httpbis/browser/draft-ietf-httpbis/diffs/draft-ietf-httpbis-p5-range-19-from-18.diff.html?rev=1869&order=name
Timestamp: 2020-08-15 17:56:20
Document Index: 618330354

Matched Legal Cases: ['art1', 'art1', 'art1', 'art2', 'art1', 'art2', 'art1', 'art1', 'art1', 'art1', 'art2', 'art2', 'art4', 'art4', 'art6', 'art4', 'art4', 'art4', 'art4', 'art1', 'art1', 'art1', 'art1', 'art 1', 'art 1', 'art2', 'art2', 'art 2', 'art 2', 'art4', 'art4', 'art 4', 'art 4', 'art6', 'art1', 'art1', 'art1', 'art1']

draft-ietf-httpbis-p5-range-19-from-18.diff.html in draft-ietf-httpbis/diffs – Hypertext Transfer Protocol Wiki
source: draft-ietf-httpbis/diffs/draft-ietf-httpbis-p5-range-19-from-18.diff.html @ 1869
Last change on this file since 1869 was 1592, checked in by julian.reschke@…, 8 years ago
<title>Diff: draft-ietf-httpbis-p5-range-18.txt - draft-ietf-httpbis-p5-range-19.txt</title>
<tr bgcolor="orange"><th></th><th>&nbsp;draft-ietf-httpbis-p5-range-18.txt&nbsp;</th><th> </th><th>&nbsp;draft-ietf-httpbis-p5-range-19.txt&nbsp;</th><th></th></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock">Obsoletes: 2616 (if approved) <span class="delete">J. Gettys</span></td><td> </td><td class="rblock">Obsoletes: 2616 (if approved) <span class="insert">Y. Lafon, Ed.</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock">Intended status: Standards Track <span class="delete">Alcatel-Lucent</span></td><td> </td><td class="rblock">Intended status: Standards Track <span class="insert">W3C</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock">Expires: <span class="delete">July 7,</span> 2012 <span class="delete">J. Mogul</span></td><td> </td><td class="rblock">Expires: <span class="insert">September 13,</span> 2012 J. Reschke, Ed.</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> HP</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> H. Frystyk</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Microsoft</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> L. Masinter</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Adobe</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> P. Leach</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> T. Berners-Lee</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> W3C/MIT</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Y. Lafon, Ed.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> W3C</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> J. Reschke, Ed.</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">January 4</span>, 2012</td><td> </td><td class="rblock"> <span class="insert"> March 12</span>, 2012</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> draft-ietf-httpbis-p5-range-1<span class="delete">8</span></td><td> </td><td class="rblock"> draft-ietf-httpbis-p5-range-1<span class="insert">9</span></td><td class="lineno" valign="top"></td></tr>
<tr bgcolor="gray" ><td></td><th><a name="part-l2" /><small>skipping to change at</small><em> page 1, line 49</em></th><th> </th><th><a name="part-r2" /><small>skipping to change at</small><em> page 1, line 37</em></th><td></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> The changes in this draft are summarized in Appendix D.<span class="delete">19</span>.</td><td> </td><td class="rblock"> The changes in this draft are summarized in Appendix D.<span class="insert">20</span>.</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> This Internet-Draft will expire on <span class="delete">July 7</span>, 2012.</td><td> </td><td class="rblock"> This Internet-Draft will expire on <span class="insert">September 13</span>, 2012.</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> Copyright (c) 2012 IETF Trust and the persons identified as the</td><td> </td><td class="right"> Copyright (c) 2012 IETF Trust and the persons identified as the</td><td class="lineno" valign="top"></td></tr>
<tr bgcolor="gray" ><td></td><th><a name="part-l3" /><small>skipping to change at</small><em> page 2, line 51</em></th><th> </th><th><a name="part-r3" /><small>skipping to change at</small><em> page 2, line 39</em></th><td></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> 1.1. Conformance and Error Handling . . . . . . . . . . . . . . <span class="delete">5</span></td><td> </td><td class="rblock"> 1.1. Conformance and Error Handling . . . . . . . . . . . . . . <span class="insert">4</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> 1.2. Syntax Notation . . . . . . . . . . . . . . . . . . . . . <span class="delete">6</span></td><td> </td><td class="rblock"> 1.2. Syntax Notation . . . . . . . . . . . . . . . . . . . . . <span class="insert">5</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> 2.1. Range Specifier Registry . . . . . . . . . . . . . . . . . <span class="delete">7</span></td><td> </td><td class="rblock"> 2.1. Range Specifier Registry . . . . . . . . . . . . . . . . . <span class="insert">6</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> 4. <span class="delete">Combining</span> Ranges . . . . . . . . . . . . . . . . . . . . . . . 8</td><td> </td><td class="rblock"> 4. <span class="insert">Responses to a Range Request . . . . . . . . . . . . . . . . . 7</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> 4.1. Response to a Single and Multiple</span> Ranges <span class="insert">Request . .</span> . . <span class="insert">. 7</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> 4.2. Combining Ranges</span> . . . . . . . . . . . . . . . . . . . . . 8</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> 5. Header Field Definitions . . . . . . . . . . . . . . . . . . . 9</td><td> </td><td class="right"> 5. Header Field Definitions . . . . . . . . . . . . . . . . . . . 9</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> 5.1. Accept-Ranges . . . . . . . . . . . . . . . . . . . . . . 9</td><td> </td><td class="right"> 5.1. Accept-Ranges . . . . . . . . . . . . . . . . . . . . . . 9</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> 5.2. Content-Range . . . . . . . . . . . . . . . . . . . . . . 10</td><td> </td><td class="right"> 5.2. Content-Range . . . . . . . . . . . . . . . . . . . . . . 10</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> 5.3. If-Range . . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">12</span></td><td> </td><td class="rblock"> 5.3. If-Range . . . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">11</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> 5.4. Range . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">13</span></td><td> </td><td class="rblock"> 5.4. Range . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">12</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> 5.4.1. Byte Ranges . . . . . . . . . . . . . . . . . . . . . <span class="delete">13</span></td><td> </td><td class="rblock"> 5.4.1. Byte Ranges . . . . . . . . . . . . . . . . . . . . . <span class="insert">12</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> 5.4.2. Range Retrieval Requests . . . . . . . . . . . . . . . <span class="delete">15</span></td><td> </td><td class="rblock"> 5.4.2. Range Retrieval Requests . . . . . . . . . . . . . . . <span class="insert">14</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . <span class="delete">16</span></td><td> </td><td class="rblock"> 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . <span class="insert">15</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> 6.1. Status Code Registration . . . . . . . . . . . . . . . . . <span class="delete">16</span></td><td> </td><td class="rblock"> 6.1. Status Code Registration . . . . . . . . . . . . . . . . . <span class="insert">15</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> 6.2. Header Field Registration . . . . . . . . . . . . . . . . <span class="delete">16</span></td><td> </td><td class="rblock"> 6.2. Header Field Registration . . . . . . . . . . . . . . . . <span class="insert">15</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> 6.3. Range Specifier Registration . . . . . . . . . . . . . . . 16</td><td> </td><td class="right"> 6.3. Range Specifier Registration . . . . . . . . . . . . . . . 16</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> 7. Security Considerations . . . . . . . . . . . . . . . . . . . <span class="delete">17</span></td><td> </td><td class="rblock"> 7. Security Considerations . . . . . . . . . . . . . . . . . . . <span class="insert">16</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> 7.1. Overlapping Ranges . . . . . . . . . . . . . . . . . . . . <span class="delete">17</span></td><td> </td><td class="rblock"> 7.1. Overlapping Ranges . . . . . . . . . . . . . . . . . . . . <span class="insert">16</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">17</span></td><td> </td><td class="rblock"> 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">16</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">17</span></td><td> </td><td class="rblock"> 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">16</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> 9.1. Normative References . . . . . . . . . . . . . . . . . . . <span class="delete">17</span></td><td> </td><td class="rblock"> 9.1. Normative References . . . . . . . . . . . . . . . . . . . <span class="insert">16</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> 9.2. Informative References . . . . . . . . . . . . . . . . . . <span class="delete">18</span></td><td> </td><td class="rblock"> 9.2. Informative References . . . . . . . . . . . . . . . . . . <span class="insert">17</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> Appendix A. Internet Media Type multipart/byteranges . . . . . . <span class="delete">18</span></td><td> </td><td class="rblock"> Appendix A. Internet Media Type multipart/byteranges . . . . . . <span class="insert">17</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> Appendix B. <span class="delete">Compatibility with Previous Versions . . . . . . . . 21</span></td><td> </td><td class="rblock"> Appendix B. Changes from RFC 2616 . . . . . . . . . . . . . . . . <span class="insert">20</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> B.1.</span> Changes from RFC 2616 . . . . . . . . . . . . . . . . <span class="delete">. . 21</span></td><td> </td><td class="rblock"> Appendix C. Collected ABNF . . . . . . . . . . . . . . . . . . . <span class="insert">21</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> Appendix C. Collected ABNF . . . . . . . . . . . . . . . . . . . <span class="delete">22</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> publication) . . . . . . . . . . . . . . . . . . . . <span class="delete">23</span></td><td> </td><td class="rblock"> publication) . . . . . . . . . . . . . . . . . . . . <span class="insert">22</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> D.1. Since RFC 2616 . . . . . . . . . . . . . . . . . . . . . . <span class="delete">23</span></td><td> </td><td class="rblock"> D.1. Since RFC 2616 . . . . . . . . . . . . . . . . . . . . . . <span class="insert">22</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> D.2. Since draft-ietf-httpbis-p5-range-00 . . . . . . . . . . . <span class="delete">23</span></td><td> </td><td class="rblock"> D.2. Since draft-ietf-httpbis-p5-range-00 . . . . . . . . . . . <span class="insert">22</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> D.3. Since draft-ietf-httpbis-p5-range-01 . . . . . . . . . . . <span class="delete">23</span></td><td> </td><td class="rblock"> D.3. Since draft-ietf-httpbis-p5-range-01 . . . . . . . . . . . <span class="insert">22</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> D.4. Since draft-ietf-httpbis-p5-range-02 . . . . . . . . . . . <span class="delete">23</span></td><td> </td><td class="rblock"> D.4. Since draft-ietf-httpbis-p5-range-02 . . . . . . . . . . . <span class="insert">22</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> D.5. Since draft-ietf-httpbis-p5-range-03 . . . . . . . . . . . <span class="delete">24</span></td><td> </td><td class="rblock"> D.5. Since draft-ietf-httpbis-p5-range-03 . . . . . . . . . . . <span class="insert">23</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> D.6. Since draft-ietf-httpbis-p5-range-04 . . . . . . . . . . . <span class="delete">24</span></td><td> </td><td class="rblock"> D.6. Since draft-ietf-httpbis-p5-range-04 . . . . . . . . . . . <span class="insert">23</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> D.7. Since draft-ietf-httpbis-p5-range-05 . . . . . . . . . . . <span class="delete">24</span></td><td> </td><td class="rblock"> D.7. Since draft-ietf-httpbis-p5-range-05 . . . . . . . . . . . <span class="insert">23</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> D.8. Since draft-ietf-httpbis-p5-range-06 . . . . . . . . . . . <span class="delete">24</span></td><td> </td><td class="rblock"> D.8. Since draft-ietf-httpbis-p5-range-06 . . . . . . . . . . . <span class="insert">23</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> D.9. Since draft-ietf-httpbis-p5-range-07 . . . . . . . . . . . <span class="delete">25</span></td><td> </td><td class="rblock"> D.9. Since draft-ietf-httpbis-p5-range-07 . . . . . . . . . . . <span class="insert">24</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> D.10. Since draft-ietf-httpbis-p5-range-08 . . . . . . . . . . . <span class="delete">25</span></td><td> </td><td class="rblock"> D.10. Since draft-ietf-httpbis-p5-range-08 . . . . . . . . . . . <span class="insert">24</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> D.11. Since draft-ietf-httpbis-p5-range-09 . . . . . . . . . . . <span class="delete">25</span></td><td> </td><td class="rblock"> D.11. Since draft-ietf-httpbis-p5-range-09 . . . . . . . . . . . <span class="insert">24</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> D.12. Since draft-ietf-httpbis-p5-range-10 . . . . . . . . . . . <span class="delete">25</span></td><td> </td><td class="rblock"> D.12. Since draft-ietf-httpbis-p5-range-10 . . . . . . . . . . . <span class="insert">24</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> D.13. Since draft-ietf-httpbis-p5-range-11 . . . . . . . . . . . <span class="delete">25</span></td><td> </td><td class="rblock"> D.13. Since draft-ietf-httpbis-p5-range-11 . . . . . . . . . . . <span class="insert">24</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> D.14. Since draft-ietf-httpbis-p5-range-12 . . . . . . . . . . . <span class="delete">26</span></td><td> </td><td class="rblock"> D.14. Since draft-ietf-httpbis-p5-range-12 . . . . . . . . . . . <span class="insert">25</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> D.15. Since draft-ietf-httpbis-p5-range-13 . . . . . . . . . . . <span class="delete">26</span></td><td> </td><td class="rblock"> D.15. Since draft-ietf-httpbis-p5-range-13 . . . . . . . . . . . <span class="insert">25</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> D.16. Since draft-ietf-httpbis-p5-range-14 . . . . . . . . . . . <span class="delete">26</span></td><td> </td><td class="rblock"> D.16. Since draft-ietf-httpbis-p5-range-14 . . . . . . . . . . . <span class="insert">25</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> D.17. Since draft-ietf-httpbis-p5-range-15 . . . . . . . . . . . <span class="delete">26</span></td><td> </td><td class="rblock"> D.17. Since draft-ietf-httpbis-p5-range-15 . . . . . . . . . . . <span class="insert">25</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> D.18. Since draft-ietf-httpbis-p5-range-16 . . . . . . . . . . . <span class="delete">26</span></td><td> </td><td class="rblock"> D.18. Since draft-ietf-httpbis-p5-range-16 . . . . . . . . . . . <span class="insert">25</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> D.19. Since draft-ietf-httpbis-p5-range-17 . . . . . . . . . . . <span class="delete">26</span></td><td> </td><td class="rblock"> D.19. Since draft-ietf-httpbis-p5-range-17 . . . . . . . . . . . <span class="insert">25</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> D.20. Since draft-ietf-httpbis-p5-range-18 . . . . . . . . . . . 25</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26</td><td> </td><td class="right"> Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> of cancelled requests or dropped connections. When a client has</td><td> </td><td class="right"> of cancelled requests or dropped connections. When a client has</td><td class="lineno" valign="top"></td></tr>
<tr bgcolor="gray" ><td></td><th><a name="part-l4" /><small>skipping to change at</small><em> page 6, line 13</em></th><th> </th><th><a name="part-r4" /><small>skipping to change at</small><em> page 5, line 13</em></th><td></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> define specific error handling mechanisms, except in cases where it</td><td> </td><td class="right"> define specific error handling mechanisms, except in cases where it</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> has direct impact on security. This is because different uses of the</td><td> </td><td class="right"> has direct impact on security. This is because different uses of the</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> protocol require different error handling strategies; for example, a</td><td> </td><td class="right"> protocol require different error handling strategies; for example, a</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> Web browser may wish to transparently recover from a response where</td><td> </td><td class="right"> Web browser may wish to transparently recover from a response where</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> the Location header field doesn't parse according to the ABNF,</td><td> </td><td class="right"> the Location header field doesn't parse according to the ABNF,</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> whereby in a systems control protocol using HTTP, this type of error</td><td> </td><td class="right"> whereby in a systems control protocol using HTTP, this type of error</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> recovery could lead to dangerous consequences.</td><td> </td><td class="right"> recovery could lead to dangerous consequences.</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> This specification uses the <span class="delete">ABNF syntax</span> defined in Section 1.2 of</td><td> </td><td class="rblock"> This specification uses the <span class="insert">Augmented Backus-Naur Form (ABNF)</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">[Part1] (which extends the syntax defined in [RFC5234] with a list</span></td><td> </td><td class="rblock"><span class="insert"> notation of [RFC5234] with the list rule extension</span> defined in Section</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> rule).</span> Appendix C shows the collected <span class="delete">ABNF,</span> with the list rule</td><td> </td><td class="rblock"> 1.2 of <span class="insert">[Part1].</span> Appendix C shows the collected <span class="insert">ABNF</span> with the list</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> expanded.</td><td> </td><td class="rblock"> rule expanded.</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> sequence of data), SP (space), and VCHAR (any visible US-ASCII</td><td> </td><td class="right"> sequence of data), SP (space), and VCHAR (any visible US-ASCII</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> character).</td><td> </td><td class="right"> character).</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> Note that all rules derived from token are to be compared case-</td><td> </td><td class="right"> Note that all rules derived from token are to be compared case-</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> insensitively, like range-unit and acceptable-ranges.</td><td> </td><td class="right"> insensitively, like range-unit and acceptable-ranges.</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> The core rules below are defined in [Part1] and [Part2]:</td><td> </td><td class="right"> The core rules below are defined in [Part1] and [Part2]:</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> OWS = &lt;OWS, defined in [Part1], Section <span class="delete">1.2.2&gt;</span></td><td> </td><td class="rblock"> OWS = &lt;OWS, defined in [Part1], Section <span class="insert">3.2.1&gt;</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> token = &lt;token, defined in [Part1], Section <span class="delete">3.2.3&gt;</span></td><td> </td><td class="rblock"> token = &lt;token, defined in [Part1], Section <span class="insert">3.2.4&gt;</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> HTTP-date = &lt;HTTP-date, defined in [Part2], Section 8&gt;</td><td> </td><td class="right"> HTTP-date = &lt;HTTP-date, defined in [Part2], Section 8&gt;</td><td class="lineno" valign="top"></td></tr>
<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>
<tr bgcolor="gray" ><td></td><th><a name="part-l5" /><small>skipping to change at</small><em> page 7, line 29</em></th><th> </th><th><a name="part-r5" /><small>skipping to change at</small><em> page 6, line 29</em></th><td></td></tr>
<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>
<tr><td class="lineno" valign="top"></td><td class="lblock"> Values to be added to this name space <span class="delete">are subject to</span> IETF <span class="delete">review</span></td><td> </td><td class="rblock"> Values to be added to this name space <span class="insert">require</span> IETF <span class="insert">Review (see</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> ([RFC5226],</span> Section 4.1).</td><td> </td><td class="rblock"><span class="insert"> [RFC5226],</span> Section 4.1).</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> &lt;http://www.iana.org/assignments/http-range-specifiers&gt;.</td><td> </td><td class="right"> &lt;http://www.iana.org/assignments/http-range-specifiers&gt;.</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left">3.1. 206 Partial Content</td><td> </td><td class="right">3.1. 206 Partial Content</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> The server has fulfilled the partial GET request for the resource.</td><td> </td><td class="right"> The server has fulfilled the partial GET request for the resource.</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> The request MUST have included a Range header field (Section 5.4)</td><td> </td><td class="right"> The request MUST have included a Range header field (Section 5.4)</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> indicating the desired range, and MAY have included an If-Range</td><td> </td><td class="right"> indicating the desired range, and MAY have included an If-Range</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> header field (Section 5.3) to make the request conditional.</td><td> </td><td class="right"> header field (Section 5.3) to make the request conditional.</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> MUST match the actual number of octets transmitted in the message<span class="delete">-</span></td><td> </td><td class="rblock"> MUST match the actual number of octets transmitted in the message</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> o Cache-Control, ETag, Expires, Content-Location, Last-Modified,</td><td> </td><td class="right"> o Cache-Control, ETag, Expires, Content-Location, Last-Modified,</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> <span class="insert">Caches MAY use a heuristic (see Section 2.3.1.1 of [Part6]) to</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> determine freshness for 206 responses.</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> included a Range header field (Section 5.4), and none of the ranges-</td><td> </td><td class="right"> included a Range header field (Section 5.4), and none of the ranges-</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> specifier values in this field overlap the current extent of the</td><td> </td><td class="right"> specifier values in this field overlap the current extent of the</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> selected resource, and the request did not include an If-Range header</td><td> </td><td class="right"> selected resource, and the request did not include an If-Range header</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> field (Section 5.3). (For byte-ranges, this means that the first-</td><td> </td><td class="right"> field (Section 5.3). (For byte-ranges, this means that the first-</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> response SHOULD include a Content-Range header field specifying the</td><td> </td><td class="right"> response SHOULD include a Content-Range header field specifying the</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> current length of the representation (see Section 5.2). This</td><td> </td><td class="right"> current length of the representation (see Section 5.2). This</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> response MUST NOT use the multipart/byteranges content-type.</td><td> </td><td class="rblock"> response MUST NOT use the multipart/byteranges content-type. <span class="insert">For</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> example,</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock">4. Combining Ranges</td><td> </td><td class="rblock"> <span class="insert">HTTP/1.1 416 Requested Range Not Satisfiable</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> Date: Mon, 20 Jan 2012 15:41:54 GMT</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> Content-Range: bytes */47022</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> Content-Type: image/gif</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> Note: Clients cannot depend on servers to send a 416 (Requested</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> range not satisfiable) response instead of a 200 (OK) response for</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> an unsatisfiable Range header field, since not all servers</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> implement this header field.</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">4. <span class="insert">Responses to a Range Request</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">4.1. Response to a Single and Multiple Ranges Request</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> When an HTTP message includes the content of a single range (for</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> example, a response to a request for a single range, or to a request</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> for a set of ranges that overlap without any holes), this content is</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> transmitted with a Content-Range header field, and a Content-Length</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> header field showing the number of bytes actually transferred. For</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> Date: Wed, 15 Nov 1995 06:25:24 GMT</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> Last-Modified: Wed, 15 Nov 1995 04:58:08 GMT</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> Content-Range: bytes 21010-47021/47022</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> Content-Length: 26012</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> When an HTTP message includes the content of multiple ranges (for</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> example, a response to a request for multiple non-overlapping</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> ranges), these are transmitted as a multipart message. The multipart</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> media type used for this purpose is "multipart/byteranges" as defined</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> in Appendix A.</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> A server MAY combine requested ranges when those ranges are</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> overlapping (see Section 7).</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> A response to a request for a single range MUST NOT be sent using the</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> multipart/byteranges media type. A response to a request for</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> multiple ranges, whose result is a single range, MAY be sent as a</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> multipart/byteranges media type with one part. A client that cannot</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> decode a multipart/byteranges message MUST NOT ask for multiple</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> ranges in a single request.</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> When a client requests multiple ranges in one request, the server</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> SHOULD return them in the order that they appeared in the request.</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">4.2.</span> Combining Ranges</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> A response might transfer only a subrange of a representation if the</td><td> </td><td class="right"> A response might transfer only a subrange of a representation if the</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> connection closed prematurely or if the request used one or more</td><td> </td><td class="right"> connection closed prematurely or if the request used one or more</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> Range specifications. After several such transfers, a client might</td><td> </td><td class="right"> Range specifications. After several such transfers, a client might</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> have received several ranges of the same representation. These</td><td> </td><td class="right"> have received several ranges of the same representation. These</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> ranges can only be safely combined if they all have in common the</td><td> </td><td class="right"> ranges can only be safely combined if they all have in common the</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> same strong validator, where "strong validator" is defined to be</td><td> </td><td class="right"> same strong validator, where "strong validator" is defined to be</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> either an entity-tag that is not marked as weak (Section 2.3 of</td><td> </td><td class="right"> either an entity-tag that is not marked as weak (Section 2.3 of</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> [Part4]) or, if no entity-tag is provided, a Last-Modified value that</td><td> </td><td class="right"> [Part4]) or, if no entity-tag is provided, a Last-Modified value that</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> is strong in the sense defined by Section 2.2.2 of [Part4].</td><td> </td><td class="right"> is strong in the sense defined by Section 2.2.2 of [Part4].</td><td class="lineno" valign="top"></td></tr>
<tr bgcolor="gray" ><td></td><th><a name="part-l6" /><small>skipping to change at</small><em> page 9, line 19</em></th><th> </th><th><a name="part-r6" /><small>skipping to change at</small><em> page 9, line 21</em></th><td></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> If the new response is a 206 (Partial Content) response and at least</td><td> </td><td class="right"> If the new response is a 206 (Partial Content) response and at least</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> one of the matching stored responses is a 200 (OK), then the combined</td><td> </td><td class="right"> one of the matching stored responses is a 200 (OK), then the combined</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> response header fields consist of the most recent 200 response's</td><td> </td><td class="right"> response header fields consist of the most recent 200 response's</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> header fields. If all of the matching stored responses are 206</td><td> </td><td class="right"> header fields. If all of the matching stored responses are 206</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> responses, then the stored response with the most header fields is</td><td> </td><td class="right"> responses, then the stored response with the most header fields is</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> used as the source of header fields for the combined response, except</td><td> </td><td class="right"> used as the source of header fields for the combined response, except</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> that the client MUST use other header fields provided in the new</td><td> </td><td class="right"> that the client MUST use other header fields provided in the new</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> response, aside from Content-Range, to replace all instances of the</td><td> </td><td class="right"> response, aside from Content-Range, to replace all instances of the</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> corresponding header fields in the stored response.</td><td> </td><td class="right"> corresponding header fields in the stored response.</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> The combined response message<span class="delete">-</span>body consists of the union of partial</td><td> </td><td class="rblock"> The combined response message<span class="insert"> </span>body consists of the union of partial</td><td class="lineno" valign="top"></td></tr>
<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>
<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>
<tr><td class="lineno" valign="top"></td><td class="left"> representation, then the combined response MUST be recorded as a</td><td> </td><td class="right"> representation, then the combined response MUST be recorded as a</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> complete 200 (OK) response with a Content-Length header field that</td><td> </td><td class="right"> complete 200 (OK) response with a Content-Length header field that</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> reflects the complete length. Otherwise, the combined response(s)</td><td> </td><td class="right"> reflects the complete length. Otherwise, the combined response(s)</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> MUST include a Content-Range header field describing the included</td><td> </td><td class="right"> MUST include a Content-Range header field describing the included</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> range(s) and be recorded as incomplete. If the union consists of a</td><td> </td><td class="right"> range(s) and be recorded as incomplete. If the union consists of a</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> discontinuous range of the representation, then the client MAY store</td><td> </td><td class="right"> discontinuous range of the representation, then the client MAY store</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> it as either a multipart range response or as multiple 206 responses</td><td> </td><td class="right"> it as either a multipart range response or as multiple 206 responses</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> with one continuous range each.</td><td> </td><td class="right"> with one continuous range each.</td><td class="lineno" valign="top"></td></tr>
<tr bgcolor="gray" ><td></td><th><a name="part-l7" /><small>skipping to change at</small><em> page 11, line 33</em></th><th> </th><th><a name="part-r7" /><small>skipping to change at</small><em> page 11, line 36</em></th><td></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> bytes 500-999/1234</td><td> </td><td class="right"> bytes 500-999/1234</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> o All except for the first 500 bytes:</td><td> </td><td class="right"> o All except for the first 500 bytes:</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">When an HTTP message includes the content of a single range (for</span></td><td> </td><td class="rblock"> If the server ignores a byte-range-spec <span class="insert">(for example if</span> it is</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> example, a response to a request for a single range, or to a request</span></td><td> </td><td class="rblock"> syntactically invalid, <span class="insert">or if it may be seen as a denial-of-service</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> for a set of ranges that overlap without any holes), this content is</span></td><td> </td><td class="rblock"><span class="insert"> attack),</span> the server SHOULD treat the request as if the invalid Range</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> transmitted with a Content-Range header field, and a Content-Length</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> header field showing the number of bytes actually transferred. For</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> example,</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> HTTP/1.1 206 Partial Content</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Date: Wed, 15 Nov 1995 06:25:24 GMT</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Last-Modified: Wed, 15 Nov 1995 04:58:08 GMT</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Content-Range: bytes 21010-47021/47022</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Content-Length: 26012</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Content-Type: image/gif</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> When an HTTP message includes the content of multiple ranges (for</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> example, a response to a request for multiple non-overlapping</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> ranges), these are transmitted as a multipart message. The multipart</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> media type used for this purpose is "multipart/byteranges" as defined</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> in Appendix A.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A response to a request for a single range MUST NOT be sent using the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> multipart/byteranges media type. A response to a request for</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> multiple ranges, whose result is a single range, MAY be sent as a</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> multipart/byteranges media type with one part. A client that cannot</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> decode a multipart/byteranges message MUST NOT ask for multiple</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> ranges in a single request.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> When a client requests multiple ranges in one request, the server</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> SHOULD return them in the order that they appeared in the request.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> If the server ignores a byte-range-spec <span class="delete">because</span> it is syntactically</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> invalid, the server SHOULD treat the request as if the invalid Range</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> response containing the full representation).</td><td> </td><td class="right"> response containing the full representation).</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">If the server receives a request (other than one including an If-</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Range header field) with an unsatisfiable Range header field (that</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> is, all of whose byte-range-spec values have a first-byte-pos value</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> greater than the current length of the selected resource), it SHOULD</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> return a response code of 416 (Requested range not satisfiable)</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> (Section 3.2).</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Note: Clients cannot depend on servers to send a 416 (Requested</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> range not satisfiable) response instead of a 200 (OK) response for</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> an unsatisfiable Range header field, since not all servers</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> implement this header field.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> If a client has a partial copy of a representation and wishes to have</td><td> </td><td class="right"> If a client has a partial copy of a representation and wishes to have</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> an up-to-date copy of the entire representation, it could use the</td><td> </td><td class="right"> an up-to-date copy of the entire representation, it could use the</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> Range header field with a conditional GET (using either or both of</td><td> </td><td class="right"> Range header field with a conditional GET (using either or both of</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> If-Unmodified-Since and If-Match.) However, if the condition fails</td><td> </td><td class="right"> If-Unmodified-Since and If-Match.) However, if the condition fails</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> because the representation has been modified, the client would then</td><td> </td><td class="right"> because the representation has been modified, the client would then</td><td class="lineno" valign="top"></td></tr>
<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>
<tr bgcolor="gray" ><td></td><th><a name="part-l8" /><small>skipping to change at</small><em> page 13, line 37</em></th><th> </th><th><a name="part-r8" /><small>skipping to change at</small><em> page 12, line 47</em></th><td></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> the representation body (not necessarily the same as the message<span class="delete">-</span></td><td> </td><td class="rblock"> the representation body (not necessarily the same as the message</td><td class="lineno" valign="top"></td></tr>
<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>
<tr><td class="lineno" valign="top"></td><td class="left"> of ranges within a single representation.</td><td> </td><td class="right"> of ranges within a single representation.</td><td class="lineno" valign="top"></td></tr>
<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>
<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>
<tr bgcolor="gray" ><td></td><th><a name="part-l9" /><small>skipping to change at</small><em> page 17, line 31</em></th><th> </th><th><a name="part-r9" /><small>skipping to change at</small><em> page 16, line 40</em></th><td></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left">7.1. Overlapping Ranges</td><td> </td><td class="right">7.1. Overlapping Ranges</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> Range requests containing overlapping ranges may lead to the</td><td> </td><td class="right"> Range requests containing overlapping ranges may lead to the</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> situation where a server is sending far more data than the size of</td><td> </td><td class="right"> situation where a server is sending far more data than the size of</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> the complete resource representation.</td><td> </td><td class="right"> the complete resource representation.</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> See Section <span class="delete">11</span> of [Part1].</td><td> </td><td class="rblock"> See Section <span class="insert">9</span> of [Part1].</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> [Part1] Fielding, R., Ed., <span class="delete">Gettys, J., Mogul, J., Frystyk, H.,</span></td><td> </td><td class="rblock"> [Part1] Fielding, R., Ed., Lafon, Y., Ed., and J. Reschke, Ed.,</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Masinter, L., Leach, P., Berners-Lee, T.,</span> Lafon, Y., Ed.,</td><td> </td><td class="rblock"> "HTTP/1.1, part 1: URIs, Connections, and Message</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> and J. Reschke, Ed., "HTTP/1.1, part 1: URIs, Connections,</td><td> </td><td class="rblock"> Parsing", <span class="insert">draft-ietf-httpbis-p1-messaging-19</span> (work in</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> and Message Parsing", <span class="delete">draft-ietf-httpbis-p1-messaging-18</span></td><td> </td><td class="rblock"> progress), <span class="insert">March</span> 2012.</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> (work in progress), <span class="delete">January</span> 2012.</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> [Part2] Fielding, R., Ed., <span class="delete">Gettys, J., Mogul, J., Frystyk, H.,</span></td><td> </td><td class="rblock"> [Part2] Fielding, R., Ed., Lafon, Y., Ed., and J. Reschke, Ed.,</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Masinter, L., Leach, P., Berners-Lee, T.,</span> Lafon, Y., Ed.,</td><td> </td><td class="rblock"> "HTTP/1.1, part 2: Message Semantics",</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> and J. Reschke, Ed., "HTTP/1.1, part 2: Message</td><td> </td><td class="rblock"> <span class="insert">draft-ietf-httpbis-p2-semantics-19</span> (work in progress),</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> Semantics", <span class="delete">draft-ietf-httpbis-p2-semantics-18</span> (work in</td><td> </td><td class="rblock"> <span class="insert">March</span> 2012.</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> progress), <span class="delete">January</span> 2012.</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> [Part4] Fielding, R., Ed., <span class="delete">Gettys, J., Mogul, J., Frystyk, H.,</span></td><td> </td><td class="rblock"> [Part4] Fielding, R., Ed., Lafon, Y., Ed., and J. Reschke, Ed.,</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Masinter, L., Leach, P., Berners-Lee, T.,</span> Lafon, Y., Ed.,</td><td> </td><td class="rblock"> "HTTP/1.1, part 4: Conditional Requests",</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> and J. Reschke, Ed., "HTTP/1.1, part 4: Conditional</td><td> </td><td class="rblock"> <span class="insert">draft-ietf-httpbis-p4-conditional-19</span> (work in progress),</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> Requests", <span class="delete">draft-ietf-httpbis-p4-conditional-18</span> (work in</td><td> </td><td class="rblock"> <span class="insert">March 2012.</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> progress), <span class="delete">January</span> 2012.</td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> [Part6] Fielding, R., Ed., Lafon, Y., Ed., Nottingham, M., Ed.,</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> draft-ietf-httpbis-p6-cache-19 (work in progress),</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> March</span> 2012.</td><td class="lineno" valign="top"></td></tr>
<tr bgcolor="gray" ><td></td><th><a name="part-l10" /><small>skipping to change at</small><em> page 18, line 38</em></th><th> </th><th><a name="part-r10" /><small>skipping to change at</small><em> page 17, line 49</em></th><td></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an</td><td> </td><td class="right"> [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> IANA Considerations Section in RFCs", BCP 26, RFC 5226,</td><td> </td><td class="right"> IANA Considerations Section in RFCs", BCP 26, RFC 5226,</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> overlapping ranges), these are transmitted as a multipart message<span class="delete">-</span></td><td> </td><td class="rblock"> overlapping ranges), these are transmitted as a multipart message</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> Note: Despite the name "multipart/byteranges" is not limited to</td><td> </td><td class="right"> Note: Despite the name "multipart/byteranges" is not limited to</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> the byte ranges only.</td><td> </td><td class="right"> the byte ranges only.</td><td class="lineno" valign="top"></td></tr>
<tr bgcolor="gray" ><td></td><th><a name="part-l11" /><small>skipping to change at</small><em> page 21, line 10</em></th><th> </th><th><a name="part-r11" /><small>skipping to change at</small><em> page 20, line 10</em></th><td></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock">Appendix B. <span class="delete">Compatibility with Previous Versions</span></td><td> </td><td class="rblock">Appendix B. Changes from RFC 2616</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">B.1.</span> Changes from RFC 2616</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> Clarify that it is not ok to use a weak validator in a 206 response.</td><td> </td><td class="right"> Clarify that it is not ok to use a weak validator in a 206 response.</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> (Section 3.1)</td><td> </td><td class="right"> (Section 3.1)</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> value. (Section 5)</td><td> </td><td class="right"> value. (Section 5)</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> Clarify that multipart/byteranges can consist of a single part.</td><td> </td><td class="right"> Clarify that multipart/byteranges can consist of a single part.</td><td class="lineno" valign="top"></td></tr>
<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>
<tr><td class="lineno" valign="top"></td><td class="left"> Content-Range = byte-content-range-spec / other-content-range-spec</td><td> </td><td class="right"> Content-Range = byte-content-range-spec / other-content-range-spec</td><td class="lineno" valign="top"></td></tr>
<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>
<tr><td class="lineno" valign="top"></td><td class="lblock"> OWS = &lt;OWS, defined in [Part1], Section <span class="delete">1.2.2</span>&gt;</td><td> </td><td class="rblock"> OWS = &lt;OWS, defined in [Part1], Section <span class="insert">3.2.1</span>&gt;</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> Range = byte-ranges-specifier / other-ranges-specifier</td><td> </td><td class="right"> Range = byte-ranges-specifier / other-ranges-specifier</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> range-unit ] ) ) / "none"</td><td> </td><td class="right"> range-unit ] ) ) / "none"</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> byte-content-range-spec = bytes-unit SP byte-range-resp-spec "/" (</td><td> </td><td class="right"> byte-content-range-spec = bytes-unit SP byte-range-resp-spec "/" (</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> instance-length / "*" )</td><td> </td><td class="right"> instance-length / "*" )</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> byte-range-resp-spec = ( first-byte-pos "-" last-byte-pos ) / "*"</td><td> </td><td class="right"> byte-range-resp-spec = ( first-byte-pos "-" last-byte-pos ) / "*"</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> byte-range-set = ( *( "," OWS ) byte-range-spec ) / (</td><td> </td><td class="right"> byte-range-set = ( *( "," OWS ) byte-range-spec ) / (</td><td class="lineno" valign="top"></td></tr>
<tr bgcolor="gray" ><td></td><th><a name="part-l12" /><small>skipping to change at</small><em> page 22, line 51</em></th><th> </th><th><a name="part-r12" /><small>skipping to change at</small><em> page 21, line 51</em></th><td></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> token = &lt;token, defined in [Part1], Section 3.2.<span class="delete">3</span>&gt;</td><td> </td><td class="rblock"> token = &lt;token, defined in [Part1], Section 3.2.<span class="insert">4</span>&gt;</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left">D.1. Since RFC 2616</td><td> </td><td class="right">D.1. Since RFC 2616</td><td class="lineno" valign="top"></td></tr>
<tr bgcolor="gray" ><td></td><th><a name="part-l13" /><small>skipping to change at</small><em> page 26, line 47</em></th><th> </th><th><a name="part-r13" /><small>skipping to change at</small><em> page 25, line 47</em></th><td></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> o &lt;http://trac.tools.ietf.org/wg/httpbis/trac/ticket/301&gt;: "Content-</td><td> </td><td class="right"> o &lt;http://trac.tools.ietf.org/wg/httpbis/trac/ticket/301&gt;: "Content-</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> Range on responses other than 206"</td><td> </td><td class="right"> Range on responses other than 206"</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> o &lt;http://trac.tools.ietf.org/wg/httpbis/trac/ticket/319&gt;: "case</td><td> </td><td class="right"> o &lt;http://trac.tools.ietf.org/wg/httpbis/trac/ticket/319&gt;: "case</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> sensitivity of ranges in p5"</td><td> </td><td class="right"> sensitivity of ranges in p5"</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left">D.19. Since draft-ietf-httpbis-p5-range-17</td><td> </td><td class="right">D.19. Since draft-ietf-httpbis-p5-range-17</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">D.20. Since draft-ietf-httpbis-p5-range-18</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> o &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/311&gt;: "Add</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> limitations to Range to reduce its use as a denial-of-service</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> tool"</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> Accept-Ranges header field 9</td><td> </td><td class="right"> Accept-Ranges header field 9</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> Content-Range header field 10</td><td> </td><td class="right"> Content-Range header field 10</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> Accept-Ranges 9</td><td> </td><td class="right"> Accept-Ranges 9</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> acceptable-ranges 9</td><td> </td><td class="right"> acceptable-ranges 9</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> byte-content-range-spec 10</td><td> </td><td class="right"> byte-content-range-spec 10</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> byte-range-resp-spec 10</td><td> </td><td class="right"> byte-range-resp-spec 10</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> byte-range-set 13</td><td> </td><td class="right"> byte-range-set 13</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> byte-range-spec 13</td><td> </td><td class="right"> byte-range-spec 13</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> byte-ranges-specifier 13</td><td> </td><td class="right"> byte-ranges-specifier 13</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> Content-Range 10</td><td> </td><td class="right"> Content-Range 10</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> first-byte-pos 13</td><td> </td><td class="right"> first-byte-pos 13</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> If-Range 12</td><td> </td><td class="right"> If-Range 12</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> instance-length 10</td><td> </td><td class="right"> instance-length 10</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> last-byte-pos 13</td><td> </td><td class="right"> last-byte-pos 13</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> Range <span class="delete">15</span></td><td> </td><td class="rblock"> Range <span class="insert">14</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> ranges-specifier 13</td><td> </td><td class="right"> ranges-specifier 13</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> suffix-byte-range-spec <span class="delete">14</span></td><td> </td><td class="rblock"> suffix-byte-range-spec <span class="insert">13</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> suffix-length <span class="delete">14</span></td><td> </td><td class="rblock"> suffix-length <span class="insert">13</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> Range <span class="delete">13</span></td><td> </td><td class="rblock"> Range <span class="insert">12</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> If-Range header field 1<span class="delete">2</span></td><td> </td><td class="rblock"> If-Range header field 1<span class="insert">1</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> multipart/byteranges <span class="delete">18</span></td><td> </td><td class="rblock"> multipart/byteranges <span class="insert">17</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> multipart/x-byteranges <span class="delete">21</span></td><td> </td><td class="rblock"> multipart/x-byteranges <span class="insert">20</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> multipart/byteranges Media Type <span class="delete">18</span></td><td> </td><td class="rblock"> multipart/byteranges Media Type <span class="insert">17</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> multipart/x-byteranges Media Type <span class="delete">21</span></td><td> </td><td class="rblock"> multipart/x-byteranges Media Type <span class="insert">20</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> Range header field 1<span class="delete">3</span></td><td> </td><td class="rblock"> Range header field 1<span class="insert">2</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">Jim Gettys</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Alcatel-Lucent Bell Labs</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 21 Oak Knoll Road</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Carlisle, MA 01741</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> USA</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> EMail: jg@freedesktop.org</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> URI: http://gettys.wordpress.com/</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Jeffrey C. Mogul</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Hewlett-Packard Company</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> HP Labs, Large Scale Systems Group</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 1501 Page Mill Road, MS 1177</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Palo Alto, CA 94304</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> EMail: JeffMogul@acm.org</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Henrik Frystyk Nielsen</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Microsoft Corporation</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 1 Microsoft Way</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Redmond, WA 98052</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> EMail: henrikn@microsoft.com</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Larry Masinter</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Adobe Systems Incorporated</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 345 Park Ave</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> San Jose, CA 95110</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> EMail: LMM@acm.org</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> URI: http://larry.masinter.net/</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Paul J. Leach</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> EMail: paulle@microsoft.com</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Tim Berners-Lee</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> World Wide Web Consortium</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> MIT Computer Science and Artificial Intelligence Laboratory</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The Stata Center, Building 32</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 32 Vassar Street</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Cambridge, MA 02139</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> EMail: timbl@w3.org</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> URI: http://www.w3.org/People/Berners-Lee/</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr class="stats"><td></td><th><i>216 lines changed or deleted</i></th><th><i> </i></th><th><i>172 lines changed or added</i></th><td></td></tr>