0

我使用 Varnish 来缓存不同 Web 应用程序中的内容(其中大部分基于 Django 和 Drupal)。熟悉 Varnish 的人会知道它不会缓存带有 cookie 的页面,除非您使用VCL 魔法,如文档中所述。在大多数情况下,这意味着您的经过身份验证的用户不会从 Varnish 缓存中受益(如果我对此有误,请纠正我,并且有一种方法可以使用 Varnish 为经过身份验证的用户缓存页面的一部分)。

因此,我想使用 HTML5 Web Storage 编写这个 Web 应用程序,以允许访问者在本地保存一些数据,我想知道 Varnish 是否可以使用它。我知道 Web Storage 不像 cookie 那样使用 HTTP 标头,因此 Varnish 缓存应该可以工作。

任何玩过 Varnish 和 HTML5 Web Storage 的人都可以证实这一点吗?

4

2 回答 2

1

(如果我对此有误,请纠正我,并且有一种方法可以使用 Varnish 为经过身份验证的用户缓存页面的一部分)。

您可以为此使用ESI,但它也需要对应用程序进行一些更改以支持 ESI。

因此,我想使用 HTML5 Web Storage 编写这个 Web 应用程序,以允许访问者在本地保存一些数据,我想知道 Varnish 是否可以使用它。我知道 Web Storage 不像 cookie 那样使用 HTTP 标头,因此 Varnish 缓存应该可以工作。

由于该缓存完全是客户端的,因此它确实与 Varnish 无关,您的服务器甚至不知道是否使用了客户端缓存,因为那是应用程序逻辑。

于 2012-02-22T14:10:51.233 回答
0

如果您使用 javascript 替换内容使用网络存储,它将很好地工作。

不过你必须小心,否则用户会看到“闪烁”或 JS 替换内容。

于 2016-02-06T02:23:33.003 回答