我看到很多网站返回的html页面在标题中没有缓存参数。没有杂注,没有缓存控制,没有电子标签,没有过期日期...没什么..。从http 1.2规范来看,这似乎意味着它可以被缓存,但我不确定。如果响应中没有缓存指令,有人知道管理缓存的确切规则吗?
发布于 2015-09-04 04:29:47
我想我找到答案了。Http1.1规范允许没有缓存指令的场景。在这种情况下,接收缓存可以使用启发式过期算法。对我来说,这就是答案。它是可缓存的。然而,我发现firefox和Chrome不会缓存它。我确实看到了一个帖子,它找到了设置为"DEFAULT_CACHE_TIME = 300“的chrome源,我相信大约是5分钟,或者可能是5毫秒。我不知道。无论如何,我只需要知道规范是否允许缓存缓存没有缓存指令的对象。
下面的引号来自:http://home.anadolu.edu.tr/~egermen/EEM534/Refreshment%20policies%20for%20Web%20content%20caches%20.pdf否则,源服务器不提供显式的新鲜度寿命,并使用启发式:新鲜度寿命被分配为DATE标头处的时间戳和最后修改的标头指定的时间之间的时间差的一小部分(例如HTTP/1.1提到10% ),受最大允许值的限制(通常为24小时,因为HTTP/1.1要求如果使用启发式过期并且对象的寿命超过24小时,则缓存必须附加警告)。
https://stackoverflow.com/questions/32384193
复制相似问题