wrong Expires header?

From: Stefan Palme <kleiner@dont-contact.us>
Date: Tue, 20 Dec 2005 13:50:29 +0100

Hi,

I am currently playing around with the ESI stuff now integrated
in Squid-3. I am using the current CVS version (last "cvs update"
today around 11:00am GMT).

I have a squid running in front of a Zope server. When I sniff the
traffic between squid and the Zope-Server, I see for a certain request
the following HTTP response headers coming from Zope (leaving out
non-relevant headers):

 HTTP/1.0 200 OK
 Server: Zope/(Zope 2.7.7-final, python 2.3.5, linux2) ZServer/1.1 Plone/2.0.5
 Date: Tue, 20 Dec 2005 12:22:43 GMT
 Expires: Tue, 20 Dec 2005 13:22:43 GMT
 Surrogate-Control: max-age=3600, content="ESI/1.0"

I want to make this object (an ESI fragment) to get cached for one
hour, so I make Zope set the "Surrogate-Control" header (max-age=3600)
and (just to be on the safe side) the "Expires" header too.

When this response is received by squid, I see the following line
in the cache_store logfile:

1135081927.931 RELEASE -1 FFFFFFFF 40F666E3F71C56F7B6FA7BA0FFA78D55 200 \
   1135081927 -1 1135081927 \
   text/html 85/85 GET http://localhost:8080/plone/esi_view_global_logo

(line wrapped by me, and the timestamps may not match the ones
from the request above).

My question is: why equals the "Date" field of this line the "Expires"
field? As I have seen in the sniffed network traffic, "Date" and
"Expires" differ by one hour...

This maybe does not matter, because the ESI spec. says, that all
"normal" caching related HTTP headers will be ignored, when ESI is
in use (which is the case here). But this request in fact never gets
cached. Can anyone tell me why?

TIA
Best regards
-Stefan-
Received on Tue Dec 20 2005 - 19:25:26 MST

This archive was generated by hypermail pre-2.1.9 : Sat Dec 31 2005 - 12:00:03 MST