2000 г

SSI

Ерижоков А.А., DH's Linux Site

SSI расшифровывается как Server Side Include. SSI - это набор команд, позволяющий включить в страницу информацию, недоступную средствами HTML, такую как вывод программ, значения переменных окружения и статистику по файлам (размер, дата создания и др.). Все это и более позволяют делать CGI-скрипты, но зачем писать целый скрипт для получения размера файла, если можно воспользоваться SSI?:)

SSI работает очень просто: при получении запроса на документ, содержащий SSI-директивы, http-сервер обрабатывает документ, выполняет все SSI-директивы, а получившийся в результате документ возвращает клиенту. Http-сервер не проверяет автоматически все документы на наличие SSI-директив, а только те, которые относятся к типу, указанному в настройках сервера.

Для указания http-серверу, какие документы считать содержащими SSI-директивы, в srm.conf, находящемся в /etc/httpd/conf надо раскомментировать следующие строки:

AddType text/html .shtml
AddHandler server-parsed .shtml

После этого все документы с расширением .shtml будут проверяться на SSI-директивы. Но удобнее будет определить чтобы все .html-файлы могли содержать SSI. Это делается добавление в srm.conf следующих строчек:

AddType text/html .html # не обязательно, т.к. он и так описан.
AddHandler server-parsed .html

Теперь надо разрешить выполнение SSI в каталоге, в котором лежат твои файла. Найди в access.conf описание каталога, в котором лежат твои html'ы и добавь в его Options директиву Includes:

#было так
Options Indexes
#стало так
Options Indexes Includes

Если твой каталог не прописан, его надо прописать. Почитай доку по Apache, чтоб узнать как это делается.:) А если у тебя нет возможно«Возможно» (фр.Peut-tre)— фильм режиссёра Седрика Клапиша 1999 года.сти изменять srm.conf или access.conf, т.е. ты не root, тогда за пивом, а потом к админу.:)

SSI-директивы включаются в html-код в виде коментариев, но определенного формата:

<!--#SSI_директива="параметры" -->

Использовать можно следующие SSI-директивы:

echo var
Используется для вывода значения переменной окружения.

Твой IP - <!--#echo var="REMOTE_ADDR"--> <BR>
Твой броузерВеб-обозреватель, браузер (от англ.Web browser; вариант броузер— устаревшая форма)— программное обеспечение для просмотра веб-сайтов, то есть для запроса веб-страниц (преимущественно из Сети), их обработки, вывода и перехода от одной страницы к другой. - <!--#echo var="HTTP_USER_AGENT"--> <BR>
Мой сервер - <!--#echo var="SERVER_NAME"--> <BR>
Ты пришел со страницы - <!--#echo var="HTTP_REFERER"--> <BR>

А вот вывод:

Твой IP - 91.204.128.8
Твой броузер - Teleport Pro/1.29.1590
Мой сервер - S-Networks.ru
Ты пришел со страницы - http://S-Networks.ru/internet/html/

include file
include virtual
Включает в html-файл в месте, где идет вызов SSI, содержимое указанного файла. Отличие include file от include virtual в том, что в первом случает используется файл, находящийся в том же каталоге, что и html-файл, во втором случает указывается путь к файлу относительно текущего каталога. Если с помощью include file или include virtual включается cgi-скрипт, то в содержимое страницы попадет вывод cgi-скрипта, а не его содержание.
fsize file
Вставляет размер указанного файла.

Размер файла этой страницы:
<!--#fsize file="ssi.shtml"--> <BR>

Вывод:

Размер файла этой страницы: 12k

flastmod file
Вставляет время последней модификации указанного файла.

Время последней модификации файла этой страницы:
<!--#flastmod file="ssi.shtml"--> <BR>

Вывод:

Время последней модификации файла этой страницы: Sunday, 28-Dec-2003 19:15:27 MSK

