Отправляет email-рассылки с помощью сервиса Sendsay

Свой сайт - это очень просто!

  Все выпуски  

Свой сайт - это очень просто! SSI


Информационный Канал Subscribe.Ru


SSI - Server Side Includes - включения на стороне сервера.
08.01.2003 Свой сайт - это очень просто! нр 32.

Доброго Вам здоровья уважаемые подписчики!

   Сегодня в выпуске:
   Новости сайта:    Сегодня в выпуске:

SSI - Server Side Includes - включения на стороне сервера.

Внимание! Постольку, поскольку в этой статье использовано несколько примеров SSI, а они выполняются на сервере, для полного получения представления о предмете желательно прочесть эту статью на сайте.
   Вначале немного о том, что такое SSI. Server Side Includes - включения на стороне сервера - это набор команд, позволяющих включить в страницу информацию, недоступную средствами HTML, формировать документ из заранее определенных кусочков, вставлять результаты работы CGI сценария или программы прямо в документ. Несмотря на довольно ограниченный набор команд, SSI - это очень мощный инструмент, дающий большие возможности при создании сайта. В этой статье я расскажу о некоторых из них. Но вначале немного о том, как это работает.
   Как следует из названия - включения на стороне сервера - команды SSI выполняются сервером. Сразу нужно сказать, что не все серверы поддерживают SSI. В особенности, предоставляющие бесплатный хостинг. Например, не поддерживает SSI горячо любимый нами "народ". Справедливости ради добавлю, что "народ" является единственным из известных мне серверов, которые НЕ поддерживают SSI.
   Сервер, поддерживающий SSI, перед тем как выдать документ по Вашему запросу, проверяет его на наличие в нем команд SSI. Некоторые серверы проверяют все документы, большинство - только имеющие расширение shtm или shtml. Это зависит от настроек сервера и, чтобы не вдаваться в подробности, скажу, что если Вы хотите использовать SSI, лучше сразу присваивайте файлам расширение shtml. Встречая в обрабатываемом документе команду SSI, сервер выполняет ее, те есть вставляет в документ то, что предписывает команда. Для пользователя, просматривающего сайт, это происходит абсолютно незаметно, к нему страница попадает уже в готовом виде. Поэтому Вы никогда не обнаружите следов SSI, например, просматривая сайт в "виде HTML".
   Есть небольшая трудность в работе с SSI при создании сайта на домашнем компьютере: не устанавливая специального программного обеспечения, Вы не сможете посмотреть страничку в том виде, как она будет выглядеть в сети до тех пор, пока не отправите ее на сервер.
   Вот такое коротенькое теоретическое вступление. А теперь - несколько практических примеров.
   Примечание: как и все статьи этого сайта, эта статья - отнюдь не полное описание темы. Ее цель - дать понятие о предмете разговора, рассказать, что такая вещь существует. Для полного описания любой из тем, затронутых в статьях на этом сайте, потребуется довольно приличное время.
   Команды SSI включаются в HTML документ в виде комментариев. Для того, чтобы сервер знал, что это директива SSI, а не простой комментарий, после знака комментария ставится знак #. В общем виде команда SSI записывается так:
<!--#SSI-директива="параметры" -->
Заметьте одну важную деталь: начало команды, а именно: знак комментария и знак команды SSI пишутся слитно, без пробела: <!--#SSI-директива...
   Так вот, о примерах...
   Например, Вы наверняка видели, что на некоторых сайтах или страницах указано текущее время, или дата, или и то, и другое. Приблизительно так:
