【发布时间】: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