Ignore:
Timestamp:
Dec 29, 2012, 2:14:11 AM (7 years ago)
Author:
fielding@…
Message:

(editorial) rephrasing to better target the subject of requirements

File:
1 edited

Legend:

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

    r2053 r2066  
    240240  <x:anchor-alias value="206 (Partial Content)"/>
    241241<t>
    242    The server has fulfilled the partial GET request for the resource.
     242   The <x:dfn>206 (Partial Content)</x:dfn> status code indicates that the
     243   server has fulfilled the partial GET request for the resource.
    243244   The request &MUST; have included a <x:ref>Range</x:ref> header field
    244245   (<xref target="header.range"/>) indicating the desired range, and &MAY; have
     
    247248</t>
    248249<t>
    249    The response &MUST; include the following header fields:
     250   When a 206 response is generated, the sender &MUST; generate the following
     251   header fields:
    250252  <list style="symbols">
    251253    <t>
     
    270272</t>
    271273<t>
    272    If a 206 is sent in response to a request with an <x:ref>If-Range</x:ref>
    273    header field, it &SHOULD-NOT; include other representation header fields.
    274    Otherwise, the response &MUST; include all of the representation header
    275    fields that would have been sent with a <x:ref>200 (OK)</x:ref> response
     274   If a 206 is generated in response to a request with an <x:ref>If-Range</x:ref>
     275   header field, the sender &SHOULD-NOT; generate other representation header
     276   fields beyond those described above.
     277   Otherwise, the sender &MUST; generate all of the same representation header
     278   fields that would have been sent in a <x:ref>200 (OK)</x:ref> response
    276279   to the same request.
    277280</t>
     
    286289  <x:anchor-alias value="416 (Requested Range Not Satisfiable)"/>
    287290<t>
    288    A server &SHOULD; send a response with this status code if a request
    289    included a <x:ref>Range</x:ref> header field (<xref target="header.range"/>),
    290    and none of the ranges-specifier values in this field overlap the current
    291    extent of the selected resource, and the request did not include an
     291   The <x:dfn>416 (Requested Range Not Satisfiable)</x:dfn> status code
     292   indicates that none of the ranges-specifier values in the request's
     293   <x:ref>Range</x:ref> header field (<xref target="header.range"/>)
     294   overlap the current
     295   extent of the selected resource and the request did not include an
    292296   <x:ref>If-Range</x:ref> header field (<xref target="header.if-range"/>).
    293297   (For byte-ranges, this means that the first-byte-pos of all of the
    294298   byte-range-spec values were greater than the current length of the selected
    295    resource.)
     299   representation.)
    296300</t>
    297301<t>
    298302   When this status code is sent in response to a byte-range request, the
    299    response &SHOULD; include a <x:ref>Content-Range</x:ref> header field
    300    specifying the current length of the representation (see <xref target="header.content-range"/>).
    301    This response &MUST-NOT; use the multipart/byteranges media type.
     303   sender &SHOULD; generate a <x:ref>Content-Range</x:ref> header field
     304   specifying the current length of the selected representation
     305   (see <xref target="header.content-range"/>).
    302306</t>
    303307<figure>
     
    377381</t>
    378382<t>
    379    When a client receives an incomplete <x:ref>200 (OK)</x:ref> or <x:ref>206 (Partial Content)</x:ref>
    380    response and already has one or more stored responses for the same method
    381    and effective request URI, all of the stored responses with the same
    382    strong validator &MAY; be combined with the partial content in this new
    383    response.  If none of the stored responses contain the same strong
    384    validator, then this new response corresponds to a new representation
    385    and &MUST-NOT; be combined with the existing stored responses.
    386 </t>
    387 <t>
    388    If the new response is an incomplete <x:ref>200 (OK)</x:ref> response, then the header
    389    fields of that new response are used for any combined response and replace
    390    those of the matching stored responses.
    391 </t>
    392 <t>
    393    If the new response is a <x:ref>206 (Partial Content)</x:ref> response and at least one
    394    of the matching stored responses is a <x:ref>200 (OK)</x:ref>, then the combined response
    395    header fields consist of the most recent 200 response's header fields.
    396    If all of the matching stored responses are 206 responses, then the
    397    stored response with the most recent header fields is used as the source of
    398    header fields for the combined response, except that the client &MUST;
    399    use other header fields provided in the new response, aside from
    400    <x:ref>Content-Range</x:ref>, to replace all instances of the corresponding
    401    header fields in the stored response.
     383   When a client receives an incomplete <x:ref>200 (OK)</x:ref> response or a
     384   <x:ref>206 (Partial Content)</x:ref> response, and already has one or more
     385   partial responses for the same method and effective request URI that have
     386   the same strong validator as present in the new response,
     387   the recipient &MAY; combine some or all of those responses into a set of
     388   continuous ranges. A client &MUST-NOT; combine responses that differ in the
     389   strong validator or that do not have a strong validator.
     390</t>
     391<t>
     392   If the new response is an incomplete <x:ref>200 (OK)</x:ref> response, then
     393   the header fields of that new response are used for any combined response
     394   and replace those of the matching stored responses.
     395</t>
     396<t>
     397   If the new response is a <x:ref>206 (Partial Content)</x:ref> response and
     398   at least one of the matching stored responses is a <x:ref>200 (OK)</x:ref>,
     399   then the combined response header fields consist of the most recent 200
     400   response's header fields. If all of the matching stored responses are 206
     401   responses, then the stored response with the most recent header fields is
     402   used as the source of header fields for the combined response, except that
     403   the client &MUST; use other header fields provided in the new response,
     404   aside from <x:ref>Content-Range</x:ref>, to replace all instances of the
     405   corresponding header fields in the stored response.
    402406</t>
    403407<t>
     
    405409   content ranges in the new response and each of the selected responses.
    406410   If the union consists of the entire range of the representation, then the
    407    combined response &MUST; be recorded as a complete <x:ref>200 (OK)</x:ref>
    408    response with a <x:ref>Content-Length</x:ref> header field that reflects the
    409    complete length. Otherwise, the combined response(s) &MUST; include a
    410    <x:ref>Content-Range</x:ref> header field describing the included range(s)
    411    and be recorded as incomplete.  If the union consists of a discontinuous
    412    range of the representation, then the client &MAY; store it as either a
    413    multipart range response or as multiple <x:ref>206</x:ref> responses with
    414    one continuous range each.
     411   client &MUST; record the combined response as if it were a complete
     412   <x:ref>200 (OK)</x:ref> response, including a <x:ref>Content-Length</x:ref>
     413   header field that reflects the complete length.
     414   Otherwise, the client &MUST; record the set of continuous ranges as one of
     415   the following:
     416   an incomplete <x:ref>200 (OK)</x:ref> response if the combined response is
     417   a prefix of the representation,
     418   a single <x:ref>206 (Partial Content)</x:ref> response containing a
     419   multipart/byteranges body, or
     420   multiple <x:ref>206 (Partial Content)</x:ref> responses, each with one
     421   continuous range that is indicated by a <x:ref>Content-Range</x:ref> header
     422   field.
    415423</t>
    416424</section>
Note: See TracChangeset for help on using the changeset viewer.