你能告诉我Expires和Cache-control:max-age的区别吗?
Expires
在HTTP/1.0
规范中定义,Cache-Control
在HTTP/1.1
规范中定义。
我建议同时定义两者,以便同时满足两者,只了解HTTP/1.0
的旧客户和新客户。
Expires
是在HTTP 1.0规范中指定的,而Cache-Control: max-age
是在早期的HTTP 1.1规范中引入的。Expires
标头的值必须采用非常特定的日期和时间格式,任何错误都会使您的资源不可缓存。发送到浏览器时,Cache-Control: max-age
标头的值以秒为单位,发生任何错误的可能性要小得多。
由于您只能在 web.config 文件中指定两个标头之一,因此我建议使用 Cache-Control: max-age
标头,因为它在设置从当前日期到未来日期的相对时间跨度方面提供了灵活性。与Expires
标题的情况相比,您基本上可以设置并忘记,您必须记住每年至少更新一次其值。如果从代码中以编程方式设置这两个标头,请知道Cache-Control: max-age
标头的值将优先于标头Expires
。所以,那里也要记住一些事情。
从设置过期和缓存控制:ASP.NET 中静态资源的最大年龄标头