Ruby 机架缓存存在问题的缓存

Ruby 机架缓存存在问题的缓存,ruby,http,caching,rack,rack-cache,Ruby,Http,Caching,Rack,Rack Cache,我试图根据所示的示例在本地缓存来自服务器的响应 不知何故,我总是得到错过作为回应和文件夹是空的。我想缓存不适合我。我做错了什么 cache: [GET /intl/en/policies/privacy/?fg=1] miss 更新 RepResponse标头包含: Cache-Control: must-revalidate, private, max-age=0 所以我想我的问题是,如何在响应被处理之前拦截它,并修改响应头字段 Rack::Cache是“符合标准的”,这意味着它会关注缓

我试图根据所示的示例在本地缓存来自服务器的响应

不知何故,我总是得到错过作为回应和文件夹是空的。我想缓存不适合我。我做错了什么

cache: [GET /intl/en/policies/privacy/?fg=1] miss
更新

RepResponse标头包含:

Cache-Control: must-revalidate, private, max-age=0 
所以我想我的问题是,如何在响应被处理之前拦截它,并修改响应头字段

Rack::Cache是“符合标准的”,这意味着它会关注缓存头。它有,但这对您看到的特定标题没有帮助

因此,要使用Rack::Cache,您需要首先截获请求,可能是通过monkeypatching Rack::Cache,或者需要分叉Rack::Cache以允许您想要的行为。我不会在这里做这两件事


在这种情况下,我建议不要使用Rack::Cache,而是直接基于原始RestClient编写一个非常简单的缓存。请自己检查缓存的新鲜度,并仅在需要时发送请求。

是否查看了响应标题?也许他们不允许缓存他们不允许缓存,但我希望覆盖这种行为。我需要能够在客户端随意强制缓存。这正是我最终要做的。
Cache-Control: must-revalidate, private, max-age=0