Идеальный выбор начинающих и небольших сайтов

Последние комментарии

Google нажатие





Что такое SSI Печать

Что такое SSI

Что такое ssi и с чем его едят?

Server Side Include (SSI).Эта вещь в WWW-дизайне чрезвычайно нужная и полезная, так как во много раз облегчает работу по созданию и поддержке Web-сайта.

Server Side Include с английского переводится как "включаемый на стороне сервера".Эта технология позволяет Web-серверу включать в текст ваших HTML-страниц любой другой текст: содержимое текстовых файлов или, например, результат работы CGI-скриптов (который, как известно, обычно оформляется в виде HTML-текста). Происходит это "включение" непосредственно перед передачей текста HTML-страницы броузеру пользователя, так что посетитель страницы даже не догадывается об этой серверной "возне".

Какова же польза от SSI? Польза огромна. Предположим, на каждой странице своего сайта вы поместили список доступных разделов сайта. Творение ваше, как и положено, постоянно развивается, и вот вы решили добавить еще один раздел. Что же теперь, открывать все страницы в редакторе и тупо добавлять в текст одно и то же? Советский пионер (любящий трудности) поступил бы именно так, а умный Web-дизайнер станет использовать SSI. Для этого достаточно создать отдельный текстовый файл (например, menu.html) и занести туда HTML-код списка разделов. Непосредственно же в страницы сайта, в том месте, где должен находиться список разделов, нужно вставить следующую инструкцию:
Обратие внимание на то, что нужно дословно следовать синтаксису директив SSI. Забудете, например, поставить два тире в конце директивы - и сервер ей буквально "подавится", прекратив анализ страницы.

Когда кто-либо захочет просмотреть эту страницу, сервер заменит инструкцию <#include> содержимым файла menu.html. Если вы измените файл menu.html, то все страницы, где вы использовали<#include>, обновятся автоматически. Обратите внимание: в HTML-файлах, лежащих на диске Web-сервера, ничего не меняется - сервер производит вставку текста "на лету", перед тем, как отправить WWW-страницу в броузер посетителя.

Вместо имени обычного текстового файла в инструкции <#include> можно указывать имя CGI-скрипта. В этом случае сервер сначала выполнит CGI-скрипт, а потом вставит результат работы скрипта в текст WWW-страницы. Это означает, что вы сможете реализовать такие вещи как, например, текстовый счетчик посещений или отображение на странице случайно выбранной фразы.

Есть еще одно косвенное преимущество применения SSI: из-за использования шаблонов типа вышеупомянутого menu.html WWW-страницы будут меньшими по объему, и вы сможете сэкономить немало времени, перписывая файлы на Web-сервер по FTP.

Но не все так прекрасно. Например, вам не удастся поэксперементировать с механизмом SSI на машине, на которой не установлен Web-сервер. Функционирование SSI обеспечивается именно сервером, поэтому при просмотре HTML-файлов с локального жесткого диска (например, С:), ваш броузер проигнорирует директивы SSI - ведь они, с точки зрения HTML, являются обычными комментариями.

Кроме того, сервер должен быть настроен для поддержки SSI. И попадаются такие алчные провайдеры, которые начинают требовать деньги за такую настройку. Лучше всего не пользоваться их услугами, так как поддержка SSI включается добавлением пары строк в файлы конфигурации Web-сервера Apache и еще кое-какими нехитрыми действиями администратора, за что брать деньги, на мой взгляд, грешно.

К счастью, таких провайдеров не очень много. Большинство предлагают поддержку SSI по умолчанию. Но учтите, что на бесплатных серверах, таких, как Хоом, Tripod, Geocities, Chat.ru SSI не разрешается. Тут уж ничего поделать нельзя :-(

Кстати о настройках сервера. При включении поддержки SSI сервер начинает просматривать все страницы на предмет наличия в них директив SSI, что увеличивает нагрузку на сервер. Поэтому очень часто системные администраторы включают SSI только для файлов с определенным расширением - обычно .shtml. Так что если в файлах .html SSI не работает, попробуйте переименовать их в .shtml, а лучше спросите об этом системного администратора :-)

В общем, SSI - действительно полезный инструмент, игнорировать который, если вам дорого свое время (и деньги), не стоит.


Что такое SSI и с чем его едят II

