关于处理过期标头、etag 和内容更新的想法?
我已经在我的网站上实现了独立于服务器的 eTags,现在我正在考虑添加过期标头以防止大多数 304 请求。
我担心使用长过期标头,因为如果您需要更新内容,则很难强制刷新。而且我也不喜欢用版本控制查询字符串来扰乱我的代码,例如:
<link rel="stylesheet" type="text/css" href="/style.css?version=X" />
因此,我正在考虑将几乎所有内容的过期标头设置为 10 分钟之类的短值。这样,我可能只有 10 分钟的陈旧内容窗口,但对于正常的浏览会话,我将停止大部分 304。即使他们确实停留更长时间,我也只会每 10 分钟提供一次 304,除非内容发生变化。
它看起来很优雅,但我已经看到很多网站使用上述版本控制查询字符串方法,甚至谷歌的 mod_pagespeed 也有一个选项可以或多或少地自动进行版本控制,所以我只是好奇这是否是一个可靠的方法,或者如果我错过了一些使它不切实际的东西。
谢谢
I've implemented server independent eTags on my site and I'm now looking at adding expires headers to prevent most of the 304 requests.
I'm concerned about using long expiration headers since it makes it tough to force a refresh if you need to update content. And I'm also not a big fan of cluttering my code with versioning query strings like:
<link rel="stylesheet" type="text/css" href="/style.css?version=X" />
So I'm thinking about setting the expiration header to something short like 10 minutes for almost everything. This way, I only have a possible 10 minute window of stale content, yet for a normal browsing session, I'm going to stop most of the 304s. And even if they do stay longer, I'll just be serving one 304 every 10 minutes unless the content changes.
It seems pretty elegant, yet I've seen a lot of sites using the above versioning querystring method, and even google's mod_pagespeed has an option to more or less do versioning automatically, so I'm just curious if this is a solid appropach or if I've missing something that makes it impractical.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为什么?没有人看到它,您可以轻松地实现自动化 - 让您的 CMS 或框架自动将文件的修改时间或 md5 哈希值附加到链接标记。
Why? No one sees it, and you can easily automate it - have your CMS or framework automatically append the file's modification time or md5 hash to the link tag.