"asset_version" 在 html 中的作用是什么

What is "asset_version" role in html

所以,我正在检查一些网页源代码,我在一些 CSS 链接和图像的末尾注意到了这一点:
?asset_version=
还有这个 ?v=
他们的作用是什么??对不起英语。
谢谢

这往往是强制浏览器在您修改文件时获取新版本文件的可靠方法。通常,浏览器不会遵守指定的 cache-control header,或者您可能没有配置该选项的选项(例如,有限的共享主机环境)。在这种情况下,您只需通过增加版本号来修改 URL,这会使浏览器相信它是一个新版本,即使它可能 return 相同的文件。

就浏览器而言,resources/css/application.css?v=1resources/css/application.css?v=2 是不同的文件,即使 css 文件本身完全不知道也不关心尾随查询参数。

它们用于 cache busting。大多数网络服务器会告诉浏览器保留各种资源,如图像、css 和 javascript 文件,以便用户下次访问时不必下载它们。通过附加一个版本控制值,他们可以强制浏览器下载更新的版本,否则浏览器可能不会下载更新的文件,因为它仍然有一个版本在它被告知为域保留相同文件的时间范围内。

这个过程可能会有点像这样:

  1. 保留我的 CSS 文件 180 天,<link href="path/to/css/style.css">
  2. 30 天后我更新了 CSS 文件。浏览器将希望使用您已经提供的那个,因为它还有 150 天的有效期。但是您希望它使用较新的版本,因此您使用了缓存破坏技术。所以你可能会这样做 <link href="path/to/css/style.css?v=09252015">

浏览器使用完整路径来识别来自域的资源。有效地更改查询字符串值会使浏览器认为它是一个不同的文件。

您还会在实际文件名中遇到人们缓存破坏。

<link href="path/to/css/style-09252015.css">