I'm testing the CVS version with ESI (very promising work indeed, thanks
for that!), but I'm running through an troublesome issue: I expected ESI
resources to be cached by Squid as any other ones (what would be the
point if that wasn't the case?), but all my tests are failing with cache
miss all over the place.
On http://www.esi.org/architecture_spec_1-0.html I read that ESI
processors should disregard the Cache-Control headers and rely on
Surrogate-Control instead (does that stand true for included resources
as well?). I did a quick setup with a stock Apache configured as follows:
<Directory /esi/>
Header add Surrogate-Control max-age=60,content="ESI/1.0"
ExpiresActive On
ExpiresByType text/html "now plus 1 minutes"
</Directory>
Which sends, as expected, what seems to me a proper Surrogate-Control
header. The ESI processor works just fine on this very simple test:
<html xmlns:esi="http://www.edge-delivery.org/esi/1.0">
<head>
<title>ESI Test</title>
</head>
<body>
<p>The following content should be pulled automagically.</p>
<esi:try>
<esi:attempt>
<esi:include src="http://localhost/esi/included.html"/>
</esi:attempt>
<esi:except>
Unable to retrieve content.
</esi:except>
</esi:try>
</body>
</html>
With the only (notable) exception that, despite the "max-age" given in
the headers, all I get are cache misses from Squid and, from my web
server logs, hits to both resources (the above page and
esi/included.html) for each squid request. Given also that processing
time with ESI is quite huge (average of 450ms for the above setup), not
being able to cache the results might be a serious showstopper. Have I
overlooked something?
Thanks in advance,
-- Gianugo Rabellino Pro-netics s.r.l. - http://www.pro-netics.com Orixo, the XML business alliance - http://www.orixo.com (Now blogging at: http://blogs.cocoondev.org/gianugo/)Received on Fri Aug 22 2003 - 07:08:28 MDT
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 17:19:04 MST