Ignore:
Timestamp:
14/09/13 21:35:28 (9 years ago)
Author:
fielding@…
Message:

clarify requirements on non-GMT dates and updating stored GET responses with a HEAD response; addresses #475

File:
1 edited

Legend:

Unmodified
Added
Removed
  • draft-ietf-httpbis/latest/p6-cache.html

    r2393 r2397  
    919919         <li>Cache recipients <em class="bcp14">MUST NOT</em> allow local time zones to influence the calculation or comparison of an age or expiration time.
    920920         </li>
    921          <li>Cache recipients <em class="bcp14">SHOULD</em> consider a date with a zone abbreviation other than "GMT" to be invalid for calculating expiration.
     921         <li>Cache recipients <em class="bcp14">SHOULD</em> consider a date with a zone abbreviation other than GMT or UTC to be invalid for calculating expiration.
    922922         </li>
    923923      </ul>
     
    11351135         representation body is not desired even if it has changed.
    11361136      </p>
    1137       <p id="rfc.section.4.3.5.p.2">If one or more stored GET responses can be selected (as per <a href="#caching.negotiated.responses" title="Calculating Secondary Keys with Vary">Section&nbsp;4.1</a>) for a HEAD request, and the <a href="p1-messaging.html#header.content-length" class="smpl">Content-Length</a>, <a href="p4-conditional.html#header.etag" class="smpl">ETag</a> or <a href="p4-conditional.html#header.last-modified" class="smpl">Last-Modified</a> value of a HEAD response differs from that in a selected GET response, the cache <em class="bcp14">MUST</em> consider that selected response to be stale.
    1138       </p>
    1139       <p id="rfc.section.4.3.5.p.3">If the <a href="p1-messaging.html#header.content-length" class="smpl">Content-Length</a>, <a href="p4-conditional.html#header.etag" class="smpl">ETag</a> and <a href="p4-conditional.html#header.last-modified" class="smpl">Last-Modified</a> values of a HEAD response (when present) are the same as that in a selected GET response (as per <a href="#caching.negotiated.responses" title="Calculating Secondary Keys with Vary">Section&nbsp;4.1</a>), the cache <em class="bcp14">SHOULD</em> update the remaining header fields in the stored response using the following rules:
     1137      <p id="rfc.section.4.3.5.p.2">When a cache makes an inbound HEAD request for a given request target and receives a <a href="p2-semantics.html#status.200" class="smpl">200 (OK)</a> response, the cache <em class="bcp14">SHOULD</em> update or invalidate each of its stored GET responses that could have been selected for that request (see <a href="#caching.negotiated.responses" title="Calculating Secondary Keys with Vary">Section&nbsp;4.1</a>).
     1138      </p>
     1139      <p id="rfc.section.4.3.5.p.3">For each of the stored responses that could have been selected, if the stored response and HEAD response have matching values
     1140         for any received validator fields (<a href="p4-conditional.html#header.etag" class="smpl">ETag</a> and <a href="p4-conditional.html#header.last-modified" class="smpl">Last-Modified</a>) and, if the HEAD response has a <a href="p1-messaging.html#header.content-length" class="smpl">Content-Length</a> header field, the value of <a href="p1-messaging.html#header.content-length" class="smpl">Content-Length</a> matches that of the stored response, the cache <em class="bcp14">SHOULD</em> update the stored response a described below; otherwise, the cache <em class="bcp14">SHOULD</em> consider the stored response to be stale.
     1141      </p>
     1142      <p id="rfc.section.4.3.5.p.4">If a cache updates a stored response with the metadata provided in a HEAD response, the cache <em class="bcp14">MUST</em>:
    11401143      </p>
    11411144      <ul>
     
    11451148         </li>
    11461149         <li>use other header fields provided in the HEAD response to replace all instances of the corresponding header fields in the stored
    1147             response.
     1150            response and append new header fields to the stored response's header section unless otherwise restricted by the <a href="#header.cache-control" class="smpl">Cache-Control</a> header field.
    11481151         </li>
    11491152      </ul>
Note: See TracChangeset for help on using the changeset viewer.