Changeset 358


Ignore:
Timestamp:
Nov 12, 2008, 6:18:41 PM (11 years ago)
Author:
ylafon@…
Message:

expectation about support of range units by server/intermediaries/clients

Location:
draft-ietf-httpbis/latest-roy
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • draft-ietf-httpbis/latest-roy/p5-range.html

    r355 r358  
    601601  <a href="#range.units" class="smpl">bytes-unit</a>       = "bytes"
    602602  <a href="#range.units" class="smpl">other-range-unit</a> = <a href="#notation" class="smpl">token</a>
    603 </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.
    604       </p>
    605       <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>
     603</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
     604         unit defined by HTTP/1.1 is "bytes".
     605      </p>
     606      <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&nbsp;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.
     607      </p>
    606608      <h1 id="rfc.section.4"><a href="#rfc.section.4">4.</a>&nbsp;Status Code Definitions
    607609      </h1>
     
    609611      <div id="rfc.iref.s.1"></div>
    610612      <h2 id="rfc.section.4.1"><a href="#rfc.section.4.1">4.1</a>&nbsp;<a id="status.206" href="#status.206">206 Partial Content</a></h2>
    611       <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&nbsp;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&nbsp;6.3</a>) to make the request conditional.
     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.3" title="Range">Section&nbsp;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&nbsp;6.3</a>) to make the request conditional.
    612614      </p>
    613615      <p id="rfc.section.4.1.p.2">The response <em class="bcp14">MUST</em> include the following header fields:
     
    632634      <div id="rfc.iref.s.2"></div>
    633635      <h2 id="rfc.section.4.2"><a href="#rfc.section.4.2">4.2</a>&nbsp;<a id="status.416" href="#status.416">416 Requested Range Not Satisfiable</a></h2>
    634       <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&nbsp;6.4</a>), and none of the ranges-specifier values in this field overlap the current extent of the selected resource, and the request
     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.4" title="Range">Section&nbsp;6.4</a>), and none of the ranges-specifier values in this field overlap the current extent of the selected resource, and the request
    635637         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
    636638         values were greater than the current length of the selected resource.)
     
    886888                  <td>http</td>
    887889                  <td>standard</td>
    888                   <td> <a href="#header.range" id="rfc.xref.header.range.4" title="Range">Section&nbsp;6.4</a>
     890                  <td> <a href="#header.range" id="rfc.xref.header.range.5" title="Range">Section&nbsp;6.4</a>
    889891                  </td>
    890892               </tr>
     
    11921194                        <li class="indline1">Content-Range&nbsp;&nbsp;<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>
    11931195                        <li class="indline1">If-Range&nbsp;&nbsp;<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>
    1194                         <li class="indline1">Range&nbsp;&nbsp;<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>
     1196                        <li class="indline1">Range&nbsp;&nbsp;<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>
    11951197                     </ul>
    11961198                  </li>
     
    12291231            </li>
    12301232            <li class="indline0"><a id="rfc.index.R" href="#rfc.index.R"><b>R</b></a><ul class="ind">
    1231                   <li class="indline1">Range header&nbsp;&nbsp;<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>
     1233                  <li class="indline1">Range header&nbsp;&nbsp;<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>
    12321234                  <li class="indline1"><em>RFC2046</em>&nbsp;&nbsp;<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">
    12331235                        <li class="indline1"><em>Section 5.1</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.RFC2046.1">A</a></li>
  • draft-ietf-httpbis/latest-roy/p5-range.xml

    r355 r358  
    299299</artwork></figure>
    300300<t>
    301    The only range unit defined by HTTP/1.1 is "bytes". HTTP/1.1
    302    implementations &MAY; ignore ranges specified using other units.
    303 </t>
    304 <t>
    305    HTTP/1.1 has been designed to allow implementations of applications
    306    that do not depend on knowledge of ranges.
     301  HTTP/1.1 has been designed to allow implementations of applications
     302  that do not depend on knowledge of ranges. The only range unit defined
     303  by HTTP/1.1 is "bytes".
     304</t>
     305<t>
     306  If a range unit is not understood in a request, a server &MUST; ignore
     307  the whole Range header (<xref target="header.range" />).
     308  If a range unit is not understood in a response, an intermediary
     309  &SHOULD; pass the response to the client; a client &MUST; fail.
    307310</t>
    308311</section>
Note: See TracChangeset for help on using the changeset viewer.