Ignore:
Timestamp:
07/09/13 23:32:58 (8 years ago)
Author:
fielding@…
Message:

move all of the cache requirements added to p4 to a new section in p6; move related sections into the same outline and simplify section headers

File:
1 edited

Legend:

Unmodified
Added
Removed
  • draft-ietf-httpbis/latest/p4-conditional.xml

    r2369 r2372  
    3030  <!ENTITY caching                    "<xref target='Part6' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    3131  <!ENTITY cache-key                  "<xref target='Part6' x:rel='#constructing.responses.from.caches' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
     32  <!ENTITY cache-validation-received  "<xref target='Part6' x:rel='#validation.received' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    3233  <!ENTITY freshening-responses       "<xref target='Part6' x:rel='#freshening.responses' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    3334  <!ENTITY header-accept-encoding     "<xref target='Part2' x:rel='#header.accept-encoding' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
     
    658659   one precondition is present.
    659660</t>
     661<t>
     662   Requirements on a cache when handling a received conditional request are
     663   defined in &cache-validation-received;.
     664</t>
    660665
    661666<section title="If-Match" anchor="header.if-match">
     
    714719   of an immediately prior change made by the same user agent.
    715720</t>
    716 <t>
    717    If the request semantics can be satisfied with a cached response, a
    718    recipient cache &MUST; evaluate the condition as part of its selection
    719    process for determining a suitable response for that primary cache key
    720    (see &cache-key;).
    721    The cache &MUST; generate a <x:ref>412 (Precondition Failed)</x:ref>
    722    response if the field-value is "*" and no suitable response is stored, or
    723    if the field-value is a list of entity-tags and none of them match the
    724    entity-tag of a suitable stored response.
    725    Otherwise, the cache &MUST; generate a successful <x:ref>2xx</x:ref>
    726    response that reuses the most recent of its matching stored responses to
    727    satisfy the request.
    728 </t>
    729721</section>
    730722
     
    789781   b) the <x:ref>412 (Precondition Failed)</x:ref> status code for all other
    790782   request methods.
    791 </t>
    792 <t>
    793    If the request semantics can be satisfied with a cached response, a
    794    recipient cache &SHOULD; evaluate the condition as part of its selection
    795    process for determining a suitable response for that primary cache key
    796    (see &cache-key;). If the field-value is "*" and a suitable response is
    797    stored, or the field-value is a list of entity-tags and at least one of
    798    them match the entity-tag of a suitable stored response, the cache &SHOULD;
    799    generate a <x:ref>304 (Not Modified)</x:ref> response using the most
    800    suitable of those matching responses as the selected representation.
    801    Otherwise, if the cache has one or more suitable stored responses that
    802    do not match the condition, the cache &SHOULD; generate a successful
    803    <x:ref>2xx</x:ref> response that reuses the most suitable of those stored
    804    responses to satisfy the request. Finally, if the cache has no suitable
    805    stored responses, the cache &SHOULD; forward the conditional request toward
    806    the origin server; if the received condition contains a list of entity-tags
    807    and the cache has its own set of stored responses for that primary cache
    808    key, the cache &SHOULD; take the union of the received set with the set of
    809    entity-tags for its own stored set of responses (fresh or stale) and
    810    generate an <x:ref>If-None-Match</x:ref> header field containing that union
    811    when it forwards the request toward the origin server.
    812783</t>
    813784</section>
     
    883854   field will not be able to help the user agent limit its data transfers to
    884855   only those changed during the specified window.
    885 </t>
    886 <t>
    887    If the request semantics can be satisfied with a cached response, a
    888    recipient cache &SHOULD; evaluate the condition as part of its selection
    889    process for determining a suitable response for that primary cache key
    890    (see &cache-key;).
    891    The cache &SHOULD; forward the conditional request toward the origin server
    892    if it does not have any suitable stored responses.
    893    The cache &SHOULD; generate a successful
    894    <x:ref>2xx</x:ref> response, reusing the most recent of its stored
    895    responses to satisfy the request, if one of the following is true:
    896    1) a stored response has a <x:ref>Last-Modified</x:ref> field-value that
    897    is more recent than the conditional timestamp;
    898    2) no <x:ref>Last-Modified</x:ref> field is present, but a stored
    899    response has a <x:ref>Date</x:ref> field-value that is more recent than the
    900    conditional timestamp; or,
    901    3) neither <x:ref>Last-Modified</x:ref> nor <x:ref>Date</x:ref> is present,
    902    but the cache recorded a stored response as having been received at a
    903    time more recent than the conditional timestamp.
    904    Otherwise, the cache &SHOULD; generate a <x:ref>304 (Not Modified)</x:ref>
    905    response using the most recent of the stored responses as the selected
    906    representation.
    907856</t>
    908857</section>
     
    973922   of an immediately prior change made by the same user agent.
    974923</t>
    975 <t>
    976    If the request semantics can be satisfied with a cached response, a
    977    recipient cache &MUST; evaluate the condition as part of its selection
    978    process for determining a suitable response for that primary cache key
    979    (see &cache-key;).
    980    The cache &MUST; forward the conditional request toward the origin server
    981    if it does not have any suitable stored responses.
    982    The cache &MUST; generate a successful <x:ref>2xx</x:ref> response that
    983    reuses the most recent of its suitable stored responses to satisfy the
    984    request if that stored response has a <x:ref>Last-Modified</x:ref> date
    985    that is equal to or earlier than the date given in If-Unmodified-Since.
    986    Otherwise, the cache &MUST; respond with a
    987    <x:ref>412 (Precondition Failed)</x:ref> status code.
    988 </t>
    989924</section>
    990925
     
    999934</t>
    1000935</section>
    1001 
    1002936</section>
    1003937
Note: See TracChangeset for help on using the changeset viewer.