小编Yan*_*evi的帖子

IE 9+忽略ETag值更改并返回缓存响应

Etag提供的缓存验证适用于FF和chrome,但IE似乎忽略了Etag值并始终返回缓存的响应.

服务器响应是:

HTTP/1.1 200 OK
Date: Mon, 07 Jul 2014 06:01:57 GMT
Content-Type: application/json
ETag: a7628382056ddd13b7e06991571fd3ad
Content-Encoding: gzip
Content-Length: 4360
Run Code Online (Sandbox Code Playgroud)

当客户端发送条件获取请求时

If-None-Match: 71fb49ecd6f85545693dec0e78ae2131
Run Code Online (Sandbox Code Playgroud)

根本不发送请求,IE返回缓存的响应.当ETag值相同时它是透明的但是当ETag不同时它是一个问题.

对我有用的唯一解决方案是添加标题

Cache-Control: no-cache
Run Code Online (Sandbox Code Playgroud)

我监控网络并强制IE验证ETag值.
问题解决了!
但是我没有找到任何正式的解决方案.我使用帖子Make IE来缓存资源,但总是重新验证作为参考,但大多数信息与我的问题无关.

如果您有其他想法或建议,请分享

etag internet-explorer caching

11
推荐指数
1
解决办法
2770
查看次数

标签 统计

caching ×1

etag ×1

internet-explorer ×1