我需要在Web服务器级别将动态内容包括到静态页面中。到目前为止,我找到的2个选项是Server Side Include (SSI)
和Edge Side Include (ESI)
。
虽然SSI
看起来似乎是古老而晦涩的(从伊利诺伊大学的95缓存的页面似乎是参考,但显然是来自NCSA httpd
曾经为约95%的网络供电的Web服务器),但ESI
似乎是较新的和令人欣喜的(w3 2001年的规范,主要由Akamai的人撰写)。
另外,我不断听到Varnish
+字ESI
,我想知道是否应该这样做。但是,我已经有了一个带有的设置nginx
,该设置仅支持SSI
,并且希望遵循该KISS
原理,并Varnish
尽可能避免使用。
对于我的直接用例(在每个页面的顶部都包含一个动态用户栏),我相信SSI
可以完成这项工作。但是,我担心随着网站的发展,我将只需要支持一些功能,ESI
这些功能将迫使我重新设计所有内容,这使我提出了自己的问题(最终读者说):
哪些不支持的主要功能SSI
使您选择ESI
(反之亦然)?
除了设计简单之外,您为什么不能同时利用两者?
—
MikeyB
设计的简洁性是我此时不兼顾两者的原因(不是因为我认为它们无法融合在一起,而是因为我没有时间实现和维护两者)。
—
2012年
据我所知,ESI就像SSI,但是具有更多功能(try-catch等)。
—
朱利安