我使用 Rack:Etag 根据来自服务器的响应生成正确的 etag 值,对于开发,我使用 Rack::Cache 来验证我期望发生的缓存是否确实有效
但我有一个小困境:
我发送请求并取回这些标头
Age →0
Cache-Control →public, max-age=10
Connection →keep-alive
Content-Length →4895
Content-Type →application/json; charset=UTF-8
Date →Wed, 02 Oct 2013 06:55:42 GMT
ETag →"dd65de99f4ce58f9de42992c4e263e80"
Server →thin 1.5.1 codename Straight Razor
X-Content-Digest →0879e41b0d8e9b351f517dd46823095e0e99abd8
X-Rack-Cache →stale, invalid, store
如果我在 11 秒后发送一个带有 If-None-Match=dd65de99f4ce58f9de42992c4e263e80 的新请求,那么我希望得到 304,但总是得到 200 和上述标头。
我错过了什么?