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


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


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


Введение в технологию 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 для тех, кто первый раз узнал или услышал об этой технологии.

 

Интересное

Бесплатный хостинг
Для начала я попробую немного отойти от технических деталей и рассмотреть вопрос «бесплатного» хостинга под углом экономического восприятия этого явления в интернете.И вот к каким интересным...
Подробнее...
Adobe Photoshop и Corel Draw
Уважаемые читатели, что возникает в ваших головах при словосочетании «компьютерная графика»? Конечно, у рядового пользователя сразу возникает в голове какой-нибудь Терминатор или иное детище...
Подробнее...
Программное управление...
ВведениеТема нашего сегодняшнего разговора — ODBC. Если вы хоть раз писали СУБД (системы управления базами данных), то вам, наверное, знакома эта аббревиатура. Расшифровывается ODBC как Open...
Подробнее...
Что моя бабушка говорила...
Закон о возмещении ущерба в случае похищения персональных данных 2007 года получил единодушное согласие сената. Как это часто бывает с нашей законодательной властью, две палаты конгресса —...
Подробнее...
Проблемы программы...
Illustrator — странная программа, она не похожа на другие продукты Adobe. Порой складывается впечатление, что ее выпускает не Adobe столько проблем она делает. С самой первой из них пользователь...
Подробнее...
Криптография: палка о двух...
Криптография в наши дни повсюду. Большинство пользователей каждый день извлекают из неё пользу, даже если делают это не осознанно. В этой статье мы рассмотрим, почему криптография является «палкой...
Подробнее...
Увеличиваем быстродействие...
Однако, по умолчанию, вне зависимости от установленного объема памяти, Windows XP нерационально использует дополнительный объем памяти, что значительно ограничивает производительность системы в...
Подробнее...
Serv-U: Установка FTP-сервера
Хочу установить на своей машине в локальной сети FTP-сервер, но не выбрал программу. Какую именно вы посоветуете и каким образом ее нужно настроить?Выбор программы Спрос рождает предложение,...
Подробнее...
Assembler. Введение
Микропроцессоры корпорации Intel и персональные компьютеры на их базе прошли не очень длинный во времени, но значительный по существу путь развития, на протяжении которого кардинально изменялись и...
Подробнее...
Выбираем лучший способ...
Те, кто рассматривает проблемы «одомашнивания» кинотеатра всерьез, при покупке AV-аппарата уделяют больше внимания не передней, а задней панели, то есть коммутационным возможностям. При этом упор...
Подробнее...