我们想在生产部署时缓存 bust,但不想浪费大量时间来找出一个这样做的系统。我的想法是将参数应用到具有当前版本号的 css 和 js 文件的末尾:
<link rel="stylesheet" href="base_url.com/file.css?v=1.123"/>
两个问题:这会有效地破坏缓存吗?参数是否会导致浏览器永远不会缓存来自该 url 的响应,因为参数表明这是动态内容?
最佳答案
参数 ?v=1.123
表示一个查询字符串,因此浏览器会认为它是一个新的路径,比方说,?v=1.0
。从而导致它从文件加载,而不是从缓存加载。如你所愿。
并且,浏览器会假定源将在您下次调用 ?v=1.123
时保持不变,并且应该将其与该字符串一起缓存。因此,无论您的服务器如何设置,它都将保持缓存状态,直到您移动到 ?v=1.124
等。
关于javascript - 通过参数清除缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9692665/