Hi >> So the remote (client) side proxy would need an eCAP plugin that would >> modify the initial request to include an ETag. This would require some >> ability to interrogate what we have in cache and generate/request the >> ETag associated with what we have already - do you have a pointer to any >> API/code that I would need to look at to do this? > > I'm unsure sorry. Alex at The Measurement Factory has better info on > specific details of what the eCAP API can do. If I wanted to hack on Squid 3.2... Do you have a 60 second overview on the code points to examine with a view to basically: a) create an etag and insert the relevant header on any response content (although, perhaps done only in the case that an etag is not provided by upstream server) b) add an etag header to requests (without one) - ie we are looking at the case that client 2 requests content we have cached, but client 2 doesn't know that, only local squid does. Just looking for a quick heads up on where to start investigating? > IIRC we have Dimitry with The Measurement Factory assisting with HTTP > compliance fixes. I'm sure sponsorship towards a specific fix will be > welcomed. How do I get in contact with Dimitry? > The one public eCAP adapter we have bee notified about happens to be for > doing gzip. http://code.google.com/p/squid-ecap-gzip/ Hmm.. I did already look this over a bit - very nice and simple API, shame there aren't a huge bunch of ecap plugins sprung up? The limitation seems to be that the API is really around mangling requests/responses, but there isn't obviously a way to interrogate squid and ask it questions about what it's caching? Even if there were then you also have a race condition that you might say to upstream that we have content "X" in cache, but by the time the response comes back that content might have been removed..? Seems that at least parts of this might need to be done internally to squid? Just to be clear, the point is that few web servers generate useful etags, and under the condition that bandwidth is the limiting constraint (plus a hierarchy of proxies), then it might be useful to generate (and later test) etags based on some consistent hash algorithm? Thanks Ed W