首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Internet缓存

Internet缓存
EN

Stack Overflow用户
提问于 2009-10-21 07:59:06
回答 1查看 78关注 0票数 0

对于Internet缓存,更新启发是保持文档的时间与对象的已知生存期成正比。如果我们遵循一个典型的60%规则,并且收到如下答复:

HTTP/1.0 200 OK

日期:2009年6月23日,星期二09: 23 :24

服务器: Apache/1.3.0 (Unix)

最后修改: Mon,2009年6月8日09:23:24内容-Type: text/html

直到什么时候我们应该缓存这个对象?

EN

回答 1

Stack Overflow用户

发布于 2009-10-21 08:08:53

从技术上讲,您可以永远缓存它,它没有固定的过期。当用户代理想要显示缓存的内容时,它应该做的是发出另一个带有如果-修改-自头的请求,这允许服务器返回一个漂亮的、短的304未修改响应。

另一种看待你的问题的方法是:“我不想每次都重新请求它,什么是触发这些重新请求的好的启发?”一个建议是基于斐波纳契序列的频率,因此最近更新的文档重新请求,但随着它们的老化,重新请求的频率降低。

HTTP/1.1规范留下了这个空缺,第3.2.2节“启发式计算”有这样的说法

由于源服务器并不总是提供显式过期时间,HTTP缓存通常会分配启发式过期时间,使用使用其他标头值(例如最后修改的时间)的算法来估计合理的过期时间。HTTP/1.1规范没有提供特定的算法,但对其结果施加了最坏的限制。由于启发式过期时间可能会影响语义透明性,因此应该谨慎使用,我们鼓励源服务器尽可能提供显式过期时间。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1599354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档