exec cmd
exec cgi
Запускает внешнюю программу (exec cmd) или cgi-скрипт (exec cgi) и вставляет в содержимое страницы вывод.
config errmsg
config sizefmt
config timefmt
Изменяет различный параметры конфигурацииКонфигурация — характерное взаимное положение Солнца, планет, других небесных тел Солнечной системы на небесной сфере. SSI. config errmsg изменяет стандартное собщение об ошибке на введенное пользователем. Сообщение об ошибке возникает при неправильном выполнении SSI-директивы, например при отсутствии cgi-скрипта, который ты пытаешься запустить.

Это стандартная ошибкаОшибка— несоответствие между объектом или явлением, принятым за эталон (материальный объект, решение задачи, действие, которое привело бы к желаемому результату), и объектом/явлением, сопоставленным первому. при запуске скрипта, которого нет: <BR>
<!--#exec cgi="/cgi-bin/nonexistence.pl"--> <BR>
А теперь заменим сообщение об ошибке и повторим: <BR>
<!--#config errmsg="ОшибкаОшибка— несоответствие между объектом или явлением, принятым за эталон (материальный объект, решение задачи, действие, которое привело бы к желаемому результату), и объектом/явлением, сопоставленным первому., пишите <a href=#> <!--#exec cgi="/cgi-bin/nonexistence.pl"--> <BR>

Вывод:

Это стандартная ошибка, возникающая при запуске скрипта, которого нет:
[an error occurred while processing this directive]
А теперь заменим сообщение об ошибке и повторим:
Ошибка, пишите автору ошибки

Директива config sizefmt изменяет формат вывода размера файла.

Размер файла этой страницы в килобайтах:
<!--#config sizefmt="abbrev"-->
<!--#fsize file="ssi.shtml"--> <BR>
Размер файла этой страницы в байтах:
<!--#config sizefmt="bytes"-->
<!--#fsize file="ssi.shtml"--> <BR>

Вывод:

Размер файла этой страницы в килобайтах: 12k
Размер файла этой страницы в байтах: 12,500

Директива config timefmt меняет формат вывода даты и времени.

Время модификации файла этой страницы в секундах с 01.01.1970:
<!--#config timefmt="%s"-->
<!--#flastmod file="ssi.shtml"--> <BR>
Время модификации файла этой страницы в читабельном виде:
<!--#config timefmt="%d.%m.%Y %H:%M:%S"-->
<!--#flastmod file="ssi.shtml"--> <BR>

Вывод:

Время модификации файла этой страницы в секундах с 01.01.1970: 1072628127
Время модификации файла этой страницы в читабельном виде: 28.12.2003 19:15:27

Параметры, используемые в config timefmt:
Формат
Описание
Пример
%a Аббревиатура названия дня недели Sun
%A Полное название дня недели Sunday
%b Аббревиатура названия месяца Jan
%B Полное название месяца January
%d День месяца 01 (не 1)
%D Дата в формате "%m/%d/%y" 01/31/90
%e День месяца 1
%H Часы в 24-часовом формате 13
%I Часы в 12-часовом формате 01
%j День года 235
%m Номер месяца 01
%M Минуты 03
%p AM|PM AM
%r Время в формате "%I:%M:%S %p" 11:35:46 PM
%S Секунды 34
%s Время в секундах с 01.01.1970 957228726
%T Время в формате "%H:%M:%S" 14:05:34
%U Неделя года 49
%w Номер дня недели 5
%y Год в формате ГГ 95
%Y Год в формате ГГГГ 1995
%Z Временная зона MSK
printenv
Выводит все переменные окружения. Параметров не имеет.

Список переменных окружения:<BR>
<!--#printenv -->

Вывод:

