|
Автор: Полянко Александр
Источник:
Очень часто в последнее время стали использовать так называемые включения на
стороне сервера (Server Side Includes). А что, собственно, дают эти 'включения'.
SSI позволяет объединить повторяющиеся фрагменты кода в один файл, а потом
вставлять в нужном месте нужную строку. Рассмотрим простенький пример. У вас
есть сайт с энным количеством страниц, на которых одинаковы, допустим, верхняя
часть с логотипом, красивым слоганом и навигация. Ваш сайт расширяется вширь и в
глубь, появляются раз в неделю новые пункты в меню. Очень затруднительно будет
перерывать, например, по 50 страниц на неделе. Применяя SSI, вам достаточно
поправить один файл и весь сайт преобразится на глазах.
По названию этой технологии нетрудно догадаться, что работает SSI исключительно
на сервере: пользователю выдается конечный результат обработки. Вставить SSI в
код HTML не составит труда; стоит написать
<!--#include virtual="top.html"-->
и весь код, хранящийся в top.html, тут же окажется в данном файле, как будто его
отсюда никто не удалял.
Рассмотрим поподробнее этот кусочек. <!--# --> - тег SSI, в него вставляются все
выполняемые команды. Include означает то самое (включение). По этой команде
сервер слегка задумывается и включает-таки требуемый файл. Virtual является
атрибутом команды include, значением которого задают путь до вставляемого файла.
Расширение у вставляемого файла может быть любое: хоть .html, хоть .txt, хоть .ssi.
Примечание: файл, содержащий тег SSI, должен иметь расширение .shtml или .shtm
для того, чтобы сервер мог определять какие файлы преобразовывать стоит, а какие
- нет.
Для закрепления прочтенного и для 'пробы пера' проведем эксперимент по созданию
'включаемого' файла, также вы убедитесь в той силе, которой наделена SSI.
Создаем обычный документ, в нем пишем "Верхняя часть страницы":
<html>
<head><title>Пробуем на зуб возможности SSI</title></head>
<body>
<h1>Верхняя часть страницы</h1>
<!--#include virtual="bottom.txt"-->
</body>
</html>
Не забываем одарить его расширением с 'лишней' буквой s и вставить тег
включения.
Следующим этапом будет создание включаемого файла. Главное помните, что
вставляется не сам файл, а весь его код, поэтому излишнюю структуру создавать не
стоит.
<span style="color:#00f">Нижняя часть, она же включенная.</span>
Ну, а теперь самый приятный момент: просмотр результата в браузере, где вы
убедитесь, что не напрасно потратили силы и время.
Кроме команды включения в документ файла, SSI может выполнять и другие команды.
Сейчас мы рассмотрим вывод на экран полезной информации с помощью команды echo.
Она имеет единственный атрибут var:
<!--#echo var="имя_переменной"-->
Сервер имеет несколько своих переменных, которые можно вывести на экран,
используя команды SSI. Вот некоторые из таких переменных:
HTTP_USER_AGENT - имя и версия браузера;
PATH - путь к системным папкам;
REMOTE_ADDR -адрес удаленного компьютера;
SERVER_SOFTWARE - имя и версия сервера;
GATEWAY_INTERFACE - имя и версия CGI;
SERVER_PROTOCOL - протокол, используемый сервером;
QUERY_STRING - строка, полученная от пользователя;
SERVER_ADMIN - обычно e-mail админа;
SERVER_NAME - имя сервера;
SERVER_SIGNATURE - информация о сервере (имя, версия, название, порт
подключения);
SystemRoot - системная директория;
REQUEST_METHOD - метод запроса;
DATE_GMT - время и дата по нулевому меридиану;
DATE_LOCAL - местное время и дата.
fsize
Команда fsize выводит размер указанного файла.
<!--#fsize virtual="index.html"-->
flastmod
Команда выводит на экран дату и время последней модификации заданного файла.
Атрибуты такие же, как у fsize.
Вот на этой ноте и остановимся. Конечно, обхватить необхватный SSI мы до конца
не смогли, но хоть поняли, с чем все-таки его едят.
|