你能告诉我Expires和Cache-control的区别:max-age?
答案 0 :(得分:15)
Expires
在HTTP/1.0
规范中定义,Cache-Control
在HTTP/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