Начало » » » Что такое SSI, или Сделай свой сайт проще! (Часть 2)
Что такое SSI, или Сделай свой сайт проще! (Часть 2)
В первой части статьи мы рассмотрели использование технологии SSI для облегчения сопровождения сайта. Почему для этого не использовать связку PHP+MySQL? Конечно, эти инструменты позволят решить задачу гораздо эффективнее и еще более облегчат сопровождение… Если вы вообще представляете, что означает этот набор букв. В противном случае придется потратить на их изучение не одну неделю, прежде чем вы сможете приступить к созданию своего маленького сайта. SSI гораздо проще и может рассматриваться просто как несколько дополнительных тэгов HTML.
Кроме того, есть причины чисто экономического характера. На коммерческих хостингах поддержка SSI имеется практически всегда, даже в самых дешевых тарифах. Тариф с PHP может стоить в два-три раза дороже. SSI часто есть даже на бесплатных хостингах, что не может не радовать владельцев страничек типа «Я и моя собака», если собак много.
Конечно, когда сайт уже сформирован, придется потратить некоторое время, переписывая страницы под SSI. Но эта работа себя оправдает. Единственный недостаток – вы не сможете просмотреть сайт на своем компьютере. То есть увидеть его можно, но все SSI-вставки будут пропущены. Браузер интерпретирует их как комментарии и просто игнорирует. Для отладки придется ставить локальный web-сервер. Но это не такое уж большое неудобство.
Перейдем к другим возможностям SSI, которые принципиально недоступны «чистому» HTML. Скорее всего, вы видели на некоторых сайтах надпись «Последний раз страница обновлялась…». Если это не уловка, реализованная через JavaScript и привязанная к дате компьютера пользователя, то реализовать ее в HTML невозможно. В SSI это решается просто, нужно только указать имя файла:
Последнее обновление: <!--#flastmod file="index.shtml"-->
В окне браузера мы увидим что-то вроде:
Последнее обновление: Sunday, 30-Mar-2008 18:05:04 Московское время (зима)
Формат представления даты можно поменять, для этого есть директива:
<!--#config timefmt="format"-->
Наиболее употребительные значения формата такие: «%D» – дата в формате 03/30/08, «%r» – время в формате 18:05:04 PM.
С помощью SSI можно получать доступ к некоторым специальным значениям, которые называются переменными окружения. Там довольно много любопытного. Например, переменная HTTP_USER_AGENT содержит идентификатор используемого браузера и операционной системы, а REMOTE_ADDR – IP-адрес посетителя сайта. Получить список всех переменных окружения можно SSI-директивой:
<!--#printenv -->
Самым приятным является то, что SSI-директивы включают в себя конструкцию if/else. Полный ее синтаксис такой:
<!--#if expr="УСЛОВИЕ1" -->
HTML-код, который будет выводиться, если УСЛОВИЕ1 истинно
<--#elif expr="УСЛОВИЕ2" -->
HTML-код, который будет выводиться, если УСЛОВИЕ1 ложно, а УСЛОВИЕ2 истинно
<--#else -->
HTML-код, который будет выводиться, если все условия ложны
<--#endif -->
Вот это уже совершенно другие возможности! Мы можем проверять версию браузера пользователя и выдавать ему наиболее подходящий html-код. К сожалению, непрофессиональные сайтостроители нечасто обращают внимание на поддержку всех возможных браузеров. Но и им есть что предложить.
Как иногда хочется, чтобы содержимое сайта хоть как-то менялось, создавая видимость профессионального программного движка. Например, менялся бы рекламный блок на странице, выдавая разным посетителям разную информацию. Вот в этом нам и поможет SSI-директива if/else. Для этого нужно только подобрать подходящее условие. Наиболее просто привязаться к часам сервера – ведь время постоянно меняется. Добраться до часов сервера напрямую не получится, поэтому используем переменную окружения DATE_GMT. В списке форматов времени используем «%S» – только секунды. Теперь в нашем распоряжении есть все необходимое. Вставляем SSI-код:
<!--#config timefmt="%S"-->
<!--#if expr = "($DATE_GMT<20)" -->
Рекламный блок 1
<!--#elif expr = "($DATE_GMT<40)" -->
Рекламный блок 2
<!--#else -->
Рекламный блок 3
<!--#endif -->
У нас получился рекламный блок, который меняется три раза в минуту. Посетители на сайт заходят бессистемно, поэтому можно считать, что каждый получает случайную рекламу. Количество условий можно увеличить, хоть по одному на каждую секунду. А можно использовать формат «%M» и менять рекламу несколько раз в час.
Полный список всех SSI-команд, форматов, примеров использования легко найти в Интернете. Поверьте, освоить SSI очень просто и дело того стоит!
Shkolazhizni.ru
Постоянный адрес статьи
Послать ссылку на этот обзор другу по ICQ или E-Mail:
Давайте разделим задачу "оптимизация сайта" на составляющие. И они будут таковы: " Оптимизация HTML-кода сайта, оптимизация скриптов и серверной части для ускорения загрузки документов,...
Для того, чтобы добиться максимального эффекта от данной процедуры, необходимо знать, как правильно регистрировать сайт в каталогах. Точнее, как правильно заполнять необходимые поля "название сай...
Интернет-технологии в наши дни становятся все доступнее. Открыть свой сайт в Интернете может любой, выбор возможностей – на любой вкус. Можно кропотливо выписывать тэги в «Блокноте», можно использоват...
Любой владелец сайта рано или поздно сталкивается с необходимостью получения статистики своего сайта. И это неудивительно, потому что просто имея свой сайт и не зная ничего о своих посетителях, откуда...
Компания Mozilla планирует включить в браузер Firefox 3.1 функцию приватного режима работы, сообщает Computerworld. В настоящее время приватный режим работы реализован во второй бета-версии браузера I...