Handle ESI-includes on cached page

Per Buer perbu at varnish-software.com
Thu Jul 11 21:49:52 CEST 2013

Hi Roman,

On Thu, Jul 11, 2013 at 7:35 PM, Roman Arkharov <arkharov at gmail.com> wrote:

> I've read manual on varnish-cache.org (
> https://www.varnish-cache.org/docs/3.0/tutorial/esi.html) and different
> tutorials, but I've not found: is it possible to handle ESI instructions on
> every request to cached page? In cause of page has TTL more than blocks,
> blocks are updated only when page cache flushed.

Yes. See below.

As far as I understand from this presentation:
> http://www.slideshare.net/neorey/varnish-the-high-performance-valhalla-9321198(slides 33-34) ESI-includes can be handle only if request served from
> backend, because only in this case vcl_fetch called, am I right?

Not quite. The parser is only run when the document is fetched.  When the
document is parses it is stored more or less like a list of pointers to
"esi fragments" in memory. When it is delivered these are more or less just
spit out. If one of these fragments time out they are refetched and

So, you can have a static parent page with at TTL of 24h and within it
dynamic fragments.

I'll make a note out of going through the docs and see if I can make it a
bit more clear.

 <http://www.varnish-software.com/> *Per Buer*
Phone: +47 958 39 117 | Skype: per.buer
We Make Websites Fly!

Winner of the Red Herring Top 100 Europe Award 2013
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-misc/attachments/20130711/28f0df14/attachment.html>

More information about the varnish-misc mailing list