在CSS结尾处的问号包括url做什么?

Bob*_*lan 13 html css caching http

我注意到在某些网站(包括SO)上,CSS的链接如下所示:

<link rel="stylesheet" href="http://sstatic.net/so/all.css?v=6638"> 
Run Code Online (Sandbox Code Playgroud)

我会说可以安全地假设它?v=6638告诉浏览器加载css文件的6638版本.但是我可以在我的网站上执行此操作吗?我可以通过更改数字来包含不同版本的CSS文件吗?

Mic*_*ren 20

all.css使用不同的查询字符串加载,例如,如果版本6637已经缓存在您的计算机上,您将获得新的查询字符串(6638).更改该号码(在本例中)不会为您提供不同的文件.

这只是一个缓存技巧,所以他们可以在没有过期的情况下发送文件(即你永远不必再要求它),因为当它确实发生变化时,"文件名"会发生变化.


也就是说,您可以根据查询字符串参数加载不同的版本.这样做有点不重要,类似于当您将不同的问题ID传递给此页面的URL时,您会得到不同的问题.

  • 尽量忽略版本号是一个查询字符串参数 - 想想整个事情 - 路径,名称,查询字符串 - 作为文件名的一部分.当它中的任何一个发生变化时,它被视为一个完全独特的"文件"或资源. (2认同)