我注意到有些网站(尤其是版本号)放在CSS文件路径中。例如:
<link rel="stylesheet" type="text/css" href="style.css?v=12345678" />
放入版本号的主要目的是什么?如果目的是记住上一次更新CSS文件的时间,那么是否不应该将版本号添加为CSS文件中的注释?
从HTML5样板文件]:
什么是?v = 1“’?v = 1’是具有Cachebusting功能的JavaScript / CSS版本控制 为什么需要缓存JavaScript CSS?网页设计越来越丰富,这意味着页面中会有更多的脚本和样式表。首次访问页面的访问者可能必须发出多个HTTP请求,但是通过使用Expires标头,您可以使这些组件可缓存。这避免了后续页面视图上不必要的HTTP请求。Expires标头最常与图像一起使用,但应在所有组件(包括脚本,样式表等)上使用它们。 HTML5 Boilerplate如何处理JavaScript CSS缓存?HTML5 Boilerplate随附服务器配置文件:.htacess,web.config和nginx.conf。这些文件告诉服务器添加JavaScript CSS缓存控件。 您何时需要将版本控制与cachebusting一起使用?传统上,如果使用远期的Expires标头,则每当组件更改时,都必须更改组件的文件名。 如何使用cachebusting?如果您更新JavaScript或CSS,只需将“?v = 1”更新为“?v = 2”,“?v = 3” …这将使浏览器以为您正在尝试加载新文件,因此,解决缓存问题。
什么是?v = 1“’?v = 1’是具有Cachebusting功能的JavaScript / CSS版本控制
为什么需要缓存JavaScript CSS?网页设计越来越丰富,这意味着页面中会有更多的脚本和样式表。首次访问页面的访问者可能必须发出多个HTTP请求,但是通过使用Expires标头,您可以使这些组件可缓存。这避免了后续页面视图上不必要的HTTP请求。Expires标头最常与图像一起使用,但应在所有组件(包括脚本,样式表等)上使用它们。
HTML5 Boilerplate如何处理JavaScript CSS缓存?HTML5 Boilerplate随附服务器配置文件:.htacess,web.config和nginx.conf。这些文件告诉服务器添加JavaScript CSS缓存控件。
您何时需要将版本控制与cachebusting一起使用?传统上,如果使用远期的Expires标头,则每当组件更改时,都必须更改组件的文件名。
如何使用cachebusting?如果您更新JavaScript或CSS,只需将“?v = 1”更新为“?v = 2”,“?v = 3” …这将使浏览器以为您正在尝试加载新文件,因此,解决缓存问题。