我不明白 HTTP
must-understand
标头的 Cache-Control
指令。 什么时候使用它的一些示例,以及服务器可能使用缓存可能理解或不理解的哪种状态代码?
响应指令指示缓存仅在根据状态代码了解缓存要求时才应存储响应。must-understand
应与must-understand
结合使用以实现后备行为。no-store
Cache-Control: must-understand, no-store
如果缓存不支持
,它将被忽略。如果must-understand
也存在,则不会存储响应。no-store
如果缓存支持
,它会根据其状态代码来存储响应并了解缓存要求。must-understand
在RFC 9111中也有正式描述:
必须理解的响应指令将响应的缓存限制为能够理解并符合该响应状态代码要求的缓存。
包含必须理解指令SHOULD的响应还包含no-store指令。当实现“必须理解”指令的缓存收到包含该指令的响应时,如果缓存理解并实现了状态代码的缓存要求,则“应该”忽略“无存储”指令。
尽管有这些描述,我仍然不知道该指令在什么情况下有用。