$275.06


$272.88


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

 

Интересное

Своя система голосования
Вы когда-нибудь хотели узнать мнение своих посетителей по тому или иному поводу?Например, «что Вы хотите видеть на сайте» или «нравиться ли Вам наш новый дизайн» ?Уверен, что...
Подробнее...
Перенаправление stdout в...
Для перенаправления stdout в область памяти (или файл) необходимо написать небольшую конструкцию.Редирект в память или строку (std::string)
Подробнее...
Cинхронизация времени...
ЗадачаОрганизовать синхронизацию времени контроллеров домена с внешними источниками.Исходные данные.Все серверы W2K3 Схема подключения к внешней сети Internet-Router-ISA-DC.Router управляется...
Подробнее...
Массовое удаление...
Нередко для повышения производительности компьютера (например, перед запуском ресурсоемкого приложения или игрушки) приходится прибегать к нетривиальному, но действенному методу — к...
Подробнее...
Экономичная печать
Мы хотим получить красивый отпечаток, но при этом сэкономить как можно больше чернил и бумаги. Как это сделать? Оказывается, есть способ…Сколько бы вы ни заплатили за принтер — 50 или 500...
Подробнее...
Хакеры могут включить...
PandaLabs обнаружила Shark2 - утилиту для создания троянов, выложенную для продажи на нескольких интернет-форумах. Еe создатели уже выпустили несколько обновлений, поэтому фактически в сети...
Подробнее...
Уход за компьютером
Сегодняшний компьютер совсем не похож на своих предков десятилетней давности. Трудно себе представить, что когда-то в больших просторных комнатах стояли исполинские ящики, обслуживаемые людьми в...
Подробнее...
Базовая структура сайта,...
Определяя позицию страницы в выдаче по тому или иному поисковому запросу, алгоритмы ранжирования анализируют массу факторов: контент, доменное имя, корректность html-языка (от этого зависит...
Подробнее...
Раскрутка это еще и заработок
Странно. Но многие вебмастера разделяют понятия раскрутка и заработок. Т.е. все понимают, что если ресурс будет раскручен, с него можно будет и деньги получить.Но вот, к сожалению, почему-то почти...
Подробнее...
Перевод программ под Windows
Для перевода программ под windows используются редакторы ресурсов, которых развелось достаточно много. Самые лучшие, на мой взгляд, resurs hacker и restorator. У каждой из них есть свои плюсы и...
Подробнее...