Why would Chrome and IE never send If-None-Match while other browsers do?

Viewed 1797

I'm currently sending the following headers:

Cache-Control: max-age=0
Content-Encoding: gzip
Content-Length: 2929
Content-Type: text/html; charset=utf-8
Date: Thu, 19 Jul 2012 15:29:18 GMT
ETag: "3e34180212ee59fee7e8e4cc512552e5"

Then on subsequent requests I want all browsers to send a If-None-Match header with the contents of ETag so that I can respond with 304 if necessary. Firefox, Safari, and Opera will all send back the ETag but Chrome and Internet Explorer will not. Is there some header combination or missing value that is causing Chrome and IE to ignore the ETag?

If I set Last-Modified then they will all send If-Modified-Since but I need to be using ETags.

1 Answers

According to this SO Q&A - Browser support for eTags - Chrome should respect the ETag.

However as the author says: "However, there are some other headers which will stop these browsers from respecting the etag... so if it's not working for you, I'd carefully examine the other headers being sent back to the client when they request a resource."

Is it possible that the "Date" header is causing a problem/conflict with the ETag?

Related