Использование технологии SSI

В случае, когда на большом количестве web-страниц вашего сайта применяются повторяющиеся элементы разметки или повторяющаяся информация, для ускорения загрузки удобно использовать технологию SSI - Server Side Includes (Команды включения на стороне сервера). Данная технология позволяет включить в HTML документы специальные команды, которые обрабатываются и выполняются сервером. Для ряда простых операций команды SSI предпочтительнее, чем использование сложных CGI- и Java-скриптов.

Смысл оптимизации документов HTML с использованием SSI состоит в том, что часто повторяющиеся элементы страниц выделяются в отдельный файл. Благодаря этому общая часть документов с графикой, иногда очень больших размеров, будет загружаться быстрее. Кроме того, собирать страницу из отдельных элементов легче и быстрее как в плане создания сайта, так и его развития. Например, если в дальнейшем вы захотите сменить дизайн сайта, то достаточно будет просто заменить один или несколько файлов SSI. А все остальное содержимое останется без изменения. Это очень удобно.

Команды SSI позволяют использовать в HTML документах такие возможности, как загрузка файлов, указание текущей даты и времени в любом формате, форматирование в зависимости от выполнения или невыполнения некоторого условия, запросы к базе данных и запись в базу данных, отправка электронной почты, вызов программ и скриптов и другие. Очень часто команды SSI используются для подключения скриптов. Причем особенно удобно использовать один скрипт для множества страниц. В этом случае загрузка файла SSI будет происходить очень быстро, так как он с большой степенью вероятности будет находиться в кэше сервера.

Технология SSI позволяет совместно использовать язык HTML и скрипты CGI. Не все команды SSI могут быть доступны пользователю. Включить возможность обработки команд SSI, а также указать перечень доступных команд может только администратор сервера при его конфигурировании.

Поддержка технологии SSI обеспечивается специальной конфигурацией WWW-сервера и протокола НТТР. Данную технологию поддерживают такие WWW-серверы, как Apache, Netscape, Spry Web и MS IIS. Следует отметить, что различные серверы, например Apache или MS IIS, несколько по разному интерпретируют команды SSI.

Документы SSI по умолчанию имеют расширение .shtm или .shtml для их отличия от обычных HTML файлов, которые имеют расширение .htm или .html.

Команды SSI вставляются в тело HTML кода в следующем формате:

<html> <body>

<!--#команда параметр="значение"-->

</body> </html>

где:

<! —# - начало обращения к команде SSI; команда - одна из доступных команд;

параметр — параметр или атрибут, значение которого зависит от команды;

значение - значение атрибута; его формат такой же, как и формат задания атрибутов в языке HTML, но в отличие от последнего для команд SSI значения параметров должны обязательно заключаться в двойные кавычки «;

—> - конец обращения к команде SSI.

Следует отметить, что если сервер не поддерживает режима работы SSI, то команды SSI воспринимаются просто как комментарии и не выводятся на экран пользователя.

Рассмотрим назначение и применение основных команд SSI.

echo - включает в код HTML значения переменных окружения. Имеет единственный параметр var, который может принимать около трех десятков значений. Например, команда <!—#echo var="DATE_LOCAL"—> выведет на экран текущую дату и время.

fsize - отображает размер файла, заданного параметром file. Например:

<! — #fsize file="/radon.shtml"—>.

flastmod - отображает дату последней модификации файла, заданного параметром

file: <!—#flastmod file="/price.html"—>. Таким образом можно, например, автоматически показывать на web-странице дату последней модификации прайс-листа. Формат вывода даты можно указать с помощью команды config.

include - вставляет в документ HTML другой файл. Это удобно, когда требуется на разных страницах сайта вставить одинаковые элементы оформления. Команда имеет два параметра: file и virtual. Параметр file указывает на файл в том же каталоге: <!—#include file="style.html"—>. Атрибут virtual указывает на виртуальный путь в пределах сервера:

<!—#include virtual="/add/primer1.htm"—>.

exec - вызов внешних программ и скриптов и вставка результата их выполнения в документ. Команда имеет два аргумента: cmd - для запуска программ и cgi - для запуска скриптов. Примеры: <! --#exec cmd="/cgi/с1оск. ехе"—>, <! --#exec cgi="/cgi-bin/num.pl"—>.

set - установка значения переменной окружения. Такая установка переменных важна при передаче параметров динамическому ресурсу, вызываемому командами include или exec, т. к. для системы они являются дочерним процессом и переменные CGI для них не передаются. Параметры: var - имя переменной окружения; value - устанавливаемое значение. Например:

<!--#set var="category" value="help"-->.

config - модифицирует вывод в HTML-документ. Параметры: errmsg - сообщение, появляющееся при ошибке: <!—#config errmsg="Неправильное имя файла"—>; sizefmt - отформатированное представление размера файла: <! — #config sizefmt="bytes"—>; timefmt - отформатированный вывод времени и даты: <!—#config timefmt="%D"--> (отобразит текущую дату в формате: месяц/день/ год).

На многих серверах, особенно бесплатных, по умолчанию команды SSI выполняются, только если они находятся в файлах с расширениями ,shtml, а в файлах с расширениями .htm и .html не обрабатываются и интерпретируются как комментарии HTML. Чтобы включить обработку команд SSI в документах .htm и .html, необходимо создать файл .htaccess, действие которого будет распространяться на текущую и на все вложенные папки. Файл .htaccess должен начинаться с точки и содержать строку:

AddType text/x-server-parsed-html.html.htm

Наличие указанной команды приведет к тому, что сервер будет обрабатывать команды SSI, содержащиеся в файлах с указанными расширениями, даже в том случае, если обработка этих файлов ранее была передана другим процессам, например PHP.

По материалам: "Создаем, программируем, шлифуем и раскручиваем WEB-сайт" Ю.Ю.Замятин, М.А.Горин, В.А.Ищенко. -М: Лучшие книги, 2009г.

Перейти на главную страницу

Главная страница

Зарабатываем деньги:

Где заработать??? обзор рыбных мест.

Вопросы и ответы

Разное

Наш сайт в каталогах

 

 

Написать письмо вебмастеру folvarok@mail.ru

Использование материалов данного сайта разрешено при условии обязательной гиперссылки на данный ресурс. Авторские права на данный ресурс принадлежат Кузьминичу Евгению.

февраль 2010г.