我见过很多,我只是不知道这意味着什么。例如:
<script src="http://server.com/file.js?y=2345678" type="text/javascript"></script>
如果确实有可能在 javascript 文件中“捕获”“y”的值,那会怎样?
谢谢你。
PS。我知道 mod_rewrite 是什么,这不是答案,以防万一:)
我见过很多,我只是不知道这意味着什么。例如:
<script src="http://server.com/file.js?y=2345678" type="text/javascript"></script>
如果确实有可能在 javascript 文件中“捕获”“y”的值,那会怎样?
谢谢你。
PS。我知道 mod_rewrite 是什么,这不是答案,以防万一:)
这是为了强制浏览器不缓存文件,让它相信它是一个带有 get 参数的动态文件,而不是一个静态文件。
这通常用于促进 JS 文件的缓存。您设置了一个遥远的Expires
标题,这意味着浏览器可能会缓存它很长时间。如果您更改文件中的某些内容,您还会更新查询字符串中的数字,这将使浏览器重新获取文件。这是有效的,因为缓存用于唯一的文件名,而查询字符串是文件名的一部分(就浏览器而言)。
与此类似的方法是在 Web 服务器中使用重写规则来获取它不关心的文件名的某些部分。这是一个 Nginx 规则来说明我的意思:
rewrite ^/style\..*\.css$ /style.css;
我使用这个规则来获得像 一样的文件名style.42750cad6.css
,它总是指向文件style.css
。每当我更改时,中间的文本都会更改style.css
。第一种方法的区别在于它不使用查询字符串,因此缓存将在更多浏览器中工作。
好的,我以两种方式看待它。