Ignore:
Timestamp:
13/09/13 00:19:59 (7 years ago)
Author:
fielding@…
Message:

consistently refer to strong comparison in p4 instead of redefining it; addresses #489

File:
1 edited

Legend:

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

    r2369 r2377  
    2929  <!ENTITY entity-tags                "<xref target='Part4' x:rel='#header.etag' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    3030  <!ENTITY weak-and-strong-validators "<xref target='Part4' x:rel='#weak.and.strong.validators' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
     31  <!ENTITY entity-tag-comparison      "<xref target='Part4' x:rel='#entity.tag.comparison' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    3132  <!ENTITY lastmod-comparison         "<xref target='Part4' x:rel='#lastmod.comparison' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    3233  <!ENTITY p6-heuristic               "<xref target='Part6' x:rel='#heuristic.freshness' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
     
    450451   <x:ref>Range</x:ref> header field with a conditional GET (using
    451452   either or both of <x:ref>If-Unmodified-Since</x:ref> and
    452    <x:ref>If-Match</x:ref>.) However, if the condition fails because the
     453   <x:ref>If-Match</x:ref>.) However, if the precondition fails because the
    453454   representation has been modified, the client would then have to make a
    454455   second request to obtain the entire current representation.
     
    463464  <x:ref>If-Range</x:ref> = <x:ref>entity-tag</x:ref> / <x:ref>HTTP-date</x:ref>
    464465</artwork></figure>
    465 <t>
    466    A client &MUST-NOT; generate an If-Range header field containing an
    467    entity-tag that is marked as weak.
    468    A client &MUST-NOT; generate an If-Range header field containing a
    469    <x:ref>Last-Modified</x:ref> date unless the client has no entity-tag for
    470    the corresponding representation and the Last-Modified date is strong
    471    in the sense defined by &lastmod-comparison;.
    472 </t>
    473 <t>
    474    A server that evaluates a conditional range request that is applicable
    475    to one of its representations &MUST; evaluate the condition as false if
    476    the entity-tag used as a validator is marked as weak or, when an HTTP-date
    477    is used as the validator, if the date value is not strong in the sense
    478    defined by &lastmod-comparison;. (A server can distinguish between a
    479    valid HTTP-date and any form of entity-tag by examining the first
    480    two characters.)
    481 </t>
    482466<t>
    483467   A client &MUST-NOT; generate an If-Range header field in a request that
     
    489473</t>
    490474<t>
     475   A client &MUST-NOT; generate an If-Range header field containing an
     476   entity-tag that is marked as weak.
     477   A client &MUST-NOT; generate an If-Range header field containing an
     478   <x:ref>HTTP-date</x:ref> unless the client has no entity-tag for
     479   the corresponding representation and the date is a strong validator
     480   in the sense defined by &lastmod-comparison;.
     481</t>
     482<t>
     483   A server that evaluates an If-Range precondition &MUST; use the strong
     484   comparison function when comparing entity-tags (&entity-tag-comparison;)
     485   and &MUST; evaluate the condition as false if an <x:ref>HTTP-date</x:ref>
     486   validator is provided that is not a strong validator in the sense defined
     487   by &lastmod-comparison;.
     488   (A server can distinguish between a valid <x:ref>HTTP-date</x:ref> and any
     489   form of entity-tag by examining the first two characters.)
     490</t>
     491<t>
    491492   If the validator given in the If-Range header field matches the current
    492493   validator for the selected representation of the target resource, then
    493    the server &SHOULD; process the Range header field as requested.
    494    If the validator does not match, then the server &MUST; ignore the
     494   the server &SHOULD; process the <x:ref>Range</x:ref> header field as
     495   requested. If the validator does not match, the server &MUST; ignore the
    495496   <x:ref>Range</x:ref> header field.
    496497</t>
     
    748749   specifications.  After several such transfers, a client might have
    749750   received several ranges of the same representation.  These ranges can only
    750    be safely combined if they all have in common the same strong validator,
    751    where "strong validator" is defined to be either an entity-tag that is
    752    not marked as weak (&entity-tags;) or, if no entity-tag is provided, a
    753    <x:ref>Last-Modified</x:ref> value that is strong in the sense defined by
    754    &lastmod-comparison;.
     751   be safely combined if they all have in common the same strong validator
     752   (&weak-and-strong-validators;).
    755753</t>
    756754<t>
Note: See TracChangeset for help on using the changeset viewer.