SSI(服务器端包含)和ESI(边缘端包含)之间的主要差异

我需要将dynamic内容包含到Web服务器级别的静态页面中。 到目前为止我发现的两个选项是Server Side Include (SSI)Edge Side Include (ESI)

尽pipeSSI的起源似乎比较古老和模糊( 伊利诺斯大学的95页的caching页面似乎是参考文献 ,显然是来自NCSA httpdnetworking服务器,它曾经为95%的networking供电 )并欣喜( 从2001年的w3规格,主要是由Akamai的人写的 )。

另外,我一直听到有关Varnish + ESI ,我想知道是否应该走这条路。 不过,我已经用nginx做了一个设置,只支持SSI ,并希望遵循KISS原则,并尽可能避免使用Varnish

对于我的直接用例来说,在每个页面顶部都会包含一个dynamic用户栏,我相信SSI将会完成这项工作。 然而,我担心的是,随着我的网站的增长,我只需要ESI支持的function,这将迫使我重新devise所有的东西,这引起了我的问题(最后读者说):

SSI不支持哪些主要function会使您selectESI (反之亦然)?

SSI和ESI的标签是如此相似,我不会担心这个太过分了。 无论如何,清漆只支持ESI的最基本的使用。

使用SSI和nginx,因为你有它们,如果你需要varnish的caching,你只是一个简单的shell脚本,远离将SSI更改为ESI。

Varnish就是为此而devise的,因此,与使用Nginx相比,使用Varnish来pipe理caching的select更多(即使Nginx内置了很多选项)。

由于Nginx始终适合我的需求(简单的片段caching,代理,速度好…)我从来没有尝试清漆!