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静态资源缓存永远策略的主要内容,如果未能解决你的问题,请参考以下文章

nginx静态资源缓存策略配置

Nginx配置静态资源

HTTP 缓存策略

nginx配置管理浏览器静态缓存策略

浏览器缓存策略

nginx静态资源缓存