我试图采用caching来加快网站的响应时间。 我读过的大部分文档都build议将访问时间设置为+1个月,如下所示:
ExpiresActive On ExpiresByType text/css "access plus 1 month"
我担心,如果我更新一个css文件,客户端将不会得到更新的文件。
是否有可能确保客户端下载新版本的文件,如果它被修改?
任何帮助太多appreicated
您的疑虑是正确的 – 浏览器检索到文件的客户端在访问后的1个月之内通常不会收到更新的版本,除非他们恰好已经清除了浏览器caching,或者他们在页面上重新加载。
解决这个问题的方法之一是当你更新CSS文件时,改变引用它的HTML在链接标签的href属性(即.css之后)后面有?v = 2或?v = 3等。 浏览器认为这是一个唯一的URL,因此将下载新的副本,但它将指向您的服务器上相同的物理.css文件。
<link rel="stylesheet" type="text/css" href="/styles.css" />
变
<link rel="stylesheet" type="text/css" href="/styles.css?v=2" />