对于 10 年后过期的缓存控制,使用 doc.css?v=128 与 doc_v128.css 完全相同吗?
当使用 Cache-Control
和 Expires
标头以使页面在 10 年内不会过期时:
Cache-Control: max-age=315360000
Expires: Sun, 19 Jul 2020 18:06:32 GMT
使用第 1 行的结果与第 2 行的结果相同吗?
<link href="/public/doc.css?v=128" ... >
<link href="/public/doc_v128.css" ... >
我在想也许某些浏览器会将 ?v=128
作为更动态的内容并在 10 年到期之前重新加载它?
否则,这两个文件都会在 10 年后过期,当 CSS 发生更改时,128
可以更新为 129,并且它肯定会加载并具有全新的 10 年过期日期?
(同样适用于 javascript .js
文件)
When using Cache-Control
and Expires
header so that a page won't expire in 10 years:
Cache-Control: max-age=315360000
Expires: Sun, 19 Jul 2020 18:06:32 GMT
will using line 1 have identical result as line 2?
<link href="/public/doc.css?v=128" ... >
<link href="/public/doc_v128.css" ... >
I was thinking maybe some browser will take the ?v=128
as a somewhat more dynamic content and reload it before the 10 year expiration?
Otherwise, both files will expire in 10 years and when there is changes to the CSS, the 128
can be updated to 129 and it will be loaded for sure and have a brand new 10 year expiration date?
(the same goes for javascript .js
files)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在查询字符串中使用变化的值可能会对您不利。根据 Google 的 Page Speed 优化缓存性能最佳实践:
另外,你可能需要重新考虑 10 年。根据标头字段定义> RFC 2616 的过期部分,最长一年。
Using a changing value in the querystring may work against you. According to Google's Page Speed Optimize caching Performance Best Practice:
Also, you may want to reconsider 10 years. According to the Header Field Definitions > Expires section of RFC 2616, one year is the max.