Область применения SSI достаточно обширна, эту технологию используют для автоматического
добавления на веб-страницу содержимого другого файла, вывода значений переменных
окружения, встраивания результата выполнения CGI-программ и т.д. Сразу следует
оговорить, что достаточно сложный сайт лучше целиком делать с использованием
серверного языка программирования или воспользоваться готовым «движком» —-
автоматизированной системой по управлению содержанием сайта. SSI же в основном
применяется для HTML-документов, чтобы упростить процесс их создания и расширить
возможности. В то же время, понятие «сложный сайт» достаточно размыто, так что
можно сделать вполне интересный и полезный ресурс исключительно с помощью HTML
и SSI.
Далее рассмотрим некоторые аспекты применения SSI на практике.
Добавление на веб-страницу содержимого другого файла
Основное преимущество SSI заключается в том, что это технология позволяет вставлять
содержимое текстового документа или HTML-файла в текущую веб-страницу. В случае
добавления текстового файла, его содержимое вставляется без всякого форматирования.
Для HTML-документа форматирование сохраняется, включая текст и теги.
Как правило, код HTML веб-страниц на сайте имеет повторяющуюся структуру. Например,
верхняя часть («шапка») и нижняя часть («подвал») для всех веб-страниц остаются
обычно неизменными. Логично было бы вынести их в отдельные файлы и подключать
с помощью директивы include, как показано в примере 4.1.
Пример 4.1. Встраивание содержимого файла в текущий документ
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<!--#include virtual="/inc/header.html"-->
Содержание текущей веб-страницы
<!--#include virtual="/inc/footer.html"-->
</body>
</html>
В данном примере в текущий документ вставляется содержимое файла header.html
и footer.html через директиву include. Параметр
virtual задает путь к файлу относительно корня
сайта.
Счетчик посетителей
На веб-странице часто требуется использовать динамические вставки, вроде, сколько
человек прочитало данный документ. Для этого вначале требуется написать программу
на одном из языков программирования. Программа должна при обращении к ней увеличивать
счетчик посетителей на единицу и результат записывать в базу данных или файл.
Затем вызов программы происходит одним из следующих способов.
Способ 1. Применение директивы exec
Для включения результата выполнения программы в текущую веб-страницу используется
директива exec, как показано в примере 4.2.
Значением параметра cgi служит путь к серверной
программе.
Пример 4.2. Применение директивы exec
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
...
Статью прочитало, чел.: <!--#exec cgi="/cgi-bin/counter.cgi?id=5"-->
</body>
</html>
В данном примере программе counter.cgi передается параметр id со значением
5. Этот параметр выступает в качестве идентификатора статьи. Таким образом,
используется один файл для подсчета числа читателей, а меняется только идентификатор
статьи.
Способ 2. Использование директивы include
Директива include может применяться не только для вставки HTML-файла в текущий
документ, но и для вызова серверной программы (пример 4.3).
Пример 4.3. Использование директивы include
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
...
Статью прочитало, чел.: <!--#include virtual="/inc/counter.php?id=5"-->
</body>
</html>
В данном примере вызывается программа, написанная на PHP, она подсчитывает
число обращений к определенной статье, которая однозначно определяется с помощью
идентификатора. Результат выполнения программы вставляется в место, указанное
директивой SSI.
Счетчик посетителей не единственная вещь, где могут пригодиться возможности
SSI. Аналогичным способом на веб-страницу можно добавлять любые изменяемые данные — результат выполнения программ на сервере.
Источник: http://www.htmlbook.ru |