【问题标题】:HTML files not cached when requested on localhost在 localhost 上请求时未缓存 HTML 文件
【发布时间】:2017-02-17 06:38:17
【问题描述】:

最近我们对我们的一个应用程序进行了更改,我们注意到我们的客户没有获得新的视图。所以我们决定对文件进行版本控制,这样每次我们有新版本时,我们就可以强制客户端的浏览器获取新视图。

到目前为止一切顺利,但我们需要在部署此更改(版本控制)之前在本地环境中对此进行测试。不幸的是,在 localhost 上,视图永远不会被缓存。我注意到视图请求是使用 Cache-Control:max-age=0 发送的。如果我没记错的话,这会导致资源不被缓存。

我还读到这可能是由 ETag 标头引起的,因此我将其删除,但视图仍未缓存。另外,我在响应中设置了 Cache-Control:max-age=86400,public 标头。所以剩下的唯一原因是请求中的 Cache-Control:max-age=0 标头。所以我试图改变标题。我将请求中的缓存控制标头设置为 Cache-Control:max-age=86400,public,但仍然没有运气。

视图由 AngularJS 请求,它们是指令中的模板。我们在本地使用的 IIS 版本和在服务器上使用的 IIS 版本也存在差异。在本地,我们使用的是 7.5,而在服务器上,它是 8.0。这可能是问题吗?

谁能指引我正确的方向?

编辑:

chrome 开发工具中的 Disable Cache 选项被禁用。

【问题讨论】:

    标签: angularjs caching browser-cache


    【解决方案1】:

    我能想到的一件事是你在浏览器中启用了禁用缓存,如果它只是你的本地系统:

    通常,绕过浏览器缓存非常棘手,因此大多数人在使用标头禁用浏览器缓存时遇到了麻烦。不幸的是,Cache-Control:max-age 并不是跨浏览器统一实现的。如果上述问题仍然存在,您能否提供 Chrome 开发者工具中网络标签的屏幕截图?

    【讨论】:

    • 感谢您的建议!我实际上首先禁用了这个选项。 :) Screenshot
    猜你喜欢
    • 2014-06-09
    • 1970-01-01
    • 2012-04-05
    • 2021-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多