这两者很相似, max-age 优先级更高.
但为什么有了其中一个字段, 还要继续再加另一个字段?
这种问题怎么才能搜出想要结果(rfc 的讨论)?关键字有哪些, 我尝试了几个关键字都搜不到好的回答.
1
Mess17 2021-03-03 17:37:10 +08:00
expires 是绝对值,max-age 是相对值呀。HTTP 先有的 expires,后来因为 expires 可能有的问题(服务器和客户端时间可能不一致),才有的 max-age,所以都并存了。
|
2
Kinnice 2021-03-03 17:40:53 +08:00
Expires 在此时候之后,响应过期,时间是绝对时间,受本地时间影响。
max-age 是距离请求发起的时间的秒数,超过这个时间缓存被认为过期(单位秒)。与 Expires 相反,时间是相对于请求的时间。 https://blog.techbridge.cc/2017/06/17/cache-introduction/ |
3
huangmingyou 2021-03-03 17:58:52 +08:00
基于时间的是弱验证,还有配套的基于 etag 的强验证。
|
4
FaiChou OP |
6
rodrick 2021-03-03 21:07:21 +08:00
1.为了新旧兼容 2. 为了客户端改时间的问题
|
7
FaiChou OP |
8
KuroNekoFan 2021-03-04 08:57:13 +08:00 via iPhone
@huangmingyou 什么强验证弱验证,只有 cache 和 content negotiate (缓存和内容协商)
|
9
huangmingyou 2021-03-04 10:14:03 +08:00
@KuroNekoFan 你看下 http cache rfc7234 ( https://tools.ietf.org/html/rfc7232#section-2.1)原文就知道了
|