HTTP 1.1 引入了一类新的标头,Cache-Control 响应标头,让 Web 发布者可以更好地控制其内容,并解决 Expires 的限制。
由于其局限性,Expires 是一种痛苦。首先,因为涉及到一个绝对日期,Web 服务器和客户端缓存上的时钟必须同步;如果他们对时间有不同的想法,则无法达到预期的结果,并且缓存可能会错误地将陈旧的内容视为新鲜内容。
Expires 的另一个问题是很容易忘记您已将某些内容设置为在特定时间过期。如果您没有在过期时间之前更新它,那么每个请求都会返回到您的 Web 服务器,从而增加负载和延迟。
那么,我们是否需要再使用 Expires,或者 Cache-Control(特别是 max-age 设置为某个遥远的未来秒数)是否足以满足我的静态内容?我想避免使用 Expires,但我应该同时设置吗?