We use using Squid to cache image, css, js and html files.
We currently use the expires tag for html files. This
works well in the sense that if the configurable time has
not expired, squid services the requests and saves the
rest of our infrastructure from the hit.
However, our html pages may change in the expires time
frame.
Perhaps a better model for us is more of an update based
model using ETag. The down side of this is that our
infrastructure is hit for each request. However, the hit
is minimal if the html page has not changed.
I am wondering what role Squid would play with the ETag
model for html pages. It seems as though the conversation
is with the Browser and that the Browser will cache the
html pages and determine when to use the If-None-Match
http header. Is this true?
Also, I noticed that Squid forces http communication into
http 1.0 mode. This has a negative effect when working
with IE and the ETag model. Can we have Squid interact in
http 1.1?
For the image, css and js files, we have a requirement to
check if users are authorized to files before they are
serviced. Therefore, once cached in Squid they are
serviced by Squid and do not interface with our
infrastructure. Is there a mechanism in Squid to enable
the appropriate authorization checks before servicing?
Thanks very much,
Steve