Ignore:
Timestamp:
Jul 8, 2012, 6:29:53 AM (7 years ago)
Author:
julian.reschke@…
Message:

Work-in-progress: hyperlink header field definitions(P5)

File:
1 edited

Legend:

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

    r1737 r1738  
    261261   HTTP/1.1 allows a client to request that only part (a range) of the
    262262   representation be included within the response. HTTP/1.1 uses range
    263    units in the Range (<xref target="header.range"/>) and Content-Range (<xref target="header.content-range"/>)
     263   units in the <x:ref>Range</x:ref> (<xref target="header.range"/>) and
     264   <x:ref>Content-Range</x:ref> (<xref target="header.content-range"/>)
    264265   header fields. A representation can be broken down into subranges according
    265266   to various structural units.
     
    278279<t>
    279280  If a range unit is not understood in a request, a server &MUST; ignore
    280   the whole Range header field (<xref target="header.range"/>).
     281  the whole <x:ref>Range</x:ref> header field (<xref target="header.range"/>).
    281282  If a range unit is not understood in a response, an intermediary
    282283  &SHOULD; pass the response to the client; a client &MUST; fail.
     
    316317<t>
    317318   The server has fulfilled the partial GET request for the resource.
    318    The request &MUST; have included a Range header field (<xref target="header.range"/>)
    319    indicating the desired range, and &MAY; have included an If-Range
    320    header field (<xref target="header.if-range"/>) to make the request conditional.
     319   The request &MUST; have included a <x:ref>Range</x:ref> header field
     320   (<xref target="header.range"/>) indicating the desired range, and &MAY; have
     321   included an <x:ref>If-Range</x:ref> header field
     322   (<xref target="header.if-range"/>) to make the request conditional.
    321323</t>
    322324<t>
     
    324326  <list style="symbols">
    325327    <t>
    326         Either a Content-Range header field (<xref target="header.content-range"/>) indicating
     328        Either a <x:ref>Content-Range</x:ref> header field
     329        (<xref target="header.content-range"/>) indicating
    327330        the range included with this response, or a multipart/byteranges
    328331        Content-Type including Content-Range fields for each part. If a
     
    342345</t>
    343346<t>
    344    If a 206 is sent in response to a request with an If-Range header field, it
    345    &SHOULD-NOT; include other representation header fields. Otherwise, the response
    346    &MUST; include all of the representation header fields that would have been returned
    347    with a <x:ref>200 (OK)</x:ref> response to the same request.
     347   If a 206 is sent in response to a request with an <x:ref>If-Range</x:ref>
     348   header field, it &SHOULD-NOT; include other representation header fields.
     349   Otherwise, the response &MUST; include all of the representation header
     350   fields that would have been returned with a <x:ref>200 (OK)</x:ref> response
     351   to the same request.
    348352</t>
    349353<t>
     
    359363<t>
    360364   A server &SHOULD; return a response with this status code if a request
    361    included a Range header field (<xref target="header.range"/>), and none of
    362    the ranges-specifier values in this field overlap the current extent
    363    of the selected resource, and the request did not include an If-Range
    364    header field (<xref target="header.if-range"/>). (For byte-ranges,
    365    this means that the first-byte-pos of all of the byte-range-spec values were
    366    greater than the current length of the selected resource.)
     365   included a <x:ref>Range</x:ref> header field (<xref target="header.range"/>),
     366   and none of the ranges-specifier values in this field overlap the current
     367   extent of the selected resource, and the request did not include an
     368   <x:ref>If-Range</x:ref> header field (<xref target="header.if-range"/>).
     369   (For byte-ranges, this means that the first-byte-pos of all of the
     370   byte-range-spec values were greater than the current length of the selected
     371   resource.)
    367372</t>
    368373<t>
    369374   When this status code is returned for a byte-range request, the
    370    response &SHOULD; include a Content-Range header field
     375   response &SHOULD; include a <x:ref>Content-Range</x:ref> header field
    371376   specifying the current length of the representation (see <xref target="header.content-range"/>).
    372377   This response &MUST-NOT; use the multipart/byteranges content-type. For example,
     
    382387    &Note; Clients cannot depend on servers to send a <x:ref>416 (Requested
    383388    Range Not Satisfiable)</x:ref> response instead of a <x:ref>200 (OK)</x:ref>
    384     response for an unsatisfiable Range header field, since not all servers
    385     implement this header field.
     389    response for an unsatisfiable <x:ref>Range</x:ref> header field, since not
     390    all servers implement this header field.
    386391  </t>
    387392</x:note>
     
    395400   example, a response to a request for a single range, or to a request
    396401   for a set of ranges that overlap without any holes), this content is
    397    transmitted with a Content-Range header field, and a Content-Length header
    398    field showing the number of bytes actually transferred. For example,
     402   transmitted with a <x:ref>Content-Range</x:ref> header field, and a
     403   Content-Length header field showing the number of bytes actually transferred.
     404   For example,
    399405</t>
    400406<figure><artwork type="message/http; msgtype=&#34;response&#34;" x:indent-with="  ">
     
    466472   header fields for the combined response, except that the client &MUST;
    467473   use other header fields provided in the new response, aside from
    468    Content-Range, to replace all instances of the corresponding header
    469    fields in the stored response.
     474   <x:ref>Content-Range</x:ref>, to replace all instances of the corresponding
     475   header fields in the stored response.
    470476</t>
    471477<t>
     
    475481   combined response &MUST; be recorded as a complete <x:ref>200 (OK)</x:ref> response
    476482   with a Content-Length header field that reflects the complete length.
    477    Otherwise, the combined response(s) &MUST; include a Content-Range
     483   Otherwise, the combined response(s) &MUST; include a <x:ref>Content-Range</x:ref>
    478484   header field describing the included range(s) and be recorded as
    479485   incomplete.  If the union consists of a discontinuous range of the
     
    626632   If the server ignores a byte-range-spec (for example if it is
    627633   syntactically invalid, or if it might be seen as a denial-of-service
    628    attack), the server &SHOULD; treat the request as if the invalid Range
     634   attack), the server &SHOULD; treat the request as if the invalid <x:ref>Range</x:ref>
    629635   header field did not exist. (Normally, this means return a <x:ref>200 (OK)</x:ref>
    630636   response containing the full representation).
     
    638644<t>
    639645   If a client has a partial copy of a representation and wishes
    640    to have an up-to-date copy of the entire representation, it
    641    could use the Range header field with a conditional GET (using
     646   to have an up-to-date copy of the entire representation, it could use the
     647   <x:ref>Range</x:ref> header field with a conditional GET (using
    642648   either or both of If-Unmodified-Since and If-Match.) However, if the
    643649   condition fails because the representation has been modified, the client
     
    12441250<t>
    12451251   The multipart/byteranges media type includes one or more parts, each
    1246    with its own Content-Type and Content-Range fields. The required
    1247    boundary parameter specifies the boundary string used to separate
     1252   with its own Content-Type and <x:ref>Content-Range</x:ref> fields. The
     1253   required boundary parameter specifies the boundary string used to separate
    12481254   each body-part.
    12491255</t>
Note: See TracChangeset for help on using the changeset viewer.