Changeset 393 for draft-ietf-httpbis/latest/p5-range.html
- Timestamp:
- 15/11/08 01:47:08 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p5-range.html
r382 r393 368 368 <link rel="Chapter" title="3 Range Units" href="#rfc.section.3"> 369 369 <link rel="Chapter" title="4 Status Code Definitions" href="#rfc.section.4"> 370 <link rel="Chapter" title="5 Combining ByteRanges" href="#rfc.section.5">370 <link rel="Chapter" title="5 Combining Ranges" href="#rfc.section.5"> 371 371 <link rel="Chapter" title="6 Header Field Definitions" href="#rfc.section.6"> 372 372 <link rel="Chapter" title="7 IANA Considerations" href="#rfc.section.7"> … … 473 473 <tr> 474 474 <td class="header left"></td> 475 <td class="header right">November 1 4, 2008</td>475 <td class="header right">November 15, 2008</td> 476 476 </tr> 477 477 </table> … … 520 520 </ul> 521 521 </li> 522 <li class="tocline0">5. <a href="#combining.byte.ranges">Combining ByteRanges</a></li>522 <li class="tocline0">5. <a href="#combining.byte.ranges">Combining Ranges</a></li> 523 523 <li class="tocline0">6. <a href="#header.fields">Header Field Definitions</a><ul class="toc"> 524 524 <li class="tocline1">6.1 <a href="#header.accept-ranges">Accept-Ranges</a></li> … … 585 585 </p> 586 586 <h1 id="rfc.section.2"><a href="#rfc.section.2">2.</a> <a id="notation" href="#notation">Notational Conventions and Generic Grammar</a></h1> 587 <p id="rfc.section.2.p.1">This specification uses the ABNF syntax defined in <a href="p1-messaging.html#notation.abnf" title="ABNF Extension: #rule">Section 2.1</a> of <a href="#Part1" id="rfc.xref.Part1.1"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a> and the core rules defined in <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 2.2</a> of <a href="#Part1" id="rfc.xref.Part1.2"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>: 588 </p> 589 <div id="rfc.figure.u.1"></div><pre class="inline"> <a href="#notation" class="smpl">DIGIT</a> = <DIGIT, defined in <a href="#Part1" id="rfc.xref.Part1.3"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 2.2</a>> 590 <a href="#notation" class="smpl">SP</a> = <SP, defined in <a href="#Part1" id="rfc.xref.Part1.4"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 2.2</a>> 591 </pre><div id="rfc.figure.u.2"></div><pre class="inline"> <a href="#notation" class="smpl">token</a> = <token, defined in <a href="#Part1" id="rfc.xref.Part1.5"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 2.2</a>> 592 <a href="#notation" class="smpl">OWS</a> = <OWS, defined in <a href="#Part1" id="rfc.xref.Part1.6"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 2.2</a>> 587 <p id="rfc.section.2.p.1">This specification uses the ABNF syntax defined in <a href="p1-messaging.html#notation.abnf" title="ABNF Extension: #rule">Section 1.2.1</a> of <a href="#Part1" id="rfc.xref.Part1.1"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a> and the core rules defined in <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a> of <a href="#Part1" id="rfc.xref.Part1.2"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>: 588 </p> 589 <div id="rfc.figure.u.1"></div><pre class="inline"> <a href="#notation" class="smpl">CHAR</a> = <CHAR, defined in <a href="#Part1" id="rfc.xref.Part1.3"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 590 <a href="#notation" class="smpl">DIGIT</a> = <DIGIT, defined in <a href="#Part1" id="rfc.xref.Part1.4"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 591 <a href="#notation" class="smpl">SP</a> = <SP, defined in <a href="#Part1" id="rfc.xref.Part1.5"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 592 </pre><div id="rfc.figure.u.2"></div><pre class="inline"> <a href="#notation" class="smpl">token</a> = <token, defined in <a href="#Part1" id="rfc.xref.Part1.6"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 593 <a href="#notation" class="smpl">OWS</a> = <OWS, defined in <a href="#Part1" id="rfc.xref.Part1.7"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 593 594 </pre><div id="abnf.dependencies"> 594 595 <p id="rfc.section.2.p.4"> The ABNF rules below are defined in other parts:</p> 595 596 </div> 596 <div id="rfc.figure.u.3"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">HTTP-date</a> = <HTTP-date, defined in <a href="#Part1" id="rfc.xref.Part1. 7"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#full.date" title="Full Date">Section 3.3.1</a>>597 <div id="rfc.figure.u.3"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">HTTP-date</a> = <HTTP-date, defined in <a href="#Part1" id="rfc.xref.Part1.8"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#full.date" title="Full Date">Section 3.2.1</a>> 597 598 </pre><div id="rfc.figure.u.4"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">entity-tag</a> = <entity-tag, defined in <a href="#Part4" id="rfc.xref.Part4.1"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>, <a href="p4-conditional.html#entity.tags" title="Entity Tags">Section 3</a>> 598 599 </pre><h1 id="rfc.section.3"><a href="#rfc.section.3">3.</a> <a id="range.units" href="#range.units">Range Units</a></h1> … … 603 604 <a href="#range.units" class="smpl">bytes-unit</a> = "bytes" 604 605 <a href="#range.units" class="smpl">other-range-unit</a> = <a href="#notation" class="smpl">token</a> 605 </pre><p id="rfc.section.3.p.3">The only range unit defined by HTTP/1.1 is "bytes". HTTP/1.1 implementations <em class="bcp14">MAY</em> ignore ranges specified using other units. 606 </p> 607 <p id="rfc.section.3.p.4">HTTP/1.1 has been designed to allow implementations of applications that do not depend on knowledge of ranges.</p> 606 </pre><p id="rfc.section.3.p.3">HTTP/1.1 has been designed to allow implementations of applications that do not depend on knowledge of ranges. The only range 607 unit defined by HTTP/1.1 is "bytes". 608 </p> 609 <p id="rfc.section.3.p.4">If a range unit is not understood in a request, a server <em class="bcp14">MUST</em> ignore the whole Range header (<a href="#header.range" id="rfc.xref.header.range.2" title="Range">Section 6.4</a>). If a range unit is not understood in a response, an intermediary <em class="bcp14">SHOULD</em> pass the response to the client; a client <em class="bcp14">MUST</em> fail. 610 </p> 608 611 <h1 id="rfc.section.4"><a href="#rfc.section.4">4.</a> Status Code Definitions 609 612 </h1> … … 611 614 <div id="rfc.iref.s.1"></div> 612 615 <h2 id="rfc.section.4.1"><a href="#rfc.section.4.1">4.1</a> <a id="status.206" href="#status.206">206 Partial Content</a></h2> 613 <p id="rfc.section.4.1.p.1">The server has fulfilled the partial GET request for the resource. The request <em class="bcp14">MUST</em> have included a Range header field (<a href="#header.range" id="rfc.xref.header.range. 2" title="Range">Section 6.4</a>) indicating the desired range, and <em class="bcp14">MAY</em> have included an If-Range header field (<a href="#header.if-range" id="rfc.xref.header.if-range.1" title="If-Range">Section 6.3</a>) to make the request conditional.616 <p id="rfc.section.4.1.p.1">The server has fulfilled the partial GET request for the resource. The request <em class="bcp14">MUST</em> have included a Range header field (<a href="#header.range" id="rfc.xref.header.range.3" title="Range">Section 6.4</a>) indicating the desired range, and <em class="bcp14">MAY</em> have included an If-Range header field (<a href="#header.if-range" id="rfc.xref.header.if-range.1" title="If-Range">Section 6.3</a>) to make the request conditional. 614 617 </p> 615 618 <p id="rfc.section.4.1.p.2">The response <em class="bcp14">MUST</em> include the following header fields: … … 627 630 <p id="rfc.section.4.1.p.3">If the 206 response is the result of an If-Range request, the response <em class="bcp14">SHOULD NOT</em> include other entity-headers. Otherwise, the response <em class="bcp14">MUST</em> include all of the entity-headers that would have been returned with a 200 (OK) response to the same request. 628 631 </p> 629 <p id="rfc.section.4.1.p.4">A cache <em class="bcp14">MUST NOT</em> combine a 206 response with other previously cached content if the ETag or Last-Modified headers do not match exactly, see <a href="#combining.byte.ranges" title="Combining Byte Ranges">Section 5</a>. 630 </p> 631 <p id="rfc.section.4.1.p.5">A cache that does not support the Range and Content-Range headers <em class="bcp14">MUST NOT</em> cache 206 (Partial Content) responses. 632 <p id="rfc.section.4.1.p.4">A cache <em class="bcp14">MUST NOT</em> combine a 206 response with other previously cached content if the ETag or Last-Modified headers do not match exactly, see <a href="#combining.byte.ranges" title="Combining Ranges">Section 5</a>. 633 </p> 634 <p id="rfc.section.4.1.p.5">A cache that does not support the Range and Content-Range headers <em class="bcp14">MUST NOT</em> cache 206 (Partial Content) responses. Furthermore, if a response uses a range unit that is not understood by the cache, then 635 it <em class="bcp14">MUST NOT</em> be cached either. 632 636 </p> 633 637 <div id="rfc.iref.4"></div> 634 638 <div id="rfc.iref.s.2"></div> 635 639 <h2 id="rfc.section.4.2"><a href="#rfc.section.4.2">4.2</a> <a id="status.416" href="#status.416">416 Requested Range Not Satisfiable</a></h2> 636 <p id="rfc.section.4.2.p.1">A server <em class="bcp14">SHOULD</em> return a response with this status code if a request included a Range request-header field (<a href="#header.range" id="rfc.xref.header.range. 3" title="Range">Section 6.4</a>), and none of the ranges-specifier values in this field overlap the current extent of the selected resource, and the request640 <p id="rfc.section.4.2.p.1">A server <em class="bcp14">SHOULD</em> return a response with this status code if a request included a Range request-header field (<a href="#header.range" id="rfc.xref.header.range.4" title="Range">Section 6.4</a>), and none of the ranges-specifier values in this field overlap the current extent of the selected resource, and the request 637 641 did not include an If-Range request-header field. (For byte-ranges, this means that the first-byte-pos of all of the byte-range-spec 638 642 values were greater than the current length of the selected resource.) … … 640 644 <p id="rfc.section.4.2.p.2">When this status code is returned for a byte-range request, the response <em class="bcp14">SHOULD</em> include a Content-Range entity-header field specifying the current length of the selected resource (see <a href="#header.content-range" id="rfc.xref.header.content-range.3" title="Content-Range">Section 6.2</a>). This response <em class="bcp14">MUST NOT</em> use the multipart/byteranges content-type. 641 645 </p> 642 <h1 id="rfc.section.5"><a href="#rfc.section.5">5.</a> <a id="combining.byte.ranges" href="#combining.byte.ranges">Combining ByteRanges</a></h1>643 <p id="rfc.section.5.p.1">A response might transfer only a subrange of the bytes of an entity-body, either because the request included one or more644 Range specifications, or because a connection was broken prematurely. After several such transfers, a cache might have received645 several ranges ofthe same entity-body.646 <h1 id="rfc.section.5"><a href="#rfc.section.5">5.</a> <a id="combining.byte.ranges" href="#combining.byte.ranges">Combining Ranges</a></h1> 647 <p id="rfc.section.5.p.1">A response might transfer only a subrange of an entity-body, either the request included one or more Range specifications, 648 or because a connection was broken prematurely. After several such transfers, a cache might have received several ranges of 649 the same entity-body. 646 650 </p> 647 651 <p id="rfc.section.5.p.2">If a cache has a stored non-empty set of subranges for an entity, and an incoming response transfers another subrange, the … … 671 675 </p> 672 676 <div id="rfc.figure.u.7"></div><pre class="text"> Accept-Ranges: bytes 673 </pre><p id="rfc.section.6.1.p.5">but are not required to do so. Clients <em class="bcp14">MAY</em> generate byte-range requests without having received this header for the resource involved. Range units are defined in <a href="#range.units" title="Range Units">Section 3</a>.677 </pre><p id="rfc.section.6.1.p.5">but are not required to do so. Clients <em class="bcp14">MAY</em> generate range requests without having received this header for the resource involved. Range units are defined in <a href="#range.units" title="Range Units">Section 3</a>. 674 678 </p> 675 679 <p id="rfc.section.6.1.p.6">Servers that do not accept any kind of range request for a resource <em class="bcp14">MAY</em> send … … 687 691 688 692 <a href="#header.content-range" class="smpl">content-range-spec</a> = <a href="#header.content-range" class="smpl">byte-content-range-spec</a> 693 / <a href="#header.content-range" class="smpl">other-content-range-spec</a> 689 694 <a href="#header.content-range" class="smpl">byte-content-range-spec</a> = <a href="#range.units" class="smpl">bytes-unit</a> <a href="#notation" class="smpl">SP</a> 690 695 <a href="#header.content-range" class="smpl">byte-range-resp-spec</a> "/" … … 695 700 696 701 <a href="#header.content-range" class="smpl">instance-length</a> = 1*<a href="#notation" class="smpl">DIGIT</a> 702 703 <a href="#header.content-range" class="smpl">other-content-range-spec</a> = <a href="#range.units" class="smpl">other-range-unit</a> <a href="#notation" class="smpl">SP</a> 704 <a href="#header.content-range" class="smpl">other-range-resp-spec</a> 705 <a href="#header.content-range" class="smpl">other-range-resp-spec</a> = *<a href="#notation" class="smpl">CHAR</a> 697 706 </pre><p id="rfc.section.6.2.p.3">The header <em class="bcp14">SHOULD</em> indicate the total length of the full entity-body, unless this length is unknown or difficult to determine. The asterisk "*" 698 707 character means that the instance-length is unknown at the time when the response was generated. … … 703 712 whose instance-length value is less than or equal to its last-byte-pos value, is invalid. The recipient of an invalid byte-content-range-spec <em class="bcp14">MUST</em> ignore it and any content transferred along with it. 704 713 </p> 705 <p id="rfc.section.6.2.p.6"> A server sending a response with status code 416 (Requested range not satisfiable) <em class="bcp14">SHOULD</em> include a Content-Range field with a byte-range-resp-spec of "*". The instance-length specifies the current length of the714 <p id="rfc.section.6.2.p.6">In the case of a byte range request: A server sending a response with status code 416 (Requested range not satisfiable) <em class="bcp14">SHOULD</em> include a Content-Range field with a byte-range-resp-spec of "*". The instance-length specifies the current length of the 706 715 selected resource. A response with status code 206 (Partial Content) <em class="bcp14">MUST NOT</em> include a Content-Range field with a byte-range-resp-spec of "*". 707 716 </p> … … 735 744 as defined in <a href="#internet.media.type.multipart.byteranges" title="Internet Media Type multipart/byteranges">Appendix A</a>. See <a href="#changes.from.rfc.2068" title="Changes from RFC 2068">Appendix B.1</a> for a compatibility issue. 736 745 </p> 737 <p id="rfc.section.6.2.p.11">A response to a request for a single range <em class="bcp14">MUST NOT</em> be sent using the multipart/byteranges media type. A response to a request for multiple ranges, whose result is a single range, <em class="bcp14">MAY</em> be sent as a multipart/byteranges media type with one part. A client that cannot decode a multipart/byteranges message <em class="bcp14">MUST NOT</em> ask for multiple byte-ranges in a single request.746 <p id="rfc.section.6.2.p.11">A response to a request for a single range <em class="bcp14">MUST NOT</em> be sent using the multipart/byteranges media type. A response to a request for multiple ranges, whose result is a single range, <em class="bcp14">MAY</em> be sent as a multipart/byteranges media type with one part. A client that cannot decode a multipart/byteranges message <em class="bcp14">MUST NOT</em> ask for multiple ranges in a single request. 738 747 </p> 739 748 <p id="rfc.section.6.2.p.12">When a client requests multiple byte-ranges in one request, the server <em class="bcp14">SHOULD</em> return them in the order that they appeared in the request. … … 779 788 <p id="rfc.section.6.4.1.p.2">Byte range specifications in HTTP apply to the sequence of bytes in the entity-body (not necessarily the same as the message-body).</p> 780 789 <div id="rule.ranges-specifier"> 781 <p id="rfc.section.6.4.1.p.3"> A byte range operation <em class="bcp14">MAY</em> specify a single range of bytes, or a set of ranges within a single entity.790 <p id="rfc.section.6.4.1.p.3"> A byte range operation <em class="bcp14">MAY</em> specify a single range of bytes, or a set of ranges within a single entity. 782 791 </p> 783 792 </div> 784 <div id="rfc.figure.u.16"></div><pre class="inline"><span id="rfc.iref.g.15"></span><span id="rfc.iref.g.16"></span><span id="rfc.iref.g.17"></span><span id="rfc.iref.g.18"></span><span id="rfc.iref.g.19"></span><span id="rfc.iref.g.20"></span> <a href="#rule.ranges-specifier" class="smpl">ranges-specifier</a> = <a href="#rule.ranges-specifier" class="smpl">byte-ranges-specifier</a> 785 <a href="#rule.ranges-specifier" class="smpl">byte-ranges-specifier</a> = <a href="#range.units" class="smpl">bytes-unit</a> "=" <a href="#rule.ranges-specifier" class="smpl">byte-range-set</a> 793 <div id="rfc.figure.u.16"></div><pre class="inline"><span id="rfc.iref.g.15"></span><span id="rfc.iref.g.16"></span><span id="rfc.iref.g.17"></span><span id="rfc.iref.g.18"></span><span id="rfc.iref.g.19"></span><span id="rfc.iref.g.20"></span> <a href="#rule.ranges-specifier" class="smpl">byte-ranges-specifier</a> = <a href="#range.units" class="smpl">bytes-unit</a> "=" <a href="#rule.ranges-specifier" class="smpl">byte-range-set</a> 786 794 <a href="#rule.ranges-specifier" class="smpl">byte-range-set</a> = 1#( <a href="#rule.ranges-specifier" class="smpl">byte-range-spec</a> / <a href="#rule.ranges-specifier" class="smpl">suffix-byte-range-spec</a> ) 787 795 <a href="#rule.ranges-specifier" class="smpl">byte-range-spec</a> = <a href="#rule.ranges-specifier" class="smpl">first-byte-pos</a> "-" [<a href="#rule.ranges-specifier" class="smpl">last-byte-pos</a>] … … 823 831 to the entity returned as the result of the request: 824 832 </p> 825 <div id="rfc.figure.u.18"></div><pre class="inline"><span id="rfc.iref.g.23"></span><span id="rfc.iref.g.24"></span> <a href="#range.retrieval.requests" class="smpl">Range</a> = "Range" ":" <a href="#notation" class="smpl">OWS</a> <a href="#range.retrieval.requests" class="smpl">Range-v</a> 826 <a href="#range.retrieval.requests" class="smpl">Range-v</a> = <a href="#rule.ranges-specifier" class="smpl">ranges-specifier</a> 833 <div id="rfc.figure.u.18"></div><pre class="inline"><span id="rfc.iref.g.23"></span> <a href="#range.retrieval.requests" class="smpl">Range</a> = "Range" ":" <a href="#rule.ranges-specifier" class="smpl">ranges-specifier</a> 834 <a href="#rule.ranges-specifier" class="smpl">ranges-specifier</a> = <a href="#rule.ranges-specifier" class="smpl">byte-ranges-specifier</a> 835 / <a href="#rule.ranges-specifier" class="smpl">other-ranges-specifier</a> 836 <a href="#rule.ranges-specifier" class="smpl">other-ranges-specifier</a> = 1*<a href="#notation" class="smpl">CHAR</a> 827 837 </pre><p id="rfc.section.6.4.2.p.3">A server <em class="bcp14">MAY</em> ignore the Range header. However, HTTP/1.1 origin servers and intermediate caches ought to support byte ranges when possible, 828 838 since Range supports efficient recovery from partially failed transfers, and supports efficient partial retrieval of large … … 885 895 <td>http</td> 886 896 <td>standard</td> 887 <td> <a href="#header.range" id="rfc.xref.header.range. 4" title="Range">Section 6.4</a>897 <td> <a href="#header.range" id="rfc.xref.header.range.5" title="Range">Section 6.4</a> 888 898 </td> 889 899 </tr> … … 893 903 <p id="rfc.section.7.1.p.2">The change controller is: "IETF (iesg@ietf.org) - Internet Engineering Task Force".</p> 894 904 <h1 id="rfc.section.8"><a href="#rfc.section.8">8.</a> <a id="security.considerations" href="#security.considerations">Security Considerations</a></h1> 895 <p id="rfc.section.8.p.1">No additional security considerations have been identified beyond those applicable to HTTP in general <a href="#Part1" id="rfc.xref.Part1. 8"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>.905 <p id="rfc.section.8.p.1">No additional security considerations have been identified beyond those applicable to HTTP in general <a href="#Part1" id="rfc.xref.Part1.9"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. 896 906 </p> 897 907 <h1 id="rfc.section.9"><a href="#rfc.section.9">9.</a> <a id="ack" href="#ack">Acknowledgments</a></h1> … … 1049 1059 <p id="rfc.section.B.1.p.1">Transfer-coding and message lengths all interact in ways that required fixing exactly when chunked encoding is used (to allow 1050 1060 for transfer encoding that may not be self delimiting); it was important to straighten out exactly how message lengths are 1051 computed. (<a href="#header.content-range" id="rfc.xref.header.content-range.5" title="Content-Range">Section 6.2</a>, see also <a href="#Part1" id="rfc.xref.Part1. 9"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="#Part3" id="rfc.xref.Part3.1"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a> and <a href="#Part6" id="rfc.xref.Part6.1"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>)1061 computed. (<a href="#header.content-range" id="rfc.xref.header.content-range.5" title="Content-Range">Section 6.2</a>, see also <a href="#Part1" id="rfc.xref.Part1.10"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="#Part3" id="rfc.xref.Part3.1"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a> and <a href="#Part6" id="rfc.xref.Part6.1"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>) 1052 1062 </p> 1053 1063 <p id="rfc.section.B.1.p.2">There are situations where a server (especially a proxy) does not know the full length of a response but is capable of serving … … 1184 1194 <li class="indline1"><tt>Range</tt> <a class="iref" href="#rfc.iref.g.23"><b>6.4.2</b></a></li> 1185 1195 <li class="indline1"><tt>range-unit</tt> <a class="iref" href="#rfc.iref.g.1"><b>3</b></a></li> 1186 <li class="indline1"><tt>Range-v</tt> <a class="iref" href="#rfc.iref.g.24"><b>6.4.2</b></a></li>1187 1196 <li class="indline1"><tt>ranges-specifier</tt> <a class="iref" href="#rfc.iref.g.15"><b>6.4.1</b></a></li> 1188 1197 <li class="indline1"><tt>suffix-byte-range-spec</tt> <a class="iref" href="#rfc.iref.g.21"><b>6.4.1</b></a></li> … … 1198 1207 <li class="indline1">Content-Range <a class="iref" href="#rfc.xref.header.content-range.1">3</a>, <a class="iref" href="#rfc.xref.header.content-range.2">4.1</a>, <a class="iref" href="#rfc.xref.header.content-range.3">4.2</a>, <a class="iref" href="#rfc.iref.h.2"><b>6.2</b></a>, <a class="iref" href="#rfc.xref.header.content-range.4">7.1</a>, <a class="iref" href="#rfc.xref.header.content-range.5">B.1</a>, <a class="iref" href="#rfc.xref.header.content-range.6">B.1</a>, <a class="iref" href="#rfc.xref.header.content-range.7">B.1</a></li> 1199 1208 <li class="indline1">If-Range <a class="iref" href="#rfc.xref.header.if-range.1">4.1</a>, <a class="iref" href="#rfc.iref.h.3"><b>6.3</b></a>, <a class="iref" href="#rfc.xref.header.if-range.2">6.4.2</a>, <a class="iref" href="#rfc.xref.header.if-range.3">7.1</a>, <a class="iref" href="#rfc.xref.header.if-range.4">B.1</a></li> 1200 <li class="indline1">Range <a class="iref" href="#rfc.xref.header.range.1">3</a>, <a class="iref" href="#rfc.xref.header.range.2"> 4.1</a>, <a class="iref" href="#rfc.xref.header.range.3">4.2</a>, <a class="iref" href="#rfc.iref.h.4"><b>6.4</b></a>, <a class="iref" href="#rfc.xref.header.range.4">7.1</a></li>1209 <li class="indline1">Range <a class="iref" href="#rfc.xref.header.range.1">3</a>, <a class="iref" href="#rfc.xref.header.range.2">3</a>, <a class="iref" href="#rfc.xref.header.range.3">4.1</a>, <a class="iref" href="#rfc.xref.header.range.4">4.2</a>, <a class="iref" href="#rfc.iref.h.4"><b>6.4</b></a>, <a class="iref" href="#rfc.xref.header.range.5">7.1</a></li> 1201 1210 </ul> 1202 1211 </li> … … 1219 1228 </li> 1220 1229 <li class="indline0"><a id="rfc.index.P" href="#rfc.index.P"><b>P</b></a><ul class="ind"> 1221 <li class="indline1"><em>Part1</em> <a class="iref" href="#rfc.xref.Part1.1">2</a>, <a class="iref" href="#rfc.xref.Part1.2">2</a>, <a class="iref" href="#rfc.xref.Part1.3">2</a>, <a class="iref" href="#rfc.xref.Part1.4">2</a>, <a class="iref" href="#rfc.xref.Part1.5">2</a>, <a class="iref" href="#rfc.xref.Part1.6">2</a>, <a class="iref" href="#rfc.xref.Part1.7">2</a>, <a class="iref" href="#rfc.xref.Part1.8"> 8</a>, <a class="iref" href="#Part1"><b>10.1</b></a>, <a class="iref" href="#rfc.xref.Part1.9">B.1</a><ul class="ind">1222 <li class="indline1"><em>Section 2.1</em> <a class="iref" href="#rfc.xref.Part1.1">2</a></li>1223 <li class="indline1"><em>Section 2.2</em> <a class="iref" href="#rfc.xref.Part1.2">2</a>, <a class="iref" href="#rfc.xref.Part1.3">2</a>, <a class="iref" href="#rfc.xref.Part1.4">2</a>, <a class="iref" href="#rfc.xref.Part1.5">2</a>, <a class="iref" href="#rfc.xref.Part1.6">2</a></li>1224 <li class="indline1"><em>Section 3. 3.1</em> <a class="iref" href="#rfc.xref.Part1.7">2</a></li>1230 <li class="indline1"><em>Part1</em> <a class="iref" href="#rfc.xref.Part1.1">2</a>, <a class="iref" href="#rfc.xref.Part1.2">2</a>, <a class="iref" href="#rfc.xref.Part1.3">2</a>, <a class="iref" href="#rfc.xref.Part1.4">2</a>, <a class="iref" href="#rfc.xref.Part1.5">2</a>, <a class="iref" href="#rfc.xref.Part1.6">2</a>, <a class="iref" href="#rfc.xref.Part1.7">2</a>, <a class="iref" href="#rfc.xref.Part1.8">2</a>, <a class="iref" href="#rfc.xref.Part1.9">8</a>, <a class="iref" href="#Part1"><b>10.1</b></a>, <a class="iref" href="#rfc.xref.Part1.10">B.1</a><ul class="ind"> 1231 <li class="indline1"><em>Section 1.2.1</em> <a class="iref" href="#rfc.xref.Part1.1">2</a></li> 1232 <li class="indline1"><em>Section 1.2.2</em> <a class="iref" href="#rfc.xref.Part1.2">2</a>, <a class="iref" href="#rfc.xref.Part1.3">2</a>, <a class="iref" href="#rfc.xref.Part1.4">2</a>, <a class="iref" href="#rfc.xref.Part1.5">2</a>, <a class="iref" href="#rfc.xref.Part1.6">2</a>, <a class="iref" href="#rfc.xref.Part1.7">2</a></li> 1233 <li class="indline1"><em>Section 3.2.1</em> <a class="iref" href="#rfc.xref.Part1.8">2</a></li> 1225 1234 </ul> 1226 1235 </li> … … 1235 1244 </li> 1236 1245 <li class="indline0"><a id="rfc.index.R" href="#rfc.index.R"><b>R</b></a><ul class="ind"> 1237 <li class="indline1">Range header <a class="iref" href="#rfc.xref.header.range.1">3</a>, <a class="iref" href="#rfc.xref.header.range.2"> 4.1</a>, <a class="iref" href="#rfc.xref.header.range.3">4.2</a>, <a class="iref" href="#rfc.iref.r.1"><b>6.4</b></a>, <a class="iref" href="#rfc.xref.header.range.4">7.1</a></li>1246 <li class="indline1">Range header <a class="iref" href="#rfc.xref.header.range.1">3</a>, <a class="iref" href="#rfc.xref.header.range.2">3</a>, <a class="iref" href="#rfc.xref.header.range.3">4.1</a>, <a class="iref" href="#rfc.xref.header.range.4">4.2</a>, <a class="iref" href="#rfc.iref.r.1"><b>6.4</b></a>, <a class="iref" href="#rfc.xref.header.range.5">7.1</a></li> 1238 1247 <li class="indline1"><em>RFC2046</em> <a class="iref" href="#RFC2046"><b>10.1</b></a>, <a class="iref" href="#rfc.xref.RFC2046.1">A</a>, <a class="iref" href="#rfc.xref.RFC2046.2">A</a><ul class="ind"> 1239 1248 <li class="indline1"><em>Section 5.1</em> <a class="iref" href="#rfc.xref.RFC2046.1">A</a></li>
Note: See TracChangeset
for help on using the changeset viewer.