Mic*_*l M 27
避免缓存CSS.
如果网站更新了他们的CSS,他们会将ver更新为更高的数字,因此浏览器被迫获取新文件而不使用缓存的先前版本.
否则,浏览器可能会获得新的HTML代码和旧的CSS,并且网站的某些元素可能看起来很糟糕.
添加'?ver = 1'会使HTTP请求看起来像带参数的GET查询,并且行为良好的浏览器(和代理)将拒绝缓存参数化查询.当然,表现良好的浏览器(和代理)也应该关注'Cache-control:no-cache','Expires','Last-Modified'和'ETag'响应头(所有这些都被添加到HTTP中)指定正确的缓存行为).
当站点开发人员不知道如何(或者过于懒惰)实现正确的响应头时,'?ver = 1'方法是一种强制行为的昂贵方法.特别是,这意味着每个页面请求都会强制请求CSS文件,即使实际上CSS文件很少变化,如果有的话.
我的推荐? 不要这样做.
小智 5
如果您正在使用 HTML 和 CSS 或任何其他技术开发 Web 应用程序,并且您正在使用一些外部 CSS 或 JS 文件,您可能会注意到一件事,在某些情况下,如果您对现有 .css 或 .js 文件进行了任何更改那么浏览器不会立即反映更改。
在这种情况下,浏览器不会下载最新版本的 .css 和 .js 文件的新副本,而是使用存储在本地缓存中的这些文件。因此,您看不到最近所做的更改。
<link rel="stylesheet" href="style.css?v=1.1">
Run Code Online (Sandbox Code Playgroud)
在上述情况下,当您加载网页时,浏览器会将“style.css”与“?v=1.1”一起视为不同的文件。因此,浏览器被迫下载样式表或脚本文件的新副本。