Этой статьей хотелось бы открыть новый подраздел на DVK URL CLUB. "Ваша колонка" призвана собрать материалы и мнения наших посетителей. Первая статья написана нашим модератором раздела "Перекур" по мотивам одного из топиков на "Перекуре", в которой Александр поясняет некоторые особеннсти использования директив SSI. Так же автор хочет напомнить вам, что инструкциями SSI можно пользоваться только на том сервере, который их поддерживает. Большинство бесплатных хостингов в сети не выделяется такой особенностью, а попросту, не поддерживают SSI.

Преамбула
Суть и простейшие приемы в SSI уже были описаны на данном сайте. Как правило, на развалах статей по мастерингу редко встречается что-то кроме описание единственной функции "include" в самом простом варианте.

Однако SSI смело можно назвать языком программирования, пусть не полноценным, но языком. SSI позволяет определять условия и переменные, а также умеет работать с так называемыми переменными окружения, одной из которых является $QUERY_STRING, активно использующаяся при программировании на Perl, PHP, и других языках создания серверных скриптов. Здесь-то и начинается самое интересное.

Суть явления или результат который имеет Webmaster.
По большому счету речь сейчас пойдет о шаблонах. При очередном обновлении человеку обслуживающему сайт будет достаточно добавить ссылку на новую страницу в оглавлении и создать файл с обычным форматированным текстом без какой бы то ни было разметки. Согласитесь, что это весьма удобно :)

Технология: Условные директивы и переменная окружения $QUERY_STRING.
Вобщем, есть какой-то шаблон index.shtml, который представляет из себя следующее:<html>
<head>
<title> :: Титул, блин :: </title>
</head>
<body>
<!-- здесь хедер, т.е. шапка, то что идет прежде контента -->
... Крутые теги и крутая графика ...
<!-- конец хедера -->


Тут, в принципе, проблем с пониманием не должно возникать, а вот далее — самое интересное. Поясню, что значение переменной $QUERY_STRING определяется содержимым строки запроса после знака "?", т.е. http://maste.ru/razdel/index.shtml?page1.
вторая и ключевая часть:<!--#if expr="$QUERY_STRING" -->
<!--#include virtual="$QUERY_STRING.txt" -->
<!--#else -->
<!--#include virtual="default.txt" -->
<!--#endif -->

Я думаю, что нужна расшифровка. Мы имеем пять директив, из которых три относятся к условным, а две — обычные инклюдсы:
Проверяется содержимое строки запроса на предмет наличия конструкции "?something" и в случае положительного результата выполняется вторая директива.
Подключается файл с именем, идентичным содержимому строки, допустим, если строка запроса выглядит так: "http://maste.ru/razdel/index.shtml?page1", то подключается файл "page1.txt", лежащий в одной директории с индексным файлом.
Исполняется в том случае, если содержимого вида "?something" в строке нет, а URL выглядит так: "http://maste.ru/razdel/index.shtml" или так: "http://maste.ru/razdel/", и преходит к исполнению четвертой директивы.
Подключается файл по умолчанию, содержащий, как правило, оглавление раздела, т.е. ссылки на файлы раздела, которые должны выглядеть так: <a href="http://maste.ru/razdel/index.shtml?page1">ссылка на страницу №1</a> и т.д.
Завершение условия.
Далее пойдет кол нижней части html-кода:<!-- здесь футер, т.е. подвал, то что идет после контента -->
... еще немного Крутых тегов и крутой графики ...
<!-- конец футера -->
</body>
</html>

Как это будет работать?
В папку сваливаются файлы:
index.shtml (типа терминал);
default.txt (список ссылок <a href="http://maste.ru/razdel/index.html?page1">страница 1</a> и тэ дэ и тэ пэ и хэтэтэпэ :);
файлы page1.txt, ..., page571756.txt пока не надоест, (в принципе название может быть любым, главное чтобы оно совпадало с содержимым после "?" в соответствующей ссылке).
Если предполагается использование директив SSI внутри рядовых файлов, то лучше их сделать так же .shtm, .shtml, и не забыть поправить разширения в коде файла index.shtml.

Вот! Юзайте на здоровье :)


 

Наш хостинг

3 месяца хостинга при переезде к нам
Яндекс цитирования Rambler's Top100 Яндекс.Метрика
При полном или частичном копировании материалов, ссылка на сайт www.alfawebstudio.ru обязательна !