Список переменных окружения:
CITFORUM=1 DOCUMENT_ROOT=/data/www.S-Networks.ru/htdocs HTTP_ACCEPT=*/* HTTP_HOST=S-Networks.ru HTTP_REFERER=http://S-Networks.ru/internet/html/ HTTP_USER_AGENT=Teleport Pro/1.29.1590 PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin:/home/serg/bin REMOTE_ADDR=91.204.128.8 REMOTE_PORT=58388 SCRIPT_FILENAME=/data/www.S-Networks.ru/htdocs/internet/html/ssi.shtml SCRIPT_URI=http://S-Networks.ru/internet/html/ssi.shtml SCRIPT_URL=/internet/html/ssi.shtml SERVER_ADDR=192.168.2.22 SERVER_ADMIN=info@S-Networks.ru SERVER_NAME=S-Networks.ru SERVER_PORT=80 SERVER_SIGNATURE= SERVER_SOFTWARE=Apache/1.3.41 (Unix) GATEWAY_INTERFACE=CGI/1.1 SERVER_PROTOCOL=HTTP/1.0 REQUEST_METHOD=GET QUERY_STRING= REQUEST_URI=/internet/html/ssi.shtml SCRIPT_NAME=/internet/html/ssi.shtml DATE_LOCAL=12.08.2009 04:12:52 DATE_GMT=12.08.2009 00:12:52 LAST_MODIFIED=28.12.2003 19:15:27 DOCUMENT_URI=/internet/html/ssi.shtml DOCUMENT_PATH_INFO= USER_NAME=serg DOCUMENT_NAME=ssi.shtml QUERY_STRING_UNESCAPED=

set var
Устанавливает значение переменной окружения. Формат такой set var="ИМЯ_ПЕРЕМЕННОЙ" value="ЗНАЧЕНИЕ".

ЗначениеЗначение— ассоциативная связь между знаком и предметом обозначения. переменной SERVER_NAME:
<!--#echo var="SERVER_NAME" --><BR>
Сменим значениеЗначение— ассоциативная связь между знаком и предметом обозначения.:
<!--#set var="SERVER_NAME" value="www.dhls.ru" --><BR>
Значение переменной SERVER_NAME:
<!--#echo var="SERVER_NAME" --><BR>

Вывод:

Значение переменной SERVER_NAME:S-Networks.ru
Сменим значение:
Значение переменной SERVER_NAME: www.dhls.ru

if/else
Наличие такой команды не может не радовать...:) Применяется для управленияУправление— воздействие субъекта, направленное на достижение абстрактной (неконкретной), но вынужденно-корректируемой цели (задачи, идеи) в уже сложившихся рамках правил, которые неизбежно-совершенствуются когда субъект непротиворечивее познаёт реальность, с которой сосуществует. выводом страницы по условию. СинтаксисСинтаксис (от др.-греч. — «построение, порядок, составление»)— раздел лингвистики, изучающий строение предложений и словосочетаний. такой:

<!--#if expr="УСЛОВИЕ1" -->
HTML-код, который будет выводиться, если УСЛОВИЕ1 истинно
<--#elif expr="УСЛОВИЕ2" -->
HTML-код, который будет выводиться, если УСЛОВИЕ1 ложно, а УСЛОВИЕ2 истинно
<--#else -->
HTML-код, который будет выводиться, если все условия ложны
<--#endif -->

УсловиеУсловие— категория философии, обозначающая отношение предмета к окружающей действительности, явлениям объективной реальности, а также относительно себя и своего внутреннего мира. Предмет выступает как некое обусловленное, а условие— как относительно внешнее предмету многообразие объективного мира. - это либо строка, которая является истинной, если непустая, или набор операторов сравнения строк. Операторы могут быть =,!=,<,<=,> и >. Если вторая строка заключена в "/"(слэши), то условие истинно, если в первой строке встречается хоть одно вхождение второйВторой — второй по счёту альбом песен Владимира Высоцкого в исполнении Григория Лепса, записанный и вышедший в 2007 году строки. Можно объединять несколько операторов сравнения с помощью операторов &&(И) и ||(ИЛИ). Для группирования условий используются "()"(скобки).

Броузер:<b>
<!--#if expr="$HTTP_USER_AGENT=/Nav/ || $HTTP_USER_AGENT=/Mozilla/" -->
Netscape Navigator
<!--#elif expr="$HTTP_USER_AGENT=/MSIE/" -->
Internet Explorer
<!--#else -->
Неизвестный (<!--#echo var="HTTP_USER_AGENT" -->)
<!--#endif -->
</b>

Вывод:

БроузерВеб-обозреватель, браузер (от англ.Web browser; вариант броузер— устаревшая форма)— программное обеспечение для просмотра веб-сайтов, то есть для запроса веб-страниц (преимущественно из Сети), их обработки, вывода и перехода от одной страницы к другой.: Неизвестный (Teleport Pro/1.29.1590)

(c)Ерижоков А.А., 2000.
Использование данного документа разрешено только с согласия автора и с указанием первоисточника: DH's Linux Site

 

Мы рекомендуем еще посмотреть:

  Инновационные решения s-networks
  Версия для вывода на принтер

     Беседа с Игорем Масленниковым, директором по развитию бизнеса компании s-networks

     - Игорь, на выставке "Связь- Экспокомм" было заявлено, что компания s-networks признана лучшим дистрибьютором оборудования Cisco Systems в регионе ЕМЕА (Европа, Ближний ВостокВосток— одна из сторон света (там, где восходит Солнце в дни равноденствия). Если смотреть на север, то восток будет справа. На современных картах восток, как правило, находится справа. и Африка) в 2002 году, а также удостоена звания "Партнер Нового Мира" (New World Partner of the year) как компания, активно работающая над развитием рынков IP-телефонии и беспроводных сетей в России. В связи с этим у меня вопрос. s-networks является мультивендорной компанией, т.е. дистрибьютором нескольких вендоров, как при этом происходит выбор конкретного решения того или иного вендора для заказчика, или Вы учитываете существующую инфраструктуру самого клиента? Могли бы Вы оценить, кому из вендоров s-networks отдает большее предпочтение в работе над внесением добавленной стоимости в цену оборудования? Под добавленной стоимостью я подразумеваю различные программы обучения специалистов, курсы, консультации, пакеты готовых решений.

     - У s-networks’a, как у дистрибьютора (и в этом его особенностьОсобенность, или сингулярность в математике - это точка, в которой математический объект (обычно функция) не определён или имеет нерегулярное поведение (например, точка, в которой функция недифференцируема).), нет пересекающихся типов оборудования: сетевое оборудование - это только Cisco Systems; учрежденческие телефонные станции - только Avaya - Definity; оборудование КТ - только Intel-Dialogic и т.д. По тем технологическим направлениям, на которых мы специализируемся (IP- телефония, wireless, Call Centers), выбор, конечно, есть. И в конкретной ситуации выбор всегда делается с учетом множестваМножество— один из ключевых объектов математики, в частности, теории множеств и логики. факторов: существующей инфраструктуры, характера задачи, окупаемости, возврата инвестиций, перспективы развития и многого другого. У нас нет никакой "любви" к вендорам, которая влияла бы на принятие решения, но есть пониманиеПонимание — психологическое состояние, верное восприятие или интерпретация какого-либо события, явления, факта, принятое в определенном кругу. текущей ситуации и тенденции развития отрасли, поэтому мы всегда«Всегда» — кинофильм. Детям рекомендуется просмотр совместно с родителями. предлагаем решения, которые точно не придется завтра "относить на помойку".

     К своему делу мы относимся достаточно ответственно и "добавленную стоимость" стараемся вносить по максимуму всегда, вне зависимости от вендорной принадлежности. На примере программы курсов нашего Учебного Центра это хорошо видно.

     - В продолжение темы мультивендорности следующий вопрос. Компания s-networks получила статусСтатус— абстрактный многозначный термин, в общем смысле обозначающий совокупность стабильных значений параметров объекта или субъекта. С упрощённой точки зрения статус объекта или субъекта— это его состояние. АТР (Advanced Technology Provider) по направлению Cisco IPCC (IP Contact Center). Как Вы оцениваете востребованность российским рынком этого современного инновационного решения для построения контакт-центров, где и как долго нам ожидать первого внедрения IPCC в России?

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

     - Могли бы Вы дать краткие преимущественные характеристики решений от Avaya и от Cisco Systems? Другими словами, какому заказчику s-networks предложил бы контакт-центр Avaya, а какому IPCC? Вероятно, многое зависит от существующей инфраструктуры клиента?

     - На этот вопрос кратко отвечать нельзя. Это отдельная, большая и сложная тема. И ответа в общем виде просто не существует. Контакт-центры от Avaya и Cisco сравнивать довольно сложно по двум причинам. Первая состоит в том, что в рамках базовых функций Центров Обработки Вызовов они очень похожи и по набору функций, и по работе под нагрузкой. Вторая причина - в "IР’шной" природе IPCC и возможности поэтому делать "фокусы", которые с ЦОВ на базе Definity не сделаешь. Но "фокусы" нужны не всем, и существующую инфраструктуру зачастую ломать и выбрасывать глупо. В первом приближении возможен такой ответ: если речь идет о территориально-распределенной системе, если базовой функциональности недостаточно, - имеет смысл задуматься о IPCC. Если ЦОВ строится "с нуля" и предстоит глубокая интеграция с информационными системами заказчика - также начать лучше с обсуждения этого варианта.

     - s-networks заключил соглашение с DataVoice, производящей системы записи телефонных разговоров для телефонных сетей под управлением Cisco Call Manager. Сертифицировано ли оборудование от DataVoice?

     - Пока нет. Будет сертифицировано, если это потребуется, безусловно.

     - Что послужило поводом для заключения этого соглашения: конкретный заказ или действительно не существует разработок, территориально расположенных ближе, чем Южная Африка?

     - Готовых продуктов для записи телефонных разговоровРазговоров, Никита Владимирович (1920—1982)— советский писатель, журналист, литературный критик, поэт-переводчик. Работал специальным корреспондентом «Литературной газеты». Переводил Хикмета, Арагона. Дебют Никиты Разговорова в фантастике— рассказ «Четыре четырки» (1963), опубликованный в сборнике «Научная фантастика» издательства «Знание» и вошедший в 14 том «Библиотеки современной фантастики». Также совместно с Львом Токаревым перевёл роман Робера Мерля «Разумное животное» (27 том «Библиотеки современной фантастики»). в сетях под управлением CallManager’a очень немного. DataVoice - вполне подходящее решение как с технической, так и с финансовой точки зрения. Эта компания очень давно занимается системами записи телефонных разговоров в сетях традиционной телефонии, на базе карт Dialogic, - нам это понятно и знакомо.

     - Каковы ценовые показатели системы?

     - Ценовые показатели системыСистема (от др.-греч. — «сочетание»)— множество взаимосвязанных элементов, обособленное от среды и взаимодействующее с ней, как целое. - в пределах нормы. Цена рассчитывается, исходя из количества условных "портов" или "линий" и, в зависимости от их количества, колеблется от 300 до 800 долларов за порт.

     - Коснемся темы IP-телефонии. Компании s-networks, IPSoft и "Зенон Н.С.П." представили на выставке совместную программу "Законченное решение для начинающих провайдеров IP-телефонии и IP-connectivity" по продвижению IP-сервисов на базе оборудования Cisco Systems. Могли бы Вы назвать стоимость "порога вхождения" на рынок операторов IP-телефонии для российских компаний, и почему этот порог необходимо снижать?

     - Порога, вообще говоря, не существует. Услуги IP-телефонии можно предоставлять и на двух аналоговых телефонных линиях, с помощью двухсотдолларовой коробочки Cisco ATA-186. Можно даже с помощью одного IP-телефона открыть переговорный пункт. Но реально можно говорить о том, что типовой платформой начинающих провайдеров IP-телефонии являются или маршрутизатор Cisco серии 2600 с цифровым голосовым модулем или шлюз Cisco 5350. В конфигурацииКонфигурация — характерное взаимное положение Солнца, планет, других небесных тел Солнечной системы на небесной сфере. на один-два цифровых потока Е1 их стоимость составляет от 15 до 25 тыс. долларов. Плюс к этому потребуется биллинговая система; так IPSoft-биллинг, например, стоит 4 тысячи долларов в базовом варианте. Плюс к этому хостинг, IP-канал, трафик - это тоже стоит денег. Получается, можно говорить о том, что "типовой порог вхождения" - порядка 20-30-ти тысяч долларов.

     Идея "Законченного решения..." вовсе не в снижении этого порога, а в экономии сил и времени людей, которые решили заняться этим бизнесом. По нашему опыту, расходуются значительные душевные и интеллектуальные силы на вхождение в этот бизнесПредпринимательство, бизнес— самостоятельная, осуществляемая на свой риск деятельность, направленная на систематическое получение прибыли от пользования имуществом, продажи товаров, выполнения работ или оказания услуг лицами, зарегистрированными в этом качестве в установленном законом порядке. Эффективность предпринимательской деятельности может оцениваться не только размерами полученной прибыли, но и изменением стоимости бизнеса (рыночной стоимости предприятия, гудвилла). Предпринимательство, бизнес— важнейший атрибут рыночной экономики, пронизывающий все её институты., тратится удивительно много времени - от полугода до года на создание в голове человека, находящегося далеко от технических и организационных проблем IP-телефонии, внятного представления о том, "что, куда и как подсоединять". Если мы хотя бы пару месяцев ему сэкономим - уже будет хорошо.

     - Не приведет ли снижение "порога вхождения" к катастрофическому снижению тарифов на дальнюю связь, а, следовательно, и снижению качества услуг? Может пора задуматься о дополнительных услугах и сервисах (о добавленной стоимости), тем самым выводя IP-телефонию из разряда дешевой альтернативы в разряд мультисервисной и качественной услуги связи?

     - Тарифы и так уже ниже некуда, и это тоже тема для отдельного большого разговора. А качество тут совсем ни при чем, потому что взаимосвязь между ценой и качеством зачастую бывает очень нетривиальная, а то и отсутствует вовсе. Об этом нам всем хорошо известно из опыта. Вопрос качества, по моему убеждению, - вопросВопрос— форма мысли, выраженная в языке предложением, которое произносят или пишут, когда хотят что-нибудь спросить, то есть узнать какую-то информацию. Если вопрос произносят, то используют вопросительную интонацию, а если пишут, то в конце ставят вопросительный знак. Задающий вопрос обычно ожидает ответ. Исключение составляет риторический вопрос, на который ответ не требуется. конкурентной среды. Некачественную услугу в условиях конкуренции можно продать только один раз - больше никто не купит. И внедрять дополнительные сервисы операторов связи заставляет вовсе не любовь к клиентам.

     - В заключение нашей беседы мой последний вопрос относительно интеграции биллинговых систем "Барсум" и IPSoft. Все-таки проясните, анонсированная на выставке универсальная биллинговая система - это есть новый законченный продукт или тесная интеграция двух тарификационных систем с независимой масштабируемостью, технической поддержкой и т.д., будет ли проводиться сертификация универсальной биллинговой системы как нового тиражируемого продукта?

     - На выставке было заявлено, что первый этап интеграции систем "Барсум" и IPSoft успешно завершился созданием возможности работы биллинга IPSoft на той же программной базе, что и "Барсум", а именно: MS SQL, и возможности импорта-экспорта из IPSoft’a в "Барсум" и обратно клиентских записей. То есть уже сейчас можно пользоваться единым интерфейсом для выставления счетов клиентам, как за телефонные разговоры, так и за IP-услуги, включая IP-телефонию. Работа по дальнейшей интеграции двух систем продолжается. Сертификация нового продукта, конечно, будет проведена после его появления.

     - Благодарю Вас, Игорь, за интересную беседу.

     Опубликовано в журнале "Биллинг. Компьютерная телефония", #3, 2002.



Документы по теме   / IP-Телефония /  


2009 IT и оборудование для бизнеса, S-NETWORKS. Информационные технологии и Информационное оборудование