gpt4 book ai didi

internet-explorer - IE缓存问题

转载 作者:可可西里 更新时间:2023-11-01 16:08:32 24 4
gpt4 key购买 nike

在 IE 中(至少 8 个,可能还有其他的):

我提出一个要求:

GET http://www.mydomain.com/ HTTP/1.1

服务器响应:

HTTP/1.1 200 OK
Cache-Control: private, must-revalidate
Last-Modified: Fri, 25 Mar 2011 10:52:34 GMT
Date: Fri, 25 Mar 2011 10:54:15 GMT

我提出另一个要求:

GET http://www.mydomain.com/ HTTP/1.1
If-Modified-Since: Fri, 25 Mar 2011 10:52:34 GMT

服务器响应:

HTTP/1.1 304 Not Modified
Cache-Control: private, must-revalidate
Last-Modified: Fri, 25 Mar 2011 10:52:34 GMT

然后我转到某个页面,说:

http://www.mydomain.com/somepage

上面有一个链接:

<a href="http://www.mydomain.com/">click me</a>

当我单击它时,IE 会显示之前缓存的对此锚定 URI 的响应,甚至没有发出请求。

为什么它不遵守must-revalidate?这正如我在 FireFox 和 Webkit 中所期望的那样有效

如何让它服从它?

谢谢

最佳答案

问题很可能是您没有在响应中设置 max-ageExpires

Cache-Control: must-revalidate告诉客户,一旦这个资源过期,他们必须根据来源重新验证它:

the cache MUST do an end-to-end revalidation every time, if, based solely on the origin server's Expires or max-age value, the cached response is stale


由于您没有声明页面何时过时,IE8 依赖于 heuristics做出有根据的猜测。如果您希望 IE 每次都 重新验证页面,您需要添加适当的 header 以缩短到期时间:

Cache-Control: private, must-revalidate, max-age=1
Expires: [immediately, or even a date in the past]

关于internet-explorer - IE缓存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5431587/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com