HTTP 1.1引入了一类新的标头,Cache-Control响应标头,使Web发布者可以更好地控制其内容,并解决Expires的限制。
由于其局限性,过期是一种痛苦。首先,因为涉及绝对日期,所以必须同步Web服务器上的时钟和客户端的缓存;如果他们对时间有不同的看法,那么预期的结果将无法实现,而缓存可能会错误地将过时的内容视为新鲜的。
Expires的另一个问题是,很容易忘记您已将某些内容设置为在特定时间到期。如果在通过之前没有更新过期时间,则每个请求都将返回到您的Web服务器,从而增加了负载和延迟。
那么,我们是否需要再使用Expires,或者我的静态内容是否足以使用Cache-Control(具体来说,max-age设置为某个远期的秒数)?我想避免使用Expires,但是我应该同时设置它们吗?
答案 0 :(得分:6)
一般来说,将它们视为最佳实践,因为即使HTTP / 1.0代理和客户端也会理解Expires(尽管它们可能很少见)。
几乎所有服务器平台都会为您动态计算Expires标头。