Just wanted to voice my opinion here. I do a lot of work with caching proxies and it would be really nice to have apache be intelligent to how things are cached. There's two types of changes that would really help caches and proxies, internal and external to apache:
1) Make apache modules add apropriate headers to inform caches of the cacheability of objects. Does something vary based on cookies? put a "Vary: cookie" in the outgoing headers. Are we using an AAA plugin, put "Cache-Control: private" in the headers. This would really make the complex behavoir of apache modules easier to deal with for downstream caches. I think it would be a mistake to use apache-specific mechanisms such as looking at the filter stack to try to figure out this information. Let's use HTTP for it. 2) Make mod_cache aware of the stuff set by (1). This doesn't have to be intelligent. Squid doesn't cache anything with a Vary header in it. Sounds good to me. Note that moving mod_cache forward in the request cycle only satisfies situations where your modules are running inside of apache. If the mod_cache instance is running on a separate proxy machine downstream from the machine running the AAA plugin, you're screwed unless the correct headers are set and read. Now, I haven't looked at all of the code to make sure that these things are satisfied. I know that mod_rewrite does a good job of setting the Vary header based on rewrite rules but that's the extent of my knowledge. I just wanted to get this in everyone's mind as a valuable goal. If you guys want, I can audit the existing plugins to see how they behave along these lines. cheers -bmd
