r2108 - trunk/varnish-cache/bin/varnishd

Poul-Henning Kamp phk at phk.freebsd.dk
Thu Oct 18 12:46:23 CEST 2007

In message <ujr4pgoiu5h.fsf at false.linpro.no>, =?iso-8859-1?Q?Dag-Erling_Sm=F8rg
rav?= writes:

>An ESI document doesn't need to be well-formed XML (it could be SGML,
>or JavaScript, or plain text, or whatever), basically you just want to
>grep for <esi:whatever> and ignore everything else.

Not quite, I've read up on ESI, both on w3c, oracle and akamai, and
my conclusion is that ESI, with one exception, does not stand outside
the XML (SGML ?) syntax of the basic document, if it has one.

(The one execption is the <!--esi...--> comment construct)

If the basic document does not have XML/SGML syntax, there's obvious
trouble with '<' characters.

The parser I've created for ESI in varnish understands the basic
syntax of XML/SGML, but ignores everything higher level than the
<...> element syntax and comment format, unless the element in
question is in the esi: namespace.

That's how I interpret the standards intent.

In any case, you will have to explicitly tell VCL to do ESI processing
of documents, so any odd-ball cases can be included/excluded as needed.

Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.

More information about the varnish-commit mailing list