我们正在运行一个 Java/Spring MVC 应用程序,其中 Tomcat 6 作为 servlet 容器,Apache 2.2 作为 Web 服务器。
我们最近部署了一个新品牌,彻底改变了网站的外观。
我们将 ?v=1 参数附加到 head 部分的资源,但我们仍然遇到一些旧缓存资源导致问题的问题。
我们是否可以在 tomcat 或 apache 中设置一些东西来确保提取新副本,或者我们是否需要使用修订号来强制客户端获取新版本的资源?
最佳答案
您可以尝试使用元标记,如下所示:
<meta http-equiv="Expires" content="Mon, 26 Jul 1997 05:00:00 GMT" />
<meta http-equiv="Cache-Control" content="no-store, no-cache, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
但是,我意识到 IE9 似乎忽略了我的一个 Web 项目中的这些元标记。因此,我没有使用元标记,而是在 url 中附加了一些随机数,例如 ?v=1235324324
...您可以使用 Math.random()
或Date.getTime()
,基本上是独一无二的。您希望确保 v
的值每次都不同,而不是一直使用值 1
。
关于java - 确保用户浏览器检索到 css、js 和图像的全新副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14282162/