【发布时间】:2018-10-20 22:37:53
【问题描述】:
我对此进行了很多搜索,但找不到任何真正有效的解决方案:我们正在使用大量 javascript/css 文件构建一个 Web 应用程序,这些文件随时都可以修改。问题是我们需要客户端的浏览器始终获取脚本的最新版本。
我们尝试添加 GET 查询 (?v=CurrentDate),但浏览器会一直加载旧脚本,直到您点击几次刷新或按 CTRL+F5。
我们要避免的一件事是将这些文件存储在不同的文件夹中,例如 /scripts/v1.0/,然后是 /scripts/v2.0/...
我们正在使用 ASP.NET MVC 5、Bootstrap 和 JQuery。一件重要的事情:我们只想避免一些脚本/css 缓存,而不是全部。
非常感谢您的帮助! 谢谢!
【问题讨论】:
-
您是否尝试过使用缓存控制标头 - developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control
-
据我了解,缓存控制标头适用于所有资源,对吧?或者您可以指定要避免缓存哪些资源?
-
在加载页面时,浏览器会发出多个请求,包括对 html 中包含的 css 和 js 文件的请求。因此,您可以为这些资源返回不同的标头。我不知道你使用的是哪个网络服务器,apache 肯定会让你这样做
-
但您可以指定不想每次都重新加载哪些资源?我的意思是,我只想重新加载被修改的“app”资源,而不是所有资源。
-
是的,你可以。这是 htaccess 的一个有用要点,正如您所见,fileMatch 允许您过滤要应用的标头的资源
标签: javascript html css caching