Краевая сторона включает в себя
Edge SideIncludes ( ESI ) — это небольшой язык разметки для на пограничном уровне сборки динамического веб-контента . Целью ESI является решение проблемы масштабирования веб-инфраструктуры. [1] Это приложение периферийных вычислений .
Веб-сайты довольно часто создают контент. Это может быть из-за изменения контента, такого как каталоги или форумы, или из-за персонализации . Это создает проблему для систем кэширования . Чтобы преодолеть эту проблему, группа компаний ( Akamai , Art Technology Group , BEA Systems , Circadence Corporation, Digital Island, Inc. , Intercloth, Inc. , Open Market, чьи технологии, связанные с ESI, теперь принадлежат FatWire Software , Oracle Corporation и Vignette Corporation ) разработала спецификацию ESI и представила ее на утверждение W3C. Редактором предложения был Марк Ноттингем.
Спецификация языка ESI 1.0 была представлена Консорциуму Всемирной паутины (W3C) на утверждение в августе 2001 года. W3C подтвердил получение, но не принял это предложение. [1]
ESI реализован некоторыми сетями доставки контента , такими как Akamai, и некоторыми кэширующими прокси-серверами, такими как Varnish , Squid и Mongrel ESI. [2] хотя многие из них не реализуют полную спецификацию. [3] Akamai также добавляет дополнительные функции в поддерживаемую версию. [4]
Синтаксис
[ редактировать ]Теги элементов ESI вставляются в HTML или другой текстовый контент во время создания. Эти теги ESI не отображаются для зрителей, а представляют собой директивы, которые инструктируют процессор ESI предпринять определенные действия. указывают Теги ESI на основе XML агенту периферийной обработки действие, которое необходимо предпринять для завершения сборки страницы. Одним из простых примеров элемента ESI является тег include, который используется для включения внешнего по отношению к странице контента. Тег включения ESI, размещенный внутри HTML-документа, будет выглядеть так: [1]
<esi:include src="http://example.com/1.html" alt="http://bak.example.com/2.html" onerror="continue"/>
В этом случае процессор ESI получит URL-адрес источника или, в случае неудачи, альтернативный URL-адрес, или, если это не удалось, ничего не сделает. Система ESI обычно представляет собой кеширующий прокси-сервер, поэтому она может иметь локальную копию этих файлов, которую она может вставлять, не возвращаясь на сервер. Альтернативно, вся страница с тегами ESI может быть кэширована, и на исходный сервер могут отправляться только запросы ESI. Это позволяет использовать разное время кэширования для разных частей страницы или разную степень персонализации.
Функции
[ редактировать ]В ESI есть четыре основные функции: [1]
- включение фрагментов страниц, как показано выше;
- переменные , которые можно установить из файлов cookie или заголовков HTTP , а затем использовать в других операторах ESI или записать в разметку;
- условия , позволяющие использовать различную разметку на основе переменных, например, установлен или нет файл cookie;
- обработка ошибок , чтобы можно было использовать аварийное переключение, если исходный сервер недоступен.
Альтернативы
[ редактировать ]Основными альтернативами ESI являются
- выполнять сборку на исходном сервере с использованием серверных включений и многих типов серверных сценариев .
- использовать клиентские сценарии и методы, известные под общим названием Ajax (см.: Динамическая веб-страница ) в браузере.
- установить протокол между источником и периферией, чтобы повторяющийся контент автоматически включался на периферию, как в случае с протоколом Cloudflare Railgun. [5]
- делать сборку в браузере с помощью веб-компонентов .
Ссылки
[ редактировать ]- ^ Перейти обратно: а б с д Марк Цимельзон; Билл Вейл; Джозеф Чанг; Дэн Франц; Джон Брассо; Крис Ньютон; Марк Хейл; Ларри Джейкобс; Конлет О'Коннелл (4 августа 2001 г.). «Спецификация языка ESI 1.0» . W3C . Проверено 10 ноября 2008 г.
- ^ «Дворняга ЭСИ» .
- ^ «Особенности лака ESI» . Проверено 7 апреля 2011 г.
- ^ «Расширения ESI EdgeSuite 5.0 к спецификации ESI 1.0» (PDF) . Проверено 7 апреля 2011 г.
- ^ «Рейлган™» . Июнь 2023.