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

Css 我如何确保我的网站上的访问者看到重新设计的页面,而不是旧的缓存页面和图形?,css,meta-tags,cache-control,browser-cache,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"> 以及站点内页

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

以前我的标题是这样的-

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

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

以及站点内页面的头文件(用户登录后)


我认为网站内的页面很可能是新的,因为缓存控件没有指定缓存等。但是我访问公共页面的访问者还会看到缓存版本吗?我是否也应该为公共页面的头文件添加相同的缓存控制标记

我做的另一件事是向新的css文件添加一个查询字符串以强制加载新的内容-

乙二醇-


关于这方面还有其他好的建议/最佳做法吗


谢谢

2019年到期是一个相当大的承诺。你是说他们不需要检查未来8年的更新

因此,是的,您至少应该从公共页面中删除这些标题,如果您想100%确定的话,还应该添加其他标题。如果不考虑它们,浏览器将猜测它们可以使用缓存版本多长时间,这主要基于最后修改的http头

但是,您应该只使用第1行和第4行。Pragma不做任何事情(只使用客户端到服务器,而不是服务器到客户端)。Double expires没有任何用处,-1是无效值

<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">
<link rel="stylesheet" href="css/styles.css?new" type="text/css" >