Ignore:
Timestamp:
23/01/13 12:27:35 (8 years ago)
Author:
fielding@…
Message:

(editorial) more cleanup in p5

File:
1 edited

Legend:

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

    r2152 r2153  
    487487<t>
    488488   The <x:dfn>206 (Partial Content)</x:dfn> status code indicates that the
    489    server has fulfilled the partial GET request for the resource.
    490    The request &MUST; have included a <x:ref>Range</x:ref> header field
    491    (<xref target="header.range"/>) indicating the desired range, and &MAY; have
    492    included an <x:ref>If-Range</x:ref> header field
    493    (<xref target="header.if-range"/>) to make the request conditional.
    494 </t>
    495 <t>
    496    When an HTTP message includes the content of a single range (for
    497    example, a response to a request for a single range, or to a request
    498    for a set of ranges that overlap without any holes), this content is
    499    transmitted with a <x:ref>Content-Range</x:ref> header field, and a
    500    <x:ref>Content-Length</x:ref> header field showing the number of bytes
    501    actually transferred. For example,
     489   server is successfully fulfilling a range request for the target resource
     490   by transferring one or more parts of the selected representation that
     491   correspond to the satisfiable ranges found in the requests's
     492   <x:ref>Range</x:ref> header field (<xref target="header.range"/>).
     493</t>
     494<t>
     495   If a single part is being transferred, the server generating the 206
     496   response &MUST; generate a <x:ref>Content-Range</x:ref> header field,
     497   describing what range of the selected representation is enclosed, and a
     498   payload consisting of the range. For example:
    502499</t>
    503500<figure><artwork type="message/http; msgtype=&#34;response&#34;" x:indent-with="  ">
     
    508505Content-Length: 26012
    509506Content-Type: image/gif
    510 </artwork></figure>
    511 <t>
    512    When an HTTP message includes the content of multiple ranges (for
    513    example, a response to a request for multiple non-overlapping
    514    ranges), these are transmitted as a multipart message. The multipart
    515    media type used for this purpose is "multipart/byteranges" as defined
    516    in <xref target="internet.media.type.multipart.byteranges"/>.
    517 </t>
     507
     508... 26012 bytes of image data ...
     509</artwork></figure>
     510<t>
     511   If multiple parts are being transferred, the server generating the 206
     512   response &MUST; generate a "multipart/byteranges" payload, as defined
     513   in <xref target="internet.media.type.multipart.byteranges"/>, and send a
     514   <x:ref>Content-Type</x:ref> header field containing the
     515   "multipart/byteranges" media type and its required boundary parameter.
     516   For example:
     517</t>
     518<figure><preamble>
     519</preamble><artwork type="message/http; msgtype=&#34;response&#34;" x:indent-with="  ">
     520HTTP/1.1 206 Partial Content
     521Date: Wed, 15 Nov 1995 06:25:24 GMT
     522Last-Modified: Wed, 15 Nov 1995 04:58:08 GMT
     523Content-Length: 1741
     524Content-Type: multipart/byteranges; boundary=THIS_STRING_SEPARATES
     525
     526--THIS_STRING_SEPARATES
     527Content-Type: application/pdf
     528Content-Range: bytes 500-999/8000
     529
     530...the first range...
     531--THIS_STRING_SEPARATES
     532Content-Type: application/pdf
     533Content-Range: bytes 7000-7999/8000
     534
     535...the second range
     536--THIS_STRING_SEPARATES--
     537</artwork></figure>
    518538<t>
    519539   A server &MAY; combine requested ranges when those ranges are overlapping
     
    818838</t>
    819839<texttable align="left" suppress-title="true" anchor="iana.range.units.table">
    820    <ttcol>Range Specifier Name</ttcol>
     840   <ttcol>Range Unit Name</ttcol>
    821841   <ttcol>Description</ttcol>
    822842   <ttcol>Reference</ttcol>
     
    11831203<iref item="multipart/byteranges Media Type" primary="true"/>
    11841204<t>
    1185    When an HTTP <x:ref>206 (Partial Content)</x:ref> response message includes the
    1186    content of multiple ranges (a response to a request for multiple
    1187    non-overlapping ranges), these are transmitted as a multipart
    1188    message body (<xref target="RFC2046" x:fmt="," x:sec="5.1"/>). The media type for this purpose is called
    1189    "multipart/byteranges".  The following is to be registered with IANA <xref target="BCP13"/>.
    1190 </t>
    1191 <t>
    1192    The multipart/byteranges media type includes one or more parts, each
     1205   When a <x:ref>206 (Partial Content)</x:ref> response message includes the
     1206   content of multiple ranges, they are transmitted as body-parts in a
     1207   multipart message body (<xref target="RFC2046" x:fmt="," x:sec="5.1"/>)
     1208   with the media type of "multipart/byteranges".  The following definition is
     1209   to be registered with IANA <xref target="BCP13"/>.
     1210</t>
     1211<t>
     1212   The multipart/byteranges media type includes one or more body-parts, each
    11931213   with its own <x:ref>Content-Type</x:ref> and <x:ref>Content-Range</x:ref>
    11941214   fields. The required boundary parameter specifies the boundary string used
     
    12451265  </list>
    12461266</t>
    1247 <x:note>
    1248   <t>
    1249     &Note; Despite the name "multipart/byteranges" is not limited to the byte ranges only.
    1250   </t>
    1251 </x:note>
    1252 <figure><preamble>
    1253    For example:
    1254 </preamble><artwork type="example">
    1255   HTTP/1.1 206 Partial Content
    1256   Date: Wed, 15 Nov 1995 06:25:24 GMT
    1257   Last-Modified: Wed, 15 Nov 1995 04:58:08 GMT
    1258   Content-Length: 1741
    1259   Content-Type: multipart/byteranges; boundary=THIS_STRING_SEPARATES
    1260  
    1261   --THIS_STRING_SEPARATES
    1262   Content-Type: application/pdf
    1263   Content-Range: bytes 500-999/8000
    1264  
    1265   ...the first range...
    1266   --THIS_STRING_SEPARATES
    1267   Content-Type: application/pdf
    1268   Content-Range: bytes 7000-7999/8000
    1269  
    1270   ...the second range
    1271   --THIS_STRING_SEPARATES--
    1272 </artwork></figure>
    1273 <figure><preamble>
    1274    Another example, using the "exampleunit" range unit:
    1275 </preamble>
    1276 <artwork type="example">
    1277   HTTP/1.1 206 Partial Content
    1278   Date: Tue, 14 Nov 1995 06:25:24 GMT
    1279   Last-Modified: Tue, 14 July 04:58:08 GMT
    1280   Content-Length: 2331785
    1281   Content-Type: multipart/byteranges; boundary=THIS_STRING_SEPARATES
    1282  
    1283   --THIS_STRING_SEPARATES
    1284   Content-Type: video/example
    1285   Content-Range: exampleunit 1.2-4.3/25
    1286  
    1287   ...the first range...
    1288   --THIS_STRING_SEPARATES
    1289   Content-Type: video/example
    1290   Content-Range: exampleunit 11.2-14.3/25
    1291  
    1292   ...the second range
    1293   --THIS_STRING_SEPARATES--
    1294 </artwork>
    1295 </figure>
    1296 <t>
    1297   Notes:
     1267<t>
     1268  Implementation Notes:
    12981269  <list style="numbers">
    1299       <t>Additional CRLFs &MAY; precede the first boundary string in the body.</t>
     1270      <t>Additional CRLFs might precede the first boundary string in the body.</t>
    13001271
    13011272      <t>Although <xref target="RFC2046"/> permits the boundary string to be
     
    13041275
    13051276      <t>A number of clients and servers were coded to an early draft
    1306          of the byteranges specification to use a media type of
    1307          multipart/x-byteranges<iref item="multipart/x-byteranges Media Type"/><iref item="Media Type" subitem="multipart/x-byteranges"/>, which is almost, but not quite
    1308          compatible with the version documented in HTTP/1.1.</t>
     1277         of the byteranges specification that used a media type of
     1278         multipart/x-byteranges<iref item="multipart/x-byteranges Media Type"/><iref item="Media Type" subitem="multipart/x-byteranges"/>,
     1279         which is almost (but not quite) compatible with this type.</t>
    13091280  </list>
    13101281</t>
     1282<t>
     1283   Despite the name, the "multipart/byteranges" media type is not limited to
     1284   byte ranges. The following example uses an "exampleunit" range unit:
     1285</t>
     1286<figure><artwork type="message/http; msgtype=&#34;response&#34;" x:indent-with="  ">
     1287HTTP/1.1 206 Partial Content
     1288Date: Tue, 14 Nov 1995 06:25:24 GMT
     1289Last-Modified: Tue, 14 July 04:58:08 GMT
     1290Content-Length: 2331785
     1291Content-Type: multipart/byteranges; boundary=THIS_STRING_SEPARATES
     1292
     1293--THIS_STRING_SEPARATES
     1294Content-Type: video/example
     1295Content-Range: exampleunit 1.2-4.3/25
     1296
     1297...the first range...
     1298--THIS_STRING_SEPARATES
     1299Content-Type: video/example
     1300Content-Range: exampleunit 11.2-14.3/25
     1301
     1302...the second range
     1303--THIS_STRING_SEPARATES--
     1304</artwork>
     1305</figure>
    13111306</section>
    13121307
     
    13311326</t>
    13321327<t>
    1333   This specification introduces a Range Specifier Registry.
     1328  This specification introduces a Range Unit Registry.
    13341329  (<xref target="range.unit.registry"/>)
    13351330</t>
Note: See TracChangeset for help on using the changeset viewer.