8

HTTP 1.1 引入了一类新的标头,Cache-Control 响应标头,让 Web 发布者可以更好地控制其内容,并解决 Expires 的限制。

由于其局限性,Expires 是一种痛苦。首先,因为涉及到一个绝对日期,Web 服务器和客户端缓存上的时钟必须同步;如果他们对时间有不同的想法,则无法达到预期的结果,并且缓存可能会错误地将陈旧的内容视为新鲜内容。

Expires 的另一个问题是很容易忘记您已将某些内容设置为在特定时间过期。如果您没有在过期时间之前更新它,那么每个请求都会返回到您的 Web 服务器,从而增加负载和延迟。

那么,我们是否需要再使用 Expires,或者 Cache-Control(特别是 max-age 设置为某个遥远的未来秒数)是否足以满足我的静态内容?我想避免使用 Expires,但我应该同时设置吗?

4

1 回答 1

6

一般来说,两者都使用被认为是最佳实践,因为即使是 HTTP/1.0 代理和客户端也能理解 Expires(尽管它们可能很少见)。

几乎所有服务器平台都会为您动态计算 Expires 标头。

于 2010-12-30T21:17:50.400 回答