所以,我正在检查一些网页源代码,我在一些CSS链接和图像的末尾注意到了这一点:
的?asset_version =
还有这个?v =
他们的角色是什么?抱歉英语
感谢
答案 0 :(得分:2)
如果您修改文件,这往往是强制浏览器获取新版本文件的可靠方法。通常,浏览器不会尊重指定的cache-control
标头,或者您可能没有选项来配置它(例如,有限的共享托管环境)。在这种情况下,您只需通过递增版本号来修改URL,这会使浏览器相信它是一个新版本,即使它可能会返回相同的文件。
就浏览器而言,resources/css/application.css?v=1
和resources/css/application.css?v=2
是不同的文件,即使css文件本身完全没有意识到并且不关心尾随的查询参数。
答案 1 :(得分:0)
它们用于cache busting
。大多数网络服务器会告诉浏览器保留各种资源,如图像,css和javascript文件,以便下次访问时用户无需下载。通过附加版本控制值,他们可以强制浏览器下载较新的版本,否则浏览器可能不会下载较新的文件,因为它仍然具有在被告知保持在同一文件的时间范围内的版本对于域名。
这个过程可能会像这样:
<link href="path/to/css/style.css">
。<link href="path/to/css/style.css?v=09252015">
。 浏览器使用完整路径来识别域中的资源。有效地更改查询字符串值会使浏览器认为它是一个不同的文件。
您还会在实际文件名中遇到人们缓存破坏。
<link href="path/to/css/style-09252015.css">