Re: 200 Level warnings in revalidation

> From: Jeffrey Mogul <mogul@pa.dec.com>
> Resent-From: http-wg@hplb.hpl.hp.com
> Date: Tue, 29 Sep 98 15:29:53 MDT
> To: Chris DiPierro <cdipierr@us.ibm.com>
> Cc: http-wg@hplb.hpl.hp.com
> Subject: Re: 200 Level warnings in revalidation
> -----
> 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

I plan to adopt Jeff's version of the paragraph.
			- Jim

Received on Wednesday, 11 November 1998 11:22:35 UTC