- From: Jeffrey Mogul <mogul@pa.dec.com>
- Date: Tue, 29 Sep 98 15:29:53 MDT
- To: Chris DiPierro <cdipierr@us.ibm.com>
- Cc: http-wg@hplb.hpl.hp.com
Chris DiPierro <cdipierr@us.ibm.com> writes: The spec says that all 200 level warnings must be retained after a successful revalidation. However, it also says that all end-to-end headers (Warnings are end-to-end) must be replaced after by the corresponding end-to-end header in a revalidation. So if we had a cached copy of an entity that has a 200 level warning associated with it and when we revalidate, we get a Warning header w/o the 200 level warning, are we supposed to keep it or not? I believe you are referring to section 13.5.3 (Combining Headers), and this particular passage: The end-to-end headers stored in the cache entry are used for the constructed response, except that . any stored Warning headers with warn-code 1xx (see section 14.46) MUST be deleted from the cache entry and the forwarded response. . any stored Warning headers with warn-code 2xx MUST be retained in the cache entry and the forwarded response. . any end-to-end headers provided in the 304 or 206 response MUST replace the corresponding headers from the cache entry. Unless the cache decides to remove the cache entry, it MUST also replace the end-to-end headers stored with the cache entry with corresponding headers received in the incoming response. In other words, the set of end-to-end headers received in the incoming response overrides all corresponding end-to-end headers stored with the cache entry (except for stored Warning headers with warn-code 1xx, which are deleted even if not overridden). I guess this might be somewhat confusing. The second exception in the bulleted list: . any stored Warning headers with warn-code 2xx MUST be retained in the cache entry and the forwarded response. appears to conflict with Unless the cache decides to remove the cache entry, it MUST also replace the end-to-end headers stored with the cache entry with corresponding headers received in the incoming response. but the obvious resolution is that special treatment for Warning headers applies to this paragraph, as well as the one above the list of exceptions. I.e., the paragraph should read: Unless the cache decides to remove the cache entry, it MUST also replace the end-to-end headers stored with the cache entry with corresponding headers received in the incoming response, except for Warning headers as described immediately above. -Jeff
Received on Tuesday, 29 September 1998 15:31:44 UTC