0

我有一个页面,其内容将显示给所有用户,但问题是我在页面加载后完成了一个 ajax 调用,此调用不可缓存,但它需要从缓存页面中删除的 cookie,我该怎么办保留 cookie 并仍然获取缓存页面?

4

1 回答 1

1

在 vcl_hash 例程中,您可以准确决定如何散列您的请求。例如,以下内容只会对请求 URI 进行哈希处理,而不包括 cookie:

sub vcl_hash {
    set req.hash += req.url;
    set req.hash += req.http.host;
} 

请注意,您可能希望排除 ajax 调用和任何其他在您的配置中不可缓存的请求。或者更好的是,如果请求是可缓存的,则让后端发送一个标头,然后让 varnish 对其进行处理。

请注意使用 setcookie 缓存页面,它应该没问题。

于 2012-08-14T16:55:44.313 回答