Jam*_*eld 6 internet-explorer redirect caching http-status-code-302
在发布信息后,将返回302重定向.此重定向旨在重新加载当前页面.
这一切都很好,但IE在标题中添加了No-Cache:
Cache-Control: no-cache
Run Code Online (Sandbox Code Playgroud)
我们正在使用Squid来缓存我们的内容,并将其置于标题中绕过squid.
由于这种重定向经常被使用(没有办法解决这个问题),这大大增加了我们系统的负载.
Firefox没有这个问题,它只是请求重定向页面而不更改标题,这正是我们想要的.
有什么办法可以阻止IE添加无缓存吗?
迷人。这确实是一个 IE 问题,没有直接的解决方法。问题在于,IE 会无条件地向 HTTP POST 请求添加 Cache-Control: no-cache 请求标头(如果有代理,则添加 Pragma: no-cache 请求标头)。
毫无疑问,这是十多年前在 IE 中引入的,目的是为了适应有缺陷的代理服务器,这些代理服务器无法正确处理 HTTP POST 请求,并且会错误地返回缓存的响应。
IE 的一个怪癖是,当您重定向时,无缓存标头会重新添加到重定向的请求中。因此,在您的情况下,您的重定向请求还会发送从 POST 请求携带的“no-cache”请求标头。
不幸的是,没有直接的解决方法。您可以将 IE 用户重定向到插页式页面,该页面使用 JavaScript 将他们重定向回原始页面。(但是不要使用 META REFRESH,因为它总是发送无缓存请求)。
| 归档时间: |
|
| 查看次数: |
8671 次 |
| 最近记录: |