Re: Behaviour of Date and Age Headers on Proxy Revalidate

On Tue, Jan 24, 2006 at 03:07:24PM -0700, Alex Rousskov wrote:
> On Mon, 2006-01-23 at 15:34 +0000, Boris Nikolaus wrote:
> > a) The Date represents the time of the original message:
> > 
> >    This is the behaviour of squid 2.5, but looks very weird for
> >    some objects to me:
> 
> I think (a) is the only possibility. There is nothing weird about the
> Date and Age headers you observe if you notice the "or its revalidation"
> clause in the Age definition.

I just found a section in RFC2616 which would result in (b) being
correct:

    10.3.5 304 Not Modified

    [...]

    The response MUST include the following header fields:
    - Date, unless the omission is required by section 14.18.1
    - [...]
    - Expires, Cache-Control, and/or Vary, if the field-value might
      differ from that sent in any previous response for the same
      variant

    [...]

    If a cache uses a received 304 response to update a cache entry,
    the cache MUST update the entry to reflect any new field values
    given in the response.

According to the last sentence, all the above mentioned headers
have to be updated in the cache (including the Date header), so (b)
should be the correct behaviour (which makes most sense to me).

The only missing part in this description is the update of the
Date header in the cache if it has been omitted in the response due
to section 14.18.1.

Boris.

Received on Wednesday, 25 January 2006 13:49:45 UTC