Основные различия между SSI (Включение на стороне сервера) и ESI (Включение на стороне сервера)
Мне нужно включить динамический контент в статические страницы на уровне веб-сервера. 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
(и наоборот)?
2 ответа
Теги для SSI и ESI настолько схожи, что я бы не стал сильно беспокоиться об этом. В любом случае Varnish поддерживает только самое простое использование ESI.
Используйте SSI и nginx, так как они у вас есть, и если вам когда-нибудь понадобится кэширование Varnish, вам достаточно простого сценария оболочки, чтобы не менять SSI на ESI.
Для этого разработан Varnish, поэтому у вас будет больше возможностей для управления кешем, чем в Nginx (даже если в Nginx много встроенных опций).
Поскольку Nginx всегда соответствует моим потребностям (простой кэш фрагментов, прокси, хорошая скорость...), я никогда еще не пробовал Varnish!