允许Varnish缓存,不为每个cookie缓存版本仅针对特定的前端cookie

时间:2016-11-10 10:45:57

标签: jquery caching cookies drupal varnish

Bonjouràtous,

Stack溢出的第一篇文章;)

我只是想了解关于清漆的过程。 我还没有在互联网上找到我的问题的答案。

我有一个Drupal 7网站,在开发中,它使用了Varnish(v4),一切正常。现在,Drupal站点没有生成cookie。

该网站将允许每个匿名用户管理“需求”(涉及许多页面),然后将此需求的内容发送到我们的后台。匿名用户没有用户管理或帐户管理。 为了提高性能,我已经安装了Varnish,但这是我第一次体验它。

我想使用jQuery + cookie来实现“需求”的过程来存储所有相关信息。像这样,每次请求都不会调用Apache(v2.4)。

我认为如果生成cookie,Varnish将跳过缓存过程。我想在没有per-cookie缓存版本的情况下使用Varnish,仅用于特定的前端cookie。

所以我想知道是否可以对Varnish说:

  

嘿,即使这个特定的饼干存在,也要涂清漆(我的意思是管理,   cookie CRUD),不要照顾它并继续服务缓存   页)。

如果是的话,你能解释一下我的逻辑吗?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

每次应用程序生成cookie时,它都会向浏览器发送 Set-Cookie 标头,以便它可以存储新的cookie。如果Varnish找到此标头,则默认情况下不会缓存。发生这种情况所以cookie不会错误地设置给其他人的浏览器。总而言之,如果您想缓存一个页面,请不要在其中操作cookie。

但是您可以使用AJAX调用与您要缓存的页面不同的页面,该页面将负责Cookie。这样,您的主页面将被缓存,每次您需要插入一些cookie时,您将使用除了操纵cookie之外什么都不做的其他页面。