Боковая сторона включает - Edge Side Includes
Боковая сторона включает или же ESI это маленький язык разметки за край уровень динамический веб-контент сборка. Цель ESI - решить проблему масштабирования веб-инфраструктуры.[1] Это приложение периферийные вычисления.
Веб-сайты довольно часто создают контент. Это могло быть из-за изменения контента, такого как каталоги или форумы, или из-за персонализация. Это создает проблему для кеширование системы. Для преодоления этой проблемы группа компаний (Акамай, Art Technology Group, BEA Systems, Корпорация Circadence, Digital Island, Inc., Interwoven, Inc., Открытый рынок, чья технология, связанная с ESI, теперь принадлежит Программное обеспечение FatWire, Корпорация Oracle и Vignette Corporation ) разработал ESI спецификацию и отправил ее в W3C для утверждения. Редактор предложения был Марк Ноттингем.
Спецификация языка ESI 1.0 была представлена Консорциум World Wide Web (W3C) для утверждения в августе 2001 г. W3C подтвердил получение, но не принял предложение.[1]
ESI реализуется некоторыми сети доставки контента, например, Akamai, и некоторым кешированием прокси-серверы Такие как Лак, Кальмар и Дворняга ESI,[2] хотя многие не реализуют полную спецификацию.[3] Akamai также добавляет дополнительные функции к поддерживаемой версии.[4]
Синтаксис
Теги элементов ESI вставляются в HTML или другое текстовое содержимое во время создания. Эти теги ESI не отображаются для зрителей, а являются директивами, которые предписывают процессору ESI предпринять определенные действия. В XML Теги ESI на основе указывают агенту обработки на стороне края действие, которое необходимо выполнить для завершения сборки страницы. Одним из простых примеров элемента ESI является тег include, который используется для включения содержимого, внешнего по отношению к странице. Тег включения ESI, размещенный внутри HTML-документа, будет выглядеть так:[1]
src ="http://example.com/1.html" alt ="http://bak.example.com/2.html" onerror ="Продолжить"/>
В этом случае процессор ESI будет извлекать URL-адрес src, или если это не удается, альтернативный URL-адрес, или если это не удается, ничего не делать. Система ESI обычно представляет собой кэширующий прокси-сервер, поэтому он может иметь локальную копию этих файлов, которую можно вставить, не возвращаясь на сервер. В качестве альтернативы можно кэшировать всю страницу с тегами ESI, и только запросы ESI могут быть отправлены на исходный сервер. Это позволяет разное время кеширования для разных частей страницы или различную степень персонализации.
Функции
В ESI есть четыре основных функции:[1]
- включение фрагментов страницы, как показано выше;
- переменные который может быть установлен из печенье или же Заголовки HTTP а затем используется в других инструкциях ESI или записывается в разметку;
- условия чтобы можно было использовать разную разметку на основе переменных, например, установлен ли cookie или нет;
- обработка ошибок, так что аварийное переключение может использоваться, если исходный сервер недоступен.
Альтернативы
Основные альтернативы ESI:
- сделать сборку на исходный сервер с помощью Серверная часть включает и многие виды серверные сценарии.
- использовать клиентские сценарии и техники, известные как Аякс (видеть: Динамическая веб-страница ) в браузер
- для установления протокола между источником и границей, чтобы повторяющийся контент автоматически добавлялся на границу, как в протоколе Railgun от Cloudflare [5]
- сделать сборку в браузере, используя веб-компоненты.
Рекомендации
- ^ а б c d Марк Цимельзон; Билл Вейль; Джозеф Чанг; Дэн Франц; Джон Брассо; Крис Ньютон; Марк Хейл; Ларри Джейкобс; Конлет О'Коннелл (2001-08-04). "Спецификация языка ESI 1.0". W3C. Получено 2008-11-10.
- ^ «Дворняга ЭСИ».
- ^ «Особенности Varnish ESI». Получено 2011-04-07.
- ^ «Расширения EdgeSuite 5.0 ESI для спецификации ESI 1.0» (PDF). Получено 2011-04-07.
- ^ https://www.cloudflare.com/railgun/