I need to include dynamic content into static pages at web server level. The 2 options I have found so far are Server Side Include (SSI)
and Edge Side Include (ESI)
.
While the origins of SSI
seem old and obscure (that cached page from 95 from University of Illinois seems to be the reference, apparently it's from the NCSA httpd
webserver which used to power about 95% of the net), that of ESI
seem more recent and rejoicing (w3 specifications from 2001, written mostly by guys from Akamai).
Also, I keep hearing about Varnish
+ESI
and I'm wondering whether that should therefore be the way to go. However I already have a setup in place with nginx
, which only supports SSI
, and would like to follow the KISS
principle and avoid using Varnish
if at all possible.
For my immediate use case, which will be to include a dynamic user bar at the top of each pages, I believe SSI
will do the job. However I'm concerned that as my website grows, I will need features only supported by ESI
which will force me to re-design everything, which brings me to my question (finally the reader says):
What are the main features not supported by SSI
that would make you choose ESI
(and vice versa) ?