On Wed, Aug 26, 2009 at 2:50 PM, William A. Rowe,
Jr.<wr...@rowe-clan.net> wrote:
> Paul Querna wrote:
>>
>> Yes, write a Varied header to 'hash' plugin API for mod_cache.
>>
>> I would write little lua scriptlets that map user agents to two
>> buckets: supports gzip, doesnt support gzip.  store the thing in
>> mod_cache only twice, instead of once for every user agent.
>
> This doesn't solve the problem of each-and-every downstream proxy
> cache storing an excessively large number of copies.  Even if we
> strip down comments from the fields before choosing cache entries,
> Mozilla's many versions of Mozilla/2.0.3 and Gecko/20090731 tags
> are going to continue to proliferate copies.
>
> I'm suggesting that this might need to be 'invisibly' handled, not
> using Vary:, but by any proxy clever enough to detect the non-conforming
> browser to then strip the request to deflate/gzip.  At that point, the
> choice-of-two becomes obvious to all proxies and back end servers with
> this knowledge.  If this is unknown to an earlier proxy, the client
> could get the broken deflate/gzip content, but that seems unavoidable.
>
> Honestly, I can't see a way to honor HTTP/1.1 cache negotiation goals
> while minimizing cache pollution.

There isn't.  So, optimize your cache, strip caching headers to
downstream proxies.

Maybe Waka can fix it.

Reply via email to