client/server 使用了哪些 Cache-Control header 值?
Which Cache-Control header values are used by client/server?
我正在尝试了解 Cache-Control
的哪些值将用于请求,哪些将用于响应。
是一个很好的答案,但它没有提及您是否应该在响应中使用这些值。
例如,请求或响应中应该使用no-store
吗?
no-cache
只能在请求中使用吗?
如果在响应而不是请求中使用它会发生什么?
在请求和响应中都使用它有什么意义吗?
确实令人困惑的是,相同的 header 名称和指令可能具有不同的含义,具体取决于它出现在请求还是响应中。标准的一位编辑承认了这一点,他 wrote 说:“如果我们今天从头开始设计 Cache-Control
,我们可能会在请求中为字段使用不同的名称,以帮助避免这种情况混乱。"
幸运的是,RFC 7234 分别描述了 Cache-Control
request directives and response directives,因此您可能可以在那里找到问题的答案。例如:
no-store
可以在请求或响应中使用。意思基本一样,只是客户端和服务端什么都不想要存储的问题
no-cache
既可以用在请求中,也可以用在响应中,但意义不同。如果在请求中使用,则意味着对 this 请求的响应不应来自缓存(未经验证)。如果用于响应,则意味着 未来 请求不应满足此响应(未经验证)。
我正在尝试了解 Cache-Control
的哪些值将用于请求,哪些将用于响应。
例如,请求或响应中应该使用no-store
吗?
no-cache
只能在请求中使用吗?
如果在响应而不是请求中使用它会发生什么?
在请求和响应中都使用它有什么意义吗?
确实令人困惑的是,相同的 header 名称和指令可能具有不同的含义,具体取决于它出现在请求还是响应中。标准的一位编辑承认了这一点,他 wrote 说:“如果我们今天从头开始设计 Cache-Control
,我们可能会在请求中为字段使用不同的名称,以帮助避免这种情况混乱。"
幸运的是,RFC 7234 分别描述了 Cache-Control
request directives and response directives,因此您可能可以在那里找到问题的答案。例如:
no-store
可以在请求或响应中使用。意思基本一样,只是客户端和服务端什么都不想要存储的问题no-cache
既可以用在请求中,也可以用在响应中,但意义不同。如果在请求中使用,则意味着对 this 请求的响应不应来自缓存(未经验证)。如果用于响应,则意味着 未来 请求不应满足此响应(未经验证)。