【问题标题】:Internet Explorer won't cache static filesInternet Explorer 不会缓存静态文件
【发布时间】:2019-02-21 13:42:51
【问题描述】:

得到这个响应头(请求一些静态文件,即一些 *.css):

HTTP/1.1 200 OK
Content-Type: text/css
Keep-Alive: timeout=5, max=99
Set-Cookie: merp_session=eec953c0214e1; path=/; expires=Thu, 21-Feb-2019 15:34:06 GMT; HttpOnly
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE, PUT
Content-Encoding: gzip
Access-Control-Max-Age: 1000
Access-Control-Allow-Headers: x-requested-with, Content-Type, origin, authorization, accept, client-security-token, X-Merp-Session-Id, Access-Control-Allow-Headers, Access-Control-Expose-Headers, Access-Control-Allow-Origin
Expires: Fri, 22 Feb 2019 13:34:06 GMT
Cache-Control: max-age=86400, private
Date: Thu, 21 Feb 2019 13:34:06 GMT
Transfer-Encoding: Identity
Access-Control-Allow-Credentials: true
Connection: Keep-Alive
Vary: Accept-Encoding
Last-Modified: Wed, 06 Feb 2019 11:05:35 GMT
Server: Apache/2.4.29 (Ubuntu)
X-Catalyst: 5.90115

任何其他浏览器都从本地缓存中获取静态文件,但 IE 总是再次从我的服务器请求所有文件。

我应该设置什么样的响应头来强制 IE 本地缓存?

【问题讨论】:

    标签: apache internet-explorer caching http-headers


    【解决方案1】:

    尝试打开 F12 开发者工具 Network 标签,查看是否开启了the "Always refresh from server" option。

    此选项是一个具有开启和关闭状态的切换开关。启用时,Internet Explorer 11 从远程服务器下载所有页面元素,而不是从浏览器缓存中。

    编辑:

    此外,您还可以查看"Check for Newer Versions of Stored Pages" setting。

    【讨论】:

    • 对不起,问题不在于我的IE,而在于我服务的用户。我不能告诉所有人切换此切换 =) 所以我正在寻找服务器端解决方案。
    • 如果问题与服务器端有关,那么其他浏览器(如 chrome 和 Firefox)也会遇到同样的问题。所以,我认为问题与IE浏览器有关,您可以尝试在另一台计算机IE浏览器上测试该站点或重置IE浏览器以验证它。这里有一篇关于Understanding Conditional Requests and Refresh的文章,你可以看看。
    猜你喜欢
    • 1970-01-01
    • 2016-04-18
    • 1970-01-01
    • 1970-01-01
    • 2012-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多