|
|
С чем едят SSI?
Автор: Полянко Александр Источник:http://www.webbegin.info
Очень часто в последнее время стали использовать так
называемые включения на стороне сервера (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 мы до конца не смогли, но хоть поняли,
с чем все-таки его едят.
|