我一直在研究标准 - 但并不完全确定以下内容:
如果我们有一个变体(资源、图像、页面等),其缓存设置为 max-age=259200(3 天),并且服务器也在处理 ETag 和上次修改日期 - 那么当 max-age 时会发生什么?已达到年龄 - 但资源尚未修改?
我希望发生的是 3 天后 - 客户端将再次请求资源 - 如果资源没有更改,将收到 304 Not Modified 响应。如果缓存控制响应(在 304 响应期间)还仍然包含 max-age=259200 - 那么我希望客户端将继续使用其本地缓存副本,并且在另外 3 天内不再请求。
我担心会发生的是,一旦达到 max-age - 客户端将不再缓存资源 - 每次加载资源时都会发出新的请求 - 如果资源尚未被加载,则随后会出现 304 Not Modified 响应修改的。也就是说,我们现在每次使用都会收到 http 请求,而不是再使用本地缓存 3 天。
想法?
它将再缓存 3 天。RFC 2616 10.3.5:
如果缓存使用收到的 304 响应来更新缓存条目,则缓存必须更新条目以反映响应中给出的任何新字段值.
有关年龄计算的详细信息.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)