rails缓存代理如何存储私有缓存?

时间:2013-09-21 07:52:16

标签: ruby-on-rails caching browser-cache http-caching

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

  

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

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

所以我们面对一个悖论。这个架子怎么做:缓存代理存储私有缓存?

1 个答案:

答案 0 :(得分:1)

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

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