Varnish 2.1:我正在尝试使用 http PURGE 让 Varnish 更新一个缓存的 URL。
在测试时,我会得到看起来很奇怪的结果,直到我在文档中阅读了这一点:“但是,如果缓存中有相同 URL 的多个变体,则只会清除匹配的变体。清除相同的 gzip 变体页面请求必须如下所示:"
所以现在如果我执行这两个命令:
curl -I http://example.com/my-url
curl -X PURGE http://example.com/my-url
我得到了 200 Purged 响应。
如果我做这两个:
curl -I http://example.com/my-url -H "Accept-Encoding: gzip"
curl -X PURGE http://example.com/my-url -H "Accept-Encoding: gzip"
我也得到了 200 净化。
现在,如果我尝试:
curl -I http://example.com/my-url -H "Accept-Encoding: deflate"
我得到表明 Content-Encoding: 是“text/html;charset=utf-8”的标题,并且它在缓存中有年龄。这似乎表明我的应用程序不支持“放气”,这可能是正确的。
该页面还有一个 Age: 标头,表明它正在被缓存。
现在我该如何清除它?(我在问一个没有实际意义的问题吗?)
所有这些尝试都返回“404 Not in cache”:
curl -X PURGE http://example.com/my-url -H "Accept-Encoding: deflate"
curl -X PURGE http://example.com/my-url -H "Accept-Encoding: text/html;charset=utf-8"
curl -X PURGE http://example.com/my-url -H "Accept-Encoding: text/html"
有没有一种神奇的方法可以清除 URL 的所有变体?