如何确保我网站上的访问者看到重新设计的页面而不是旧的缓存页面和图形?

时间:2011-09-02 15:27:07

标签: css meta-tags cache-control browser-cache

我最近重新设计了我的网站,新的CSS,按钮的新图形等。当现有用户返回我的网站时,我想确保他们获得新的页面和样式表,浏览器不要尝试加载旧的样式表等。

以前我的标题看起来像这样 -

我有一个公共页面的头文件 -

<meta http-equiv="expires" content="Tue, 16 Feb 2019 09:00:00 GMT">
<meta http-equiv="cache-control" content="max-age=315360000">

网站内页面的头文件(用户登录后)

<meta http-equiv="expires" content="Mon, 04 Dec 1999 21:29:02 GMT">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="expires" content="-1">
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">

我认为,由于缓存控件没有指定缓存等,网站内的页面很可能会被提供新的内容。但是我的访问公共页面的访问者是否仍会看到缓存版本?我是否应该将相同的缓存控制标记添加到公共页面的头文件中?

我做的另一件事是将查询字符串添加到新的css文件以强制新加载 -

例如 -

<link rel="stylesheet" href="css/styles.css?new" type="text/css" >

对此有任何其他好的建议/最佳做法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

到期2019年是一个很大的承诺。您说他们无需检查未来8年的更新。

所以是的,您至少应该从公共页面中删除这些标题,如果您想100%确定,请添加其他标题。如果你把它们排除在外,浏览器会猜测它们可以使用缓存版本多长时间,主要基于最后修改过的http-header。

但是,您应该只使用第1行和第4行.Pragma不执行任何操作(仅使用客户端到服务器而不是服务器到客户端)。双过期没有任何用处,-1是无效值。