当 PageSpeed Insights 检测到以下情形时,就会触发此规则:您的服务器响应不包含缓存标头,或者某些资源被指定为只缓存一小段时间。
概览
通过网络获取资源既速度缓慢又代价高昂:下载过程可能需要在客户端和服务器之间进行多次往返,这会导致延迟处理,并可能会阻止网页内容呈现,还会致使访问者支付数据费用。所有的服务器响应都应指定一种缓存政策,以帮助客户端确定是否以及何时能够重用之前获取的响应。
建议
每项资源都应指定一种明确的缓存政策来回答下列问题:该资源是否可被缓存、可由谁缓存、可缓存多长时间,以及(如果适用)如何在缓存政策到期后对该资源进行有效的重新验证。当服务器返回响应时,它必须提供 Cache-Control
和 ETag
标头:
Cache-Control
指定了浏览器和其他中间缓存可如何缓存单项响应以及可缓存多长时间。要了解详情,请参阅使用 Cache-Control 进行缓存。ETag
提供了一个重新验证令牌,该令牌是由浏览器自动发送的,用于检查自上次请求相应资源后该资源是否发生了变化。要了解详情,请参阅使用 ETag 验证缓存的响应。
若想确定适用于您的网站的最佳缓存政策,请参考以下指南:
对于静态素材资源或不常变化的素材资源,我们建议至少缓存 1 周,至多缓存 1 年。如果您需要精确控制资源的失效时间,我们建议使用网址指纹或版本控制技术 - 请参阅上面的“使缓存的响应失效和更新缓存的响应”链接。