附加到prototype.js的数字在ROR生成的html中意味着什么

时间:2011-08-12 16:51:37

标签: javascript ruby-on-rails

当我在生成的HTML中查看javascript链接时,它会读取prototype.js?1304329463。我很好奇“?1304329463”的意思,电话或表示。

3 个答案:

答案 0 :(得分:6)

这是一个简单的缓存控制机制

如果你安装了新版本的Prototype,那么这个数字就会改变,浏览器肯定会下载新版本。

(理论上,HTTP标头可用于控制缓存,但在现实世界中,有许多不同的浏览器,缓存,代理等,它们都以微妙的不同方式运行。更简单地更改URL的URL更容易资源发生变化时的资源,从而保证将使用新版本的资源。)

答案 1 :(得分:1)

附加到静态文件的额外查询字符串是Rails缓存静态文件的一部分,这些文件不会经常更改。附加的哈希是一种指纹。如果该文件中的某些内容发生更改,则该哈希值会更改。

查看this以获取更多信息。

答案 2 :(得分:1)

它看起来像一个unix时间戳(代表星期一,2011年5月2日09:44:23 GMT)。这可以是请求时间或文件创建时间。添加时间戳的原因是能够轻松强制浏览器再次获取文件。如果数字序列发生变化,则认为它是一个不同的请求,浏览器只会重新获取该文件。这可以防止文件更改时的缓存问题。