totsamiyshigaev (totsamiyshigaev) wrote,
totsamiyshigaev
totsamiyshigaev

Category:

Слегка рабочее, апачее. SSI: наиболее полное руководство, с примерами.

Для тех, кто пробует потрогать вэбдизайн в части сайтостроительства, рекомендую обратить внимание на язык директив сервера Апач — на Server Side Includes, «Включения со стороны сервера».

Апач — это народный сервер, на нём крутится абсолютное большинство сайтов в мире. А SSI, являясь его модулем, помогает автоматизировать существенную часть работы по созданию и обновлению интернет-ресурсов. Штука старая и проверенная. И незаменимая в случаях невозможности поставить себе полноценное двигло типа Drupal, Joomla или Wordpress. Например на бесплатных хостингах или если тупо неохота учить PHP.

Моё любимое отличие инструментов, работающих на стороне сервера, в том, что они не парят мозг пользователю — тебе и мне. Ведь каким бы мощным компом мы не полезли на Ютуб, Фэйсбук, Мэйлру и Одноглазников, тормоза их скриптов Java Script и Flash способны вывесить любую тачку. Виной тому инструменты другого принципа — отработки на стороне пользователя. То есть за счёт ресурсов компа. Они тормозят систему, постоянно хотят обновлений и потенциально опасны. Недавняя эпидемия окон с требованиями отправить бабла на SMS, была реализована на Флэш например. А регулярно возникающее предложение обновить ваш Adobe Flash Player, вполне подменяется фэйковым, содержащим вредоносный код.

SSI — не есть язык программирования, хотя основан на его стандратной логике. Он даже включает в себя все её признаки: условия («если», «иначе», «то»), задание и вызов переменных, динамичное включение кода и документов. И всё же, мы не можем создавать в нём скрипты форумов и магазинов. Для этого он не содержит средств оптимизации и развитой системы функций.

Но он вовсе не слаб. В SSI мы можем:

  • Делать динамичные меню навигации, чтобы они автоматом меняли свой вид в зависимости от раздела.
  • Сделать одно меню и подцеплять его хоть ко всем страницам.
  • Подцеплять к страницам вообще любую информацию, по различным задаваемым условиям.
  • На лету собирать страницы, подключая в них актуальный контент.
  • Узнавать то, какой браузер у посетителя и подсовывать подходящий стиль.
  • Вызывать результаты работы скриптов.
  • Даже обращаться к базе данных можем.
  • Отправлять с сайта сообщения.
  • Автоматом менять например такую инфу, как размеры файлов для загрузки или даты.
  • Автоматизировать ещё кучу всякого.


В плане непосредственной работы, самое приятное в SSI то, что он прописывается в обычные HTML-страницы. Почти как PHP. Поэтому, если уже что-то такое делали, то проблем не возникнет, а Dreamweaver вам в помощь. Даже если не делали, то всё равно не возникнет. Потому что теперь есть подробное руководство на русском, с примерами. Мне дико не хватало его в конце девяностых. И как же я удивился, узнав о том, что его и теперь не найти. Вот сверстал.

Спасение весит пол-мегабайта, отщедряется в формате Adobe Acrobat, содержит 66 страниц текста, включает в себя описание работы SSI и перечень его инструментов, толпу примеров кода с решениями актуальных вопросов автоматизации, кучу переведённых статей и давно откуда-то спёртый файл помощи по Server Side Includes.

Забирайте:


Не жалко отдать его и в HTML, если понадобится. Просто конвертнуть из PDF в HTML — это не проблема. А ниже содержание руководства. Чисто чтобы ощутили объём, ну и мне чтобы похвастаться:

  • Обзор SSI.
  • Активация SSI на Апаче.
  • Замена стандартных серверных сообщений об ошибках.
  • Директивы.
    • config;
    • include;
    • Выражения условий;
    • set;
    • printenv;
    • echo;
    • exec;
      • omg... listing?;
    • fsize;
    • flastmod;
    • goto;
    • label;
    • break;
    • email;
    • show;
    • hide;
    • odbc;
    • charset;
    • display;
    • newrandom;
    • operator;
    • piservice;
    • script;
    • variable.
  • Все переменные окружения Апача.
    • Переменные окружения сугубо Апача.
    • Переменные заголовка HTTP.
    • Расширения SSI.
  • Эмуляция кнопки «Назад».
  • Получение списка содержимого директории, листинга.
  • Браузеры.
    • Пользовательские переменные для разных браузеров.
    • Разнюхивание сервером нашего программного обеспечения.
  • Дата последнего изменения страницы сайта и даты копирайта.
  • HTML-комментирование с указанием источника страницы.
  • Абсолютная ссылка для иерархии любого уровня.
  • Управление переменными по QUERY_STRING.
  • Передача и обработка данных средствами SSI.
    • $QUERY_STRING и $QUERY_STRING_UNESCAPED.
  • Параметры, используемые в элементе SSI «config timefmt».
  • Как отображать на сайте дату и время по-русски.
  • Борьба с <noframes>.
  • Борьба с прямыми ссылками на документы на веб-узле с фреймами.
  • Версия страницы для печати.
  • Борьба с оформлением результатов работы скриптов.
  • Баннеры, кэширование и SSI. Эмуляция генерирования случайной величины.
  • Случайная выборка в SSI Apache.
  • Динамическое навигационное меню с использованием SSI Apache.
  • Форма отправки сообщения и благодарность за отправку на одной странице.
  • Вывод содержимого в зависимости от вермени и даты.
  • Правильная конкатенация.
  • Выбор из выпадающего меню.
  • Несложная авторизация.
  • SSI и Perl-скрипт подсчёта посетителей.
  • Траблешутинк.


Tags: apache, ssi
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 8 comments