为什么在请求中使用Cache-Control标头?

Max*_*kyi 1 javascript caching cache-control

此页面Cache-Control指定以下内容:

标准Cache-Control指令,可由客户端在HTTP请求中使用.

我以为只有服务器发回有关客户端是否应该缓存响应的信息.为什么客户端会向服务器发送缓存信息?

dec*_*eze 5

客户端和服务器之间可能有任意数量的中间代理进行缓存.客户端可以从任何和所有缓存实体显式请求显式缓存行为,例如:

  • max-age - "我不想要比X更早的回复"
  • no-cache - "我想要一个新鲜的回应"
  • no-transform - "我不想要它,除非它是原始的"
  • only-if-cached - "如果您还没有原始服务器,请不要打扰它"

与所有请求一样,服务器在是否遵守请求方面有一定的余地.仅仅因为客户坚持未缓存的响应并不意味着它必然会得到它.