gpt4 book ai didi

http - 为什么要在 HTTP 响应中同时使用 no-cache 和 no-store?

转载 作者:可可西里 更新时间:2023-11-01 15:03:14 28 4
gpt4 key购买 nike

我被告知要防止用户信息泄露,仅响应“无缓存”是不够的。 “无商店”也是必要的。

Cache-Control: no-cache, no-store

阅读本规范后 http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html , 我仍然不太清楚为什么。

我目前的理解是它只是用于中间缓存服务器。即使响应“无缓存”,中间缓存服务器仍然可以将内容保存到非 volatile 存储器中。中间缓存服务器将决定是否将保存的内容用于后续请求。但是,如果响应中包含“no-store”,则中间缓存服务器不应存储内容。所以,它更安全。

是否还有其他原因让我们同时需要“无缓存”和“无存储”?

最佳答案

我必须澄清,no-cache 并不意味着不缓存。实际上,这意味着在对每个请求使用您可能拥有的任何缓存响应之前“通过服务器重新验证”。

must-revalidate 另一方面,只有在资源被认为过时时才需要重新验证。

如果服务器说资源仍然有效,那么缓存可以用它的表示来响应,从而减轻服务器重新发送整个资源的需要。

no-store 实际上是完整的不缓存 指令,旨在防止以任何形式的缓存存储表示。

我随便说说,但请注意 RFC 2616 HTTP 规范中的这一点:

History buffers MAY store such responses as part of their normal operation

但这在较新的 RFC 7234 HTTP 规范中被省略,可能是为了使 no-store 更强大,请参阅:

https://www.rfc-editor.org/rfc/rfc7234#section-5.2.1.5

关于http - 为什么要在 HTTP 响应中同时使用 no-cache 和 no-store?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/866822/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com