I'm not proposing a solution but just pointing out that if this discussion
is going to come up once again that even the latest, greatest versions
of one of the most popular browsers in the world, Microsoft Internet
Explorer, will still REFUSE TO CACHE any response that shows up
with a "Vary:" on any field other than "User-Agent".
 
It is certainly true that using the same ETag for two different "Variants"
is in violation of RFC, but just fixing ETag isn't going to fully solve
the industry-wide problem.
 
The moment the user-agent itself it refusing to cache responses that
have any "Vary:" conditions at all then you create a "thundering herd"
scenario now on the "last mile" instead of between Proxy/COS ( Content
Origin Server ). 
 
The long-running question will still remain.
 
Is it better to at least have the user-agents hanging on to non-expired
responses that have actually been CACHED locally and not hammering 
the proxies at all, or it is it simply better to have the proxy do the 
heavy-breathing if/when a lot of requests are coming for a document 
that might have two ( varied ) responses.
 
In the case of "Accept-encoding: gzip", it's pretty darn rare these days
for any COS or Proxy to ever get a reqeust from some brain-dead
user-agent that can't decompress, isn't it?
 
Hasn't the non-compressed variant become an extreme edge-case
by now? I would certainly hope so.
 
Yours
Kevin Kiley
 
 
 
 
 
 
In a message dated 8/27/2007 5:33:55 AM Pacific Standard Time, 
[EMAIL PROTECTED] writes:

Just wondering if there is any plans on addressing Bug #39727, incorrect
ETag on gzip:ed content (mod_deflate).

Been pretty silent for a long while now, and the current implementation
is a clear violation of RFC2616 and makes a mess of any shared cache
trying to cache responses from mod_deflate enabled Apache servers (same
problem also in mod_gzip btw..)

For details about the problem this is causing see RFC2616 section 13.6,
pay specific attention to the section talking about the use of
If-None-Match and the implications of this when a server responds with
the same ETag for the two different variants of the same resource.

There is already a couple of proposed solutions, but no concensus on
which is the bettter or if any of them is the proper way of addressing
the issue.

The problem touches
- ETag generation
- Module interface
- Conditionals processing when there is modules altering the content

Squid currently have a kind of workaround in place for the Apache
problem, but relies on being able to detect broken Apache servers by the
precense of Apache in the Server: header, which isn't fool prof by any
means.

Regards
Henrik





************************************** Get a sneak peek of the all-new AOL at 
http://discover.aol.com/memed/aolcom30tour

Reply via email to