HTTP静态资源缓存永远策略
Posted
技术标签:
【中文标题】HTTP静态资源缓存永远策略【英文标题】:HTTP static resources caching forever stategy 【发布时间】:2014-06-09 01:53:25 【问题描述】:在Effective android HTTPJesse Wilson 中提到了以下内容:
提供图片等静态资源? 使用永久 URL 并让它永久缓存
我正在使用 Picasso 和特定的 OkHttp 实例来获取和缓存图像。我想知道如何设置let it cache forever
策略?
我只能考虑用尽可能高的值覆盖 HTTP 缓存控制标头 max-stale (Cache-Control: max-stale=
),还有其他(更好的)方法吗?
【问题讨论】:
【参考方案1】:最好的方法是将您的服务器配置为包含较长的 max-age。例如,使用此标头指定 365 天:
Cache-Control: max-age=31536000
如果你想在客户端开启无限缓存,可以使用 long max-stale:
Cache-Control: max-stale=31536000
【讨论】:
是否有理由认为这比长“过期”更好? 它是 RFC 7234(HTTP 缓存规范)的首选。 “如果响应包含带有 max-age 指令的 Cache-Control 字段(第 5.2.2.8 节),则接收者必须忽略 Expires 字段。”以上是关于HTTP静态资源缓存永远策略的主要内容,如果未能解决你的问题,请参考以下文章