0

就像我们现在一样,当谈到“http缓存系统”时,我们有两种缓存:公共缓存和私有缓存,它们的区别在于用户和服务器之间存在代理。代理不能存储私有缓存。在这个链接中,他谈到 rack:cache 称它为一种代理缓存,他说:

这意味着它不能缓存私有内容,但可以缓存公共内容。

但是在示例(甚至他的示例)和现实中,我们看到通过使用staleor fresh_when(使用 rack::cache),私有缓存被存储然后由 304 渲染。

所以我们遇到了一个悖论。这个 rack:cache 代理是如何存储私有缓存的?

4

1 回答 1

1

当您使用stale?orfresh_when?时, rack::cache正在使用该信息来告诉客户端其缓存是否新鲜。rack::cache不缓存内容。

缓存,如果标记为私有,则只能由最终用户存储。但是该缓存是否新鲜可以由代理确定,例如rack:cache.

于 2013-09-21T08:22:54.793 回答