- From: Jeffrey Mogul <mogul@pa.dec.com>
- Date: Thu, 06 Jun 96 14:58:26 MDT
- To: http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
- Cc: jg@w3.org
These edits reflect my understanding and recollection of the consenus developed during today's editorial teleconference. Anyone who wishes hould do so immediately, since the deadline for the next I-D submission is less than 24 hours from now. The intention of these changes is to clarify what headers are sent with 304 (Not Modified) responses. This subject resulted in a lengthy discussion during the teleconference, and although I believe that the resulting words are correct, they merit careful scrutiny. 10.3.5 304 Not Modified Replace If the client has performed a conditional GET request and access is allowed, but the document has not been modified, the server SHOULD respond with this status code. The response MUST NOT contain a message- body. Header fields contained in the response MUST include any values that, if an unconditional request had been made, might be different from values sent with any prior response for the entity The response MUST also include any values that caches use for matching requests and responses with cache entries. The response SHOULD NOT include header fields whose values cannot possibly have changed, such as Content-Type. Examples of relevant header fields include: Date, Server, Content- Length, Content-MD5, Content-Version, Cache-Control, ETag, Vary and Expires. with If the client has performed a conditional GET request and access is allowed, but the document has not been modified, the server SHOULD respond with this status code. The response MUST NOT contain a message- body. The response MUST include the following header fields: . Date . ETag and/or Content-Location, if the header would have been sent in a 200 response to the same request . Expires, Cache-Control, and/or Vary, if the field-value might differ from that sent in any previous response for the same variant If the conditional GET used a strong cache validator (see section 13.3.3), the response SHOULD NOT include other entity-headers. Otherwise (i.e., the conditional GET used a weak validator), the response MUST NOT include other entity-headers; this prevents inconsistencies between cached entity-bodies and updated headers. Our belief is that these rules for including headers in 304 responses solves the following problems: (1) it provides those headers necessary for matching responses with cache entries (2) it provides those headers that might be necessary for updating cachability information for a previous response (3) it prevents inconsistencies that otherwise could arise with the use of weak validators if the cached entity body is not consistent with the current state of the variant (such as a semantically insignificant change in length) (4) it discourages, but does not prevent, the use of other headers. -Jeff
Received on Thursday, 6 June 1996 15:08:43 UTC