WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
UNCONFIRMED
52821
Etag = "" (empty string) forces Chrome and Safari to ignore Cache-Control and never use cache
https://bugs.webkit.org/show_bug.cgi?id=52821
Summary
Etag = "" (empty string) forces Chrome and Safari to ignore Cache-Control and...
stevethimmesch
Reported
2011-01-20 10:17:30 PST
We use IIS6 and set the Etag = "" to (attempt to) disable etags and stricly use Cache-Control (max age). This works fine in IE, Opera and FireFox. Unfortunately, in Chrome and Safari it never caches the file and always requests it again from the server.
Attachments
Fiddler Log with etag = ""
(139.54 KB, application/x-zip-compressed)
2011-01-21 13:36 PST
,
stevethimmesch
no flags
Details
Fiddler Log with iis6 generated etag
(13.95 KB, application/x-zip-compressed)
2011-01-21 13:37 PST
,
stevethimmesch
no flags
Details
View All
Add attachment
proposed patch, testcase, etc.
Alexey Proskuryakov
Comment 1
2011-01-20 14:05:58 PST
Darin, does chromium network back-end support ETags, or is this purely a WebCore memory cache issue?
Darin Fisher (:fishd, Google)
Comment 2
2011-01-20 14:25:52 PST
The Chromium network stack supports ETags. It would be very helpful to see the actual HTTP response headers sent by this server. Is there an URL to this site that we can load to reproduce the problem, or can you attach a copy of the response headers captured using WireShark or some other tool? (In Chrome, you can use about:net-internals to view response headers and other network related info.)
stevethimmesch
Comment 3
2011-01-21 13:36:35 PST
Created
attachment 79781
[details]
Fiddler Log with etag = ""
stevethimmesch
Comment 4
2011-01-21 13:37:22 PST
Created
attachment 79782
[details]
Fiddler Log with iis6 generated etag
stevethimmesch
Comment 5
2011-01-21 13:50:15 PST
I attached some fiddler logs generated from chrome. When the etag is "" it never uses the cache. When it has a generated etag it will use the cache correctly. What we were trying to do was disable IIS6 from generating etags by setting the etag to "". It seems when other browsers get an empty etag they ignore the etag and use the max-age. Honestly, I'm not sure what browser is actually behaving 'correctly' :).
rvargas
Comment 6
2011-01-24 17:03:31 PST
I don't see any problem here. This is part of the request that results in a 304: Host: qa40.fnismls.com Connection: keep-alive Cache-Control: max-age=0 If-Modified-Since: Fri, 21 Jan 2011 19:57:42 GMT Accept: text/css,*/*;q=0.1 If-None-Match: "ae34d476a5b9cb1:0" And this is part of the request that results in a 200: Host: qa30.fnismls.com Connection: keep-alive Cache-Control: max-age=0 If-Modified-Since: Tue, 04 Jan 2011 20:43:39 GMT Accept: text/css,*/*;q=0.1 If-None-Match: "" So in both cases we have a cached resource and we are validating it with the server. However, the server doesn't like the second request. Maybe I'm wrong, but as far as I can tell, ETag: "" is a perfectly valid ETag. Maybe using a constant (not empty) string does that you want?
Alexey Proskuryakov
Comment 7
2011-07-14 13:09:59 PDT
I'm testing this with Safari 5.0.5 on Windows 7 now. The bug report says "PC/Mac OS X 10.5". Are you seeing this only on Windows, or also on Mac? The attached Fiddler log is from Windows. I can reproduce this, but I only see that after restarting Safari. If I make a new tab and open the same page in it, resources with empty ETag are loaded from cache just fine. Could you please confirm that this is what you are seeing?
Alexey Proskuryakov
Comment 8
2011-07-14 13:19:03 PDT
I forgot to mention that I cannot reproduce this on Mac OS X 10.6.8 with Safari 5.0.5 - I can only reproduce on Windows.
stevethimmesch
Comment 9
2011-07-14 13:37:00 PDT
(In reply to
comment #8
)
> I forgot to mention that I cannot reproduce this on Mac OS X 10.6.8 with Safari 5.0.5 - I can only reproduce on Windows.
Thanks for following up. I have never attempted a tested on the MAC OS X platform. We have since worked around the problem by avoiding the etag = "" setting.
Alexey Proskuryakov
Comment 10
2011-07-14 15:01:48 PDT
> I can reproduce this
I take that back. I had an incorrect mix of WebKit and Safari versions - and when I made a clean install, this stopped happening.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug