HTTP 1.1引入了新的 header 类,即Cache-Control响应 header ,以使Web发布者可以更好地控制其内容并解决Expires的局限性。
由于其局限性,到期有点痛苦。首先,由于涉及绝对日期,因此必须同步Web服务器和客户端缓存上的时钟;如果他们对时间有不同的想法,则无法实现预期的结果,并且缓存可能会错误地认为陈旧的内容是新鲜的。
Expires的另一个问题是,您很容易忘记已将某些内容设置为在特定时间过期。如果您没有在过期前更新过期时间,则每个请求都将返回到您的Web服务器,从而增加了负载和延迟。
那么,我们是否需要再使用Expires,还是对于我的静态内容而言,Cache-Control(具体而言,将max-age设置为将来的秒数)足够了吗?我想避免使用Expires,但是我应该同时设置两者吗?
最佳答案
一般而言,将两者同时使用是最佳做法,因为即使HTTP/1.0代理和客户端(尽管可能很少)也可以理解Expires。
几乎所有服务器平台都会为您动态计算Expires header 。
关于HTTP header : Is Cache-Control enough,还是仍然需要Expires?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4566275/