为什么Chrome和IE从不发送If-None-Match而其他浏览器呢?

Kyl*_*ane 7 internet-explorer caching google-chrome

我目前正在发送以下标题:

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"
Run Code Online (Sandbox Code Playgroud)

然后在后续请求中,我希望所有浏览器都发送If-None-Match带有内容的标头,ETag以便我可以在必要时以304响应.Firefox,Safari和Opera都会发回ETag,但Chrome和Internet Explorer都不会.是否有一些标题组合或缺失值导致Chrome和IE忽略ETag?

如果我设置Last-Modified然后他们都将发送If-Modified-Since但我需要使用ETags.

Sum*_*man 0

根据此 SO Q&A - Browser support for eTags - Chrome 应该尊重 ETag。

然而,正如作者所说:“但是,还有一些其他标头会阻止这些浏览器尊重 etag...所以如果它不适合您,我会仔细检查其他标头在它们发送回客户端时请求资源。”

“Date”标头是否可能导致 ETag 出现问题/冲突?