Учебник HTML

Главная Учебник HTML Учебник CSS Web- mastering
Раскрутка Полезности FAQ Index



Web-mastering>>Создание документа с помощью SSI

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

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

Аналогичного эффекта можно достичь, используя Java Script или CGI-скрипты, однако простота и удобство использования SSI способствуют широкому распространению этой технологии. Это работает следующим образом: при получении запроса на документ, содержащий SSI-директивы, сервер обрабатывает документ, выполняет все директивы, а получившийся документ отсылает клиенту. Для того, чтобы сервер знал о возможном нахождении в коде документа SSI-директив, необходимо его предварительно настроить - т.е. указать те расширения файлов, в которых они могут быть обработаны.

Это, пожалуй единственное неудобство, с которым обычно встречается web-мастер (если не считать того, что протестировать такой сайт можно только на компьютере, где установлен сервер), так как для настройки конфигурационных файлов сервера необходим к нему доступ с соответствующими правами. Однако практически на большинстве серверов разрешение на обработку SSI-директив по умолчанию распространяется на файлы с расширением .shtml и .shtm, а директивы, находящиеся в файлах с другими расширениями будут рассматриваться как простые комментарии, на это в дальнейшем мы и будем ориентироваться.

Для включения в код документа SSI-директив применяется следующая конструкция, с использованием комментариев:
Синтаксис: <!--#директива = "значение"   -->
Нас интересует в данном случае директива include virtual, которая вставляется в то место, где необходимо вставить содержимое указанного файла и принимает значения в виде его URL.

Рассмотрим подробнее процесс на примере:
Для начала создадим файл file1.shtml следующего содержания:

<html>
<head>
<title> FILE1 </title>
</head>
<!--#include virtual="file2.html"  -->
<h1>Тестовая страница 1</h1>
<p>Текст, набранный и сохраненный в файле file1.shtml </p>
<!--#include virtual="file3.html"  -->
</body>
</html>

После чего создадим файлы file2.html и file3.html следующего содержания:
Файл file2.html

<body>
<h2>Тестовая страница 2</h2>
<p>Текст, набранный и сохраненный в файле file2.html </p>
Файл file3.html
<h3>Тестовая страница 3</h3>
<p>Текст, набранный и сохраненный в файле file3.html </p>

Затем все три файла разместим на сервере и получим:
если при этом посетитель просмотрит исходник страницы, то он не увидит файл file1.shtml в том виде, в каком тот лежит на сервере, а прочтет исходник, сгенерированный сервером, согласно директив, в него включенных. Интересной особенностью тут является то, что включаемые отрывки кода могут быть прерваны в любом месте, например, это может быть незаконченная таблица, или тэг вставляющий ссылку. В нашем случае начальный тэг <body> находится в файле file2.html, а конечный </body> - в файле file1.shtml.




Главная Учебник HTML Учебник CSS Web- mastering
Раскрутка Полезности FAQ Index

Сайт создан в системе uCoz