使用 cloudflare 缓存动态页面

Using cloudflare to cache dynamic pages

我们有许多页面,其中唯一的动态内容是位于顶角的用户信息(姓名、个人资料 link、购物袋中的商品数量)。这些页面有时可能需要一秒或更长时间才能加载。

我们正在考虑更改页面,以便使用 Cloudflare 缓存整个 HTML 页面,然后在显示时,JavaScript 将检查是否存在 cookie 名称 "Username" 和 "CartCount" 并相应地更新配置文件,或者如果 cookie 不可用,则显示惯用的登录图标。

这种方法是否可行,是否需要采取安全措施?

它不仅可行,而且被一些大型网站积极使用 - 例如。爱彼迎、TripAdvisor。

您可能会注意到,如果您打开这些网站(以及许多其他网站),起初看起来您没有登录,然后 DOM 更新为您的用户名。

我看到的唯一问题是 CSRF 令牌 - 如果您缓存页面,您的令牌将过时并且不再有用。您必须为您的 AJAX 请求和登录页面关闭 CSRF 检查。