【问题标题】:Varnish ESI multiple fragments, single request?清漆 ESI 多个片段,单个请求?
【发布时间】:2011-11-08 23:49:47
【问题描述】:

我的任务是改进页面服务时间,以实现相当大的 wordpress 多站点部署。

我正在考虑使用 varnish 对内容进行整页缓存,并使用它的 ESI 功能来包含与用户登录状态相关的动态内容,还可以通过使用匹配的 varnish 清除列表来处理应用程序中的缓存失效博客 ID 的自定义标头或其他一些包含文章 ID 和/或用户 ID 的自定义标头。

我想知道是否有人想过通过 ESI 包含多个页面片段,同时将它们分组到来自后端的单个响应中(例如,我们必须在菜单中显示用户名并在侧边栏, 页面的其余部分是静态的并由清漆缓存. ESI 要求我向后端发出两个请求, 以便检索两个片段并将它们放置在适当的位置, 而在后端我可以轻松生成 HTML 代码一次运行并将其返回清漆进行处理)

【问题讨论】:

    标签: varnish edge-side-includes


    【解决方案1】:

    让 ESI 在一个请求中返回 HTML 块并包装在一些 Javascript 逻辑中以将各种 HTML 字符串放置在适当的位置会怎么样?有点奇怪,但可以解决您的问题,并且应该不难实现。

    另一个移动部分更少的选项是将通过 ESI 获取的所有 HTML 块分组到页面中的一个点,比如底部,然后使用 CSS 将它们绝对定位在您想要的位置页面。

    【讨论】:

      猜你喜欢
      • 2013-07-16
      • 1970-01-01
      • 2014-11-21
      • 2012-04-22
      • 2012-11-02
      • 2015-10-21
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多