"Server Side Includes" - Основы и приемы использования.
Это сделает ваши страницы живыми. Это поможет легко обновлять ваши сайты. CGI-скрипты смогут вставлять HTML-код на страницы сайта. Все это может стать реальностью с применением "Server Side Includes, так же известных как SSI.
"Includes" (англ. "включать") означает, что SSI добавляет что-то на ваши страницы.
"Server Side" означает то, что SSI обслуживаются сервером, а не браузером. В то время как сервер посылает вашу страницу в браузер посетителя, он сканирует страницу, ища специальные теги, которые сообщают о том, что надо включать вместо них. Когда он находит такие теги, он включает блоки кода вместо этого тега и отсылает результат.
Где Вы бы не использовали один и тот же код на страницах сайта (такой как панели навигации, формы подписки и т.д.), используйте SSI и Вам придется поменять только один файл, чтобы внести изменения на все страницы, где используется SSI.
Это просто!
Но если это так просто, то почему не каждый использует SSI? Ответов два: 1) эта процедура занимает несколько наносекунд у Вашего сервера на сканирование и добавление; 2) не каждый знает о том как использовать SSI.
Большинство хостинговых компаний позволяет использовать SSI. Обычным требованием в таком случае является расширение .shtml для таких страниц. Это вызвано тем, что использование SSI занимает часть ресурсов сервера и определенный период времени. Таким образом Вы будете использовать .shtml расширение для SSI-страниц и расширения .html and .htm для всех остальных.
Если Вы не знаете поддерживает ли сервер SSI, проделайте простой тест.
Создайте 2 файла. Назовите первый mytest.shtml а второй - myssi.txt
Текст файла mytest.shtml:
<html><body>It goes here. <!--#include file="myssi.txt"--> </body></html>
Текст файла myssi.txt:
<font size="+2"> <b>Here I am!</b> </font>
Загрузите эти два файла на сервер и посмотрите файл mytest.shtml в браузере. Если Вы видите фразу "It goes here. Here I am!", то это значит, что сервер поддерживает SSI.
Заметьте, что теги SSI находятся внутри тегов комментария. Некоторые серверы будут работать нормально если есть пробел после <!-- и пробел перед --> . Но некоторые серверы будут давать ошибку. Пример:
<!-- #include _________ -->
возможно будет работать на некоторых серверах, но не на всех. Чтобы быть уверенным в работоспособности SSI пишите так:
<!--#include _________-->
А теперь мы покажем примеры того, как правильно использовать SSI:
Тег: <!--#include file="__________"-->
Замените подчеркивание на имя файла который Вы хотите включить на страницу. Имя файла может быть любым (обычно расширения таких файлов .txt .html), но это должен быть текст. Это может быть простой текст, код HTML, JavaScript, и т.п. Однако нельзя использовать графические и звуковые файлы.
Файл который Вы включаете может иметь HTML код для графики и звука, но вы не можете вставлять их напрямую. Файл должен находится в той же директории что и .shtml страница.
(2) Тег: <!--#include virtual="__________"-->
Тоже самое что и file="__________" за исключением того что файл может находится в другой директории.
Примеры:
"../filename.txt" "nextdir/filename.txt"
(3) Тег: <!--#exec cgi="__________"-->
Замените подчеркивание на имя CGI-скрипта. Имя файла может быть любым, но не допускается наличие адреса http://... . CGI-скрипт должен возвращать текст, но этот тектс может быть JavaScript или HTML-код для графики и звука или другого кода, который обрабатывается браузером
Используя эти 3 простых тега у Вас будет один кусок кода который будет включен на все страницы вашего сайта.
Так же вы можете добавлять результаты работы CGI-скриптов, включая счетчики, баннеры, новости и погоду с других сайтов и многое другое, что умеют делать CGI-скрипты.
Вот еще один пример:
<html> <body bgcolor="FFFFFF"> <!--#include file="topnavbar.html"--> <table><tr><td> <!--#include file="topsidebar.html"--> </td><td> The weather in Italy is: <!--#exec cgi="italyweather.cgi"--> <p>Current stock prices are <table border="1" cellpadding="9"><tr><td> <!--#exec cgi="stockprices.cgi"--> </td></tr></table> <p>Your IP address is: <!--#exec cgi="your_ip_address.cgi"--> <p>Subscribe to our awesome newsletter! <!--#include file="subform.html"--> Click here for a random link: <!--#exec cgi="randomurl.cgi"--> <p>You are the <!--#exec cgi="counter.cgi"--> visitor! </td></tr></table> <!--#include file="bottomstuff.html"--> </body> </html>
Вся эта конструкция займет несколько секунд на загрузку, но это всего лишь демонстрация свободы творчеcтва при использовании SSI.
Удачи!