Expires和Cache-control有什么区别:max-age?

时间:2011-05-10 07:53:28

标签: http-headers cache-control

你能告诉我Expires和Cache-control的区别:max-age?

2 个答案:

答案 0 :(得分:15)

ExpiresHTTP/1.0规范中定义,Cache-ControlHTTP/1.1规范中定义。

我建议定义两者,以便您同时满足那些只了解HTTP/1.0的旧客户以及更新的客户。

答案 1 :(得分:5)

与Cache-Control相比,在HTTP 1.0规范中指定了Expires:max-age,它是在早期的HTTP 1.1规范中引入的。 Expires头的值必须采用非常具体的日期和时间格式,任何错误都会使您的资源不可缓存。 Cache-Control:max-age标头在发送到浏览器时的值是以秒为单位,发生任何错误的可能性都很小。

由于您只能在web.config文件中指定两个标头中的一个,我建议使用Cache-Control:max-age标头,因为它在设置相对时间范围时提供了灵活性到了将来的日期。与Expires标题相比,您基本上可以设置和忘记,其值必须记住每年至少更新一次。如果您在代码中以编程方式设置两个标头,请知道Cache-Control:max-age标头的值将优先于Expires标头。所以,那里也要记住一些事情。

来自Setting Expires and Cache-Control: max-age headers for static resources in ASP.NET