htmlbook.ru - Для тех, кто делает сайты
Шаг за шагом Графика для Web
Шаг за шагом > SSI по шагам > Использование SSI

Шаг 4. Использование SSI

Влад Мержевич

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

Далее рассмотрим некоторые аспекты применения SSI на практике.

Добавление на веб-страницу содержимого другого файла

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

Как правило, код HTML веб-страниц на сайте имеет повторяющуюся структуру. Например, верхняя часть («шапка») и нижняя часть («подвал») для всех веб-страниц остаются обычно неизменными. Логично было бы вынести их в отдельные файлы и подключать с помощью директивы include, как показано в примере 4.1.

Пример 4.1. Встраивание содержимого файла в текущий документ

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
  <title>SSI</title>
 </head>
 <body>
  <!--#include virtual="/inc/header.html"-->
  <p>Содержание текущей веб-страницы</p>
  <!--#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//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
  <title>SSI</title>
 </head>
 <body>
  <p>...</p>
  <p>Статью прочитало, чел.: <!--#exec cgi="/cgi-bin/counter.cgi?id=5"--> </p>
 </body>
</html>

В данном примере программе counter.cgi передается параметр id со значением 5. Этот параметр выступает в качестве идентификатора статьи. Таким образом, используется один файл для подсчета числа читателей, а меняется только идентификатор статьи.

Способ 2. Использование директивы include

Директива include может применяться не только для вставки HTML-файла в текущий документ, но и для вызова серверной программы (пример 4.3).

Пример 4.3. Использование директивы include

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
  <title>SSI</title>
 </head>
 <body>
  <p>...</p>
  <p>Статью прочитало, чел.: <!--#include virtual="/inc/counter.php?id=5"--> </p>
 </body>
</html>

В данном примере вызывается программа, написанная на PHP, она подсчитывает число обращений к определенной статье, которая однозначно определяется с помощью идентификатора. Результат выполнения программы вставляется в место, указанное директивой SSI.

Счетчик посетителей не единственная вещь, где могут пригодиться возможности SSI. Аналогичным способом на веб-страницу можно добавлять любые изменяемые данные — результат выполнения программ на сервере.

Статья опубликована: 18.09.2005 Последнее обновление: 19.12.2008
SSI по шагам

Copyright Влад Мержевич, по всем вопросам пишите по адресу: vlad@htmlbook.ru