Включение режима SSI
ДИНАМИЧЕСКИЕ WEB СТРАНИЦЫ
В основной своей массе Web узлы и узлы электронной коммерции используют в своей работе динамическое содержимое. Традиционные Web страницы являются статическими: их вид не зависит от внешних переменных — от времени, от того, кто получает к ним доступ, и т.д. Динамическое содержимое является общим понятием для Web страниц, генерирующих одно или все возможные отображения во время доступа к таким страницам.
Сервер Apache имеет два основных механизма генерации динамического содержимого. На стороне сервера — это метод вставок, который заключается в том, что процесс httpd, просматривающий исходящий HTML код на наличие ключевых слов SSI, замещает их переменными окружения или результатами работы вызванных про грамм. CGI интерфейс является протоколом, позволяющим серверу Apache запустить такую программу, как сценарий Perl (Practical Extraction and Report Language) или двоичный код, созданный на языке программирования С, и передать полученный результат в HTML коде на браузер клиента.
В этой лекции мы детально рассмотрим шаги, необходимые для создания сервером Apache динамического содержимого. Однако следует отметить, что несмотря на то, что эта глава изобилует примерами кода CGI и SSI, ее нельзя рассматривать в качестве учебника по искусству создания динамических Web страниц.
Вставки на стороне сервера (SSI)
Вставки на стороне сервера (SSI) представляют собой механизм добавления динамического содержимого ограниченного объема к Web страницам. В соответствии с этим методом часть или все содержимое, имеющееся в наличии на сервере, маркируется как потенциально содержащее код SSI, включенный в код HTML. При обслуживании страницы сервер Apache сначала просматривает ее на наличие ключевых слов SSI и вносит изменения в соответствии с обнаруженными командами в передаваемый на браузер пользователя результат.
SSI и производительность сервера
Однако вставки на стороне сервера по умолчанию отключаются. Основной причиной этого является падение производительности, вызываемое использованием этой технологии. Совершенно очевидно, что сервер Apache, который вынужден просматривать все передаваемое содержимое или только часть его, будет работать значительно медленней, чем сервер просто передающий страницы, при этом их не просматривающий. По этой причине рекомендуем ограничить действие SSI как можно меньшим количеством файлов и/или каталогов.
Включение режима SSI
Возможность вставки на стороне сервера обеспечивается модулем mod_include. Этим модулем будет обработан любой документ, имеющий дескриптор server parsed. Кроме того, любой документ MIME типа text/x server parsed html или text/x server parsed htmlS в целях обратной совместимости будет проанализирован модулем mod_include.
Модуль mod_include по умолчанию включен в стандартные дистрибутивы сервера Apache. Однако если его у вас еще нет, сервер Apache придется полностью перекомпилировать.
Режим SSI включается как опция. Чтобы задействовать режим SSI, воспользуйтесь директивой:
Options +Include
Немного более безопасным методом включения режима SSI является директива includeNOEXEC, которая дает команду серверу Apache не запускать сценарии.
Options +IncludeNOEXEC
Чтобы запустить режим SSI в работу, достаточно воспользоваться одной из указанных директив. Кроме того, если директива AllowOverride установлена в конце, режим SSI включить нельзя.
Как сказано выше, из соображений повышения производительности будет лучше разделить Web страницы с SSI и без SSI. Есть два способа это сделать. Первое решение — выделить отдельный каталог, который содержит только файлы, имеющие SS1. Второе решение — они должны иметь расширение, присущее только им.
Функция SSI является опцией, а опции действуют только в ограниченных пределах (например файл .htaccess, директива <Location> или директива <Directory>), ее действие можно эффективно ограничить определенным каталогам. В качестве такового можно указать каталог DocumentRoot и, таким образом, фактически сделать функцию SSI глобальной.
Дата добавления: 2017-06-02; просмотров: 594;