Мне нужно включить динамический контент в статические страницы на уровне веб-сервера. На данный момент я нашел 2 варианта: Server Side Include (SSI)
и Edge Side Include (ESI)
.
Хотя истоки SSI
казаться старым и неясным (что кешированная страница из 95 из Университета Иллинойса, кажется, является ссылкой, видимо это из NCSA httpd
веб-сервер, который использовался для питания около 95% сети), что из ESI
казаться более свежим и радостным (спецификации w3 2001 года, написанные в основном ребятами из Akamai).
Кроме того, я все время слышу о Varnish
+ESI
и мне интересно, должно ли это быть таким образом. Однако у меня уже есть установка с nginx
, который поддерживает только SSI
, и хотел бы следовать KISS
принцип и избегать использования Varnish
если вообще возможно.
Я считаю, что для моего непосредственного варианта использования, который будет включать динамическую панель пользователя в верхней части каждой страницы, SSI
сделаю свою работу. Однако меня беспокоит, что по мере роста моего сайта мне понадобятся функции, поддерживаемые только ESI
что заставит меня переделать все, что подводит меня к моему вопросу (наконец, читатель говорит):
Какие основные функции не поддерживаются SSI
это заставит вас выбрать ESI
(и наоборот) ?
Теги для SSI и ESI настолько похожи, что я бы особо не беспокоился об этом. В любом случае Varnish поддерживает только базовое использование ESI.
Используйте SSI и nginx, поскольку они у вас есть, и если вам когда-нибудь понадобится кеширование Varnish, вы всего лишь тривиальным сценарием оболочки от изменения ваших SSI на ESI.
Varnish предназначен для этого, поэтому с помощью Varnish у вас будет больше возможностей для управления кешем, чем с Nginx (даже если Nginx имеет множество встроенных параметров).
Поскольку Nginx всегда соответствовал моим потребностям (простой кеш фрагментов, прокси, хорошая скорость ...), я еще никогда не пробовал Varnish!