Ошибка: Failed to parse the Currency Converter XML document.
$2 448.52


Ошибка: Failed to parse the Currency Converter XML document.
$2 073.18


Ошибка: Failed to parse the Currency Converter XML document.
$1 821.85


Введение в технологию SSI

Если вы первый раз слышите о SSI — Server Side Includes, то эта статья как раз для вас. Я не претендую на подробное изложение материала — для этого есть специальная литература.

Так вот, на тему этих самых Server Side Includes (вложения на стороне сервера, они же SSI и Virtual Includes) написано уже множество статей, но вот только большинство из них подходят лишь для опытных пользователей. А вот данная статья рассчитана на новичков в этом деле. В этой статье я постараюсь вам рассказать о своем понимании SSI и показать, как она может применяться для веб-программирования. Если разберетесь и будете еще читать литературу на данную тематику, то увидите преимущество использования SSI над другими скриптовыми языками.


Что представляет собой сервер

Думаю, ни для кого не будет новостью, что весь код вашего сайта находится на удаленном компьютере, который и называется сервером. В данном случае речь идет о хостинг провайдерах, ведь сайт можно сделать и на локальном компьютере, используя пакет Денвер и создавая сайты. Вот только отличие будет в том, что ваш сайт и будет виден только локально. Так вот, как правило, на сервере в вашей домашней директории хранятся .html файлы — это если у вас статический сайт, да картинки — если таковые имеются.


Ведь не всем нужен сайт на движке (CMS'ке как еще говорят), когда уже нужно его писать на php. К примеру, если вы фрилансер, то можете просто сделать сайт с пятью страничками index.html, about-me.html, education.html, resume.html и portfolio.html — этого вам будет вполне достаточно, чтобы ваш работодатель мог узнать о вас и ваших навыках.

Серверы — не только хранилище файлов?

Пока мы рассматривали сервера просто как хранилища файлов, но этим их возможности не ограничиваются. Также, как и наши персональные компьютеры (ПК, РС, х86 - кому как по душе), на серверах тоже стоит программное обеспечение. Таким образом возможности серверов значительно возрастают. Для примера, могут собирать подробную статистику о всех посетителях вашего сайта, исполнять сценарии и скрипты, поэтому вы можете использовать не только html, но такие скриптовые языки, как php и asp. Вот мы уже и затронули вопрос «на стороне сервера» (server side), т.к. эти скрипты работают только на сервере (где, собственно и расположены), выдавая конечному пользователю (т.е посетителю вашего сайта) лишь результат своей работы.

Для чего нужны эти «includes»?

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

Предположим вполне практическую задачу — добавление нового пункта в это меню. Для этого потребуется править 5 файлов, а вот если это информационный сайт с сотнями и тысячами страниц, то тут уже временные затраты и количество выкуренных сигарет вряд ли что-то оправдает :) Вот для решения этих проблем и придумали включения кода (virtual includes).

Что же можно включить со стороны сервера?

Логично предположить, что лучше всего в код сайта включить так называемые «модули». Эти модули (или же «include») могут быть как файлами стриптов, сценариев или же простой html. Вставка же этого кода производится через специальный их вызов в том месте странички, где будет выводиться результат их работы. Т.е. если это будет навигационное меню, то и расположим команду вызова модуля в соответствующем месте. К примеру, можно отдельно создать файл меню nav-menu.html, сделать в нем пункты меню, оформление, а в сами странички, где он будет выводиться, просто вставлять не него ссылку. Таким образом при изменении меню нам придется редактировать лишь один файл nav-menu.html, а не все страницы.

Как это происходит на практике...

Все очень просто, к примеру у вас есть пять веб-страниц и вам хочется в каждую из них вставить слева навигационное меню. Вопрос о ручной правке каждого из файлов уже обсуждался, да и статья не об этом :) Все, что нам потребуется — это лишь включить в код каждой из страниц приведенный ниже PHP-код. Естественно, что ваш хостинг должен поддерживать PHP. Вот и сам код:

Замечу, что при просмотре исходного кода веб-старницы (когда она открылась в браузере), вы не найдете этого кода, а на его месте будет содержимое файла nav-menu.html — в данном случае это навигационное меню. Это происходит потому, что сценарий php выполняется на стороне сервера, в клиенту (т.е вам — посетителю сайта) выдается лишь результат работы этого самого сценария. Это позволяет скрыть исходный код скриптов от просмотра, ботов, поисковых машин и прочих интернет-субстанций :)

И в заключение

Без сомнения, что при содержании сайта с сотнями и тысячами страниц не обойтись без технологии SSI. Да и все системы управления контентом (CMS) тоже их используют — можете посмотреть их исходный код — как правило в каждом из php файлов содержится несколько включений кода командами include, require, а также их разновидностями — include_once и require_once (различия между ними можно найти в любой толковой книжке о PHP). Надеюсь, что статья пролила свет на SSI для тех, кто первый раз узнал или услышал об этой технологии.

 

Интересное

Поиск файлов с расширением...
Чтобы убедиться в этом, создайте текстовый файл и запишите в него одно слово (например, «поиск»). Сохраните этот файл с расширением log или cpp. Теперь запустите поиск файлов (Пуск > Поиск),...
Подробнее...
Пишем описания и титлы
Как же повысить эффективность регистрации в каталогах? Ну, во-первых, регистрировать только в беляках (каталоги не требующие за размещение обратной ссылки или денег), во-вторых, использовать как...
Подробнее...
Dr.Web защищает от опасных...
Как известно, уже в течение длительного периода происходит спам-рассылка известного «штормового червя», маскирующегося под поздравительную открытку и детектируемого антивирусом Dr.Web как...
Подробнее...
Безопасность Windows XP SP3
Реальность такова, что не все организации перешли на использование Windows Vista. С выпуском Windows XP (начатым в 2001, и данная ОС все еще продается) компания Microsoft выпустила третий пакет...
Подробнее...
Шесть правил ухода за...
Мало кому приходит в голову протирать экран телевизора спиртом — так почему же у многих чешутся руки произвести подобное издевательство над монитором?!Причем можно было бы понять, если бы это...
Подробнее...
Отдых
Отпуск: как не пожалеть о потраченном времени Для большинства людей отпуск – желанное и долгожданное событие, к тому же длится он сравнительно недолго, что делает его еще более ценным....
Подробнее...
Установка Windows Server...
Семейство продуктов Windows Server 2003 берет все самое лучшее от технологии ОС Windows 2000 Server, упрощая при этом развертывание, управление и использование.В результате пользователь получает...
Подробнее...
Запуск несколкьих...
Введение: Virtual Server 2005 R2 позволяет размещать на сервере гостевые операционные системы. При работе с несколькими виртуальными машинами могут возникнуть некоторые сложности.Мы вам уже...
Подробнее...
Вклады
Выбор депозита – ответственная и сложная задача! 
Подробнее...
Выпадающие меню с помощью CSS
Каждый, кому хоть раз приходилось создавать выпадающие меню, знаком с тем, какое количество скриптов требуется для этого. Между тем, используя грамотно структурированный HTML-код и несложные...
Подробнее...