Сегодня
Сейчас в Москве:
   Сразу обращаю внимание, что часы в этом случае будут "стоять", то есть, они будут показывать время, когда Вы зашли на данную страничку, а вернее - время выполнения команды SSI.
   Еще раз напомню также, что , если Вы посмотрите эту страницу "в виде ХТМЛ", то увидите лишь результат работы команды, то есть только то, что уже видите в окне браузера: дату и время. На самом деле в файле, который я отправил на сервер, в этом месте в ячейках таблицы стоит:
  • В первой ячейке:
    <B>Сегодня</B><BR><!--#config timefmt="%d.%m.%Y" --><!--#echo var="DATE_LOCAL" -->
  • и во второй ячейке:
    <B>Сейчас в Москве:</B><BR><!--#config timefmt="%H:%M:%S" --><!--#echo var="DATE_LOCAL" -->
   Значения тегов B и BR Вам уже должно быть знакомо (а если Вы еще не знаете, что это такое, почитайте внимательнее другие статьи моего сайта :-), поэтому я обьясню только то, что относится к SSI:
  • команда echo - "вывести, напечатать"
  • параметр команды var= - "переменная"
  • значение переменной "DATE_LOCAL" - "локальное время"
То есть строкой <!--#echo var="DATE_LOCAL" --> я прошу сервер: "Ну-ка, дорогой, выведи посетителям моего сайта на экран в этом месте время, которое показывают твои часы". И он Вам это показывает. Самые внимательные уже, наверно, обратили внимание, что просьба в обоих ячейках таблицы одинаковая, а результат сервер нам выдал разный: в одном случае время, а в другом - дату. А самые сообразительные уже даже сообразили, что это оттого, что перед командой <!--#echo var="DATE_LOCAL" --> стоит еще какая-то абракадабра и она в разных ячейках - разная. Вот в том-то все и дело. Перед тем, как спросить у сервера время, необходимо сообщить ему, что конкретно мы хотим увидеть. Самому серверу до лампочки наше чисто условное деление времени на секунды, годы, века и тысячелетия. Чтобы не путаться, он использует для отсчета времени только одну единицу (тоже, конечно, очень условную) - секунду. Но по нашей просьбе может показать нам значение своих внутренних часов в удобочитаемой для нас форме. Так вот:
  • команда config - "конфигурировать" или "показать в форме"
  • параметр timefmt= - "формат времени"
  • значение параметра timefmt=
   Для конфигурации формы вывода времени существует куча значений. Все они приведены в нижеследующей таблице:
Формат
Описание
Пример
Формат
Описание
Пример
%a Аббревиатура названия дня недели Sun %Z Временная зона MSK
%A Полное название дня недели Sunday %Y Год в формате ГГГГ 1995
%b Аббревиатура названия месяца Jan %y Год в формате ГГ 95
%B Полное название месяца January %w Номер дня недели 5
%d День месяца 01 (не 1) %U Неделя года 49
%D Дата в формате "%m/%d/%y" 01/31/90 %T Время в формате "%H:%M:%S" 14:05:34
%e День месяца 1 %s Время в секундах с 01.01.1970 957228726
%H Часы в 24-часовом формате 13 %S Секунды 34
%I Часы в 12-часовом формате 01 %j День года 235
%m Номер месяца 01 %u Время в формате "%I:%M:%S%p" 01:33:56 PM
%M Минуты 03 %p AM|PM AM

При желании Вы можете попросить показать не локальное время сервера, а время на меридиане Гринвича:
Сейчас в Лондоне:

   Это случится, если вместо DATE_LOCAL поставить DATE_GMT.
   Еще пара маленьких примеров использования SSI:
  • Команда, выводящая IP посетителя:
    <!--#echo var="REMOTE_ADDR"-->
    В результате использования получаем:
    Ваш IP:
  • Команда, выводящая тип браузера посетителя:
    <!--#echo var="HTTP_USER_AGENT"-->
    В результате использования получаем:
    Ваш браузер:
   Ну вот, на первый раз хватит. В следующей статье я уж точно расскажу, как с помощью SSI можно значительно уменьшить обьем работы при создании сайта.

Для тех, кто работает с почтовыми спонсорами: самым "доходным" в 2002 году был Smart-E-Mails.
Как всегда, приглашаю Вас посетить Свой сайт - это очень просто!. И, как всегда, Вы можете задавать мне любые вопросы.
    Всего Вам доброго.
   Сергей Червонящий.
на главную

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное