Використання технології SSI для створення високодинамічних web-додатків

Міністерство освіти і науки, молоді та спорту України

Київський національний торговельно-економічний університет

Кафедра кібернетики та інформаційних систем


Індивідуальне завдання з Web-дизайну

на тему:

"Використання технології SSI для створення високодинамічних web-додатків"


Роботу виконала: Дяченко Марина,

студентка I курсу, 4 групи, ФФБС


Київ 2013

План


1. Що таке SSI?

2. В яких випадках потрібно використовувати технологію SSI?

3. Особливості технології SSI

4. Директиви технології SSI

5. Web-додатки та застосування до них технології SSI

Використана література


1. Що таке SSI?


Інтернет - технології в наші дні стають все доступнішими. Відкрити свій сайт в Інтернеті може будь-хто, вибір можливостей - на будь-який смак. Можна копітко виписувати теги в "Блокноті", можна використовувати спеціальні візуальні редактори, можна просто накидати сторінку в Microsoft Word і зберегти у форматі HTML. Словом, "твори, вигадуй, пробуй!". Зовсім не обов'язково бути професійним програмістом або дизайнером, все частіше на арену Інтернету виходять аматори.

Майже кожен непрофесійний сайт починає своє існування у вигляді декількох HTML-документів, пов'язаних між собою перехресними посиланнями. Багато хто так і йдуть в такому стані в інформаційну вічність. Але деякі аматорські сайти все ж стає популярними. Іноді розростаються до десятків і навіть сотень сторінок. Але по суті своїй залишаються набором раз і назавжди сформованих документів.

Сторінка, як правило, складається з декількох блоків, причому частина з них незмінна для всіх сторінок сайту. Це заголовок, навігаційне меню, рекламний блок, підвал сторінки. Якщо щось захочеться змінити в одному з таких постійних блоків, це доведеться вручну зробити на кожній сторінці сайту. Задоволення вельми сумнівне. Часто цікаві ідеї залишаються нереалізованими саме через великий обсяг редагування десятків окремих сторінок. SSI дозволяє значно полегшити цю роботу. Крім того, технологія SSI дозволяє робити ще дещо, принципово не здійсненне засобами HTML. Використовувати SSI просто, хоча знання мови HTML дуже допоможе.

Перш за все, абревіатура SSI розшифровується як Server Side Includes, тобто "включення на стороні сервера". Отже SSI - це директиви, що вставляються в HTML-код і керуючі web-сервером, тобто технологія, що дає можливість реалізувати такі можливості, як висновок у документі того чи іншого тексту залежно від певних умов або згідно з заданим алгоритмом, формувати файл HTML з фрагментів, що динамічно змінюються, або вбудовувати результат роботи CGI у певній його ділянці.


2. В яких випадках потрібно використовувати технологію SSI?


Область застосування SSI досить широка, цю технологію використовують для автоматичного додавання на веб-сторінку вмісту іншого файлу, виведення значень змінних оточення, вбудовування результату виконання CGI-програм і т.д. Одразу слід обумовити, що досить складний сайт краще цілком робити з використанням серверної мови програмування або скористатися готовою автоматизованою системою з управління змісту сайту. SSI ж в основному застосовується для HTML-документів, щоб спростити процес їх створення і розширити можливості. У той же час, поняття "складний сайт" досить розмито, так що можна зробити цілком цікавий і корисний ресурс винятково за допомогою HTML і SSI. Додавання на веб-сторінку вмісту іншого файлу

Основна перевага SSI полягає в тому, що ця технологія дозволяє вставляти вміст текстового документа або HTML-файлу в поточну веб-сторінку. У разі додавання текстового файлу, його вміст вставляється без всякого форматування. Для HTML-документа форматування зберігається, включаючи текст і теги. Як правило, код HTML веб-сторінок на сайті має повторювану структуру. Наприклад, верхня частина ("шапка") і нижня частина ("підвал") для всіх веб-сторінок залишаються зазвичай незмінними.


3. Особливості технології SSI


Щоб детальніше розібратись з вище поставленим питанням, необхідно розглянути певні особливості SSI, отже, для того щоб сервер знав, що сторінка містить SSI-вставки, вона повинна мати спеціальне розширення: *. Shtml або *. Shtm, хоча це визначається конфігурацією сервера. Найчастіше застосовується саме *. Shtml. Про те, що сервер підтримує SSI, зазвичай повідомляється в описі хостингу або тарифу.

Отже, чим же SSI може допомогти при супроводі сайту? Основне полягає в наступному. Будь-який фрагмент, який повторюється на кількох сторінках, ми можемо зберігати на сервері в єдиному екземплярі! Для цього помістимо цей фрагмент в окремий файл, наприклад fragment.html. У цьому файлі не потрібні <html>, <body> та інші атрибути "повноцінного" html-документа. Там повинен бути тільки сам фрагмент коду, який потім буде вставлений на своє місце.

Тепер в будь-якому місці будь-якої сторінки сайту, де цей фрагмент знадобиться, ми пишемо SSI-вставку:


<! - # Include file = "fragment.html" - >


Файл повинен знаходитися в тому ж каталозі, що і основний файл. Якщо потрібно винести всі файли-вставки в окремий каталог, то доведеться використовувати іншу команду, в якій вказується повний шлях до файлу фрагмента щодо поточного каталогу:


<! - # Include virtual = "/ catalog / fragment.html" - >


Таким чином, в основному файлі можна залишити тільки основу (макет) сторінки, наприклад каркасну таблицю і основний текст, а всі постійні блоки додавати через SSI-вставки. Повна сторінка буде формуватися web-сервером "на льоту", ніби з окремих цеглинок. Тим не менш, користувачеві на комп'ютер прийде повна сторінка, без найменших ознак використання SSI. Якщо ви зміните щось у фрагменті, це автоматично відобразиться на всіх сторінках, де він використовується.

Коли сайт вже сформований, доведеться витратити якийсь час, переписуючи сторінки під SSI. Але ця робота себе виправдає. Єдиний недолік - ви не зможете переглянути сайт на своєму комп'ютері. Тобто побачити його можна, але все SSI-вставки будуть пропущені. Браузер інтерпретує їх як коментарі і просто ігнорує. Для налагодження доведеться ставити локальний web-сервер. Але це не така вже велика незручність.

Перейдемо до інших можливостей SSI, які принципово недоступні HTML.

За допомогою SSI можна отримувати доступ до деяких спеціальних значень, які називаються змінними оточення. Наприклад, змінна HTTP_USER_AGENT містить ідентифікатор використовуваного браузера та операційної системи, а REMOTE_ADDR - IP-адреса відвідувача сайту. Отримати список всіх змінних оточення можна SSI-директивою:


<! - # Printenv - >


Позитивним є те, що SSI-директиви містять у собі конструкцію if / else. Повний її синтаксис такий:


<! - # If expr = "УСЛОВІЕ1" - >код, який буде виводитися, якщо УСЛОВІЕ1 істинно

< - # Elif expr = "УСЛОВІЕ2" - >код, який буде виводитися, якщо УСЛОВІЕ1 помилково, а УСЛОВІЕ2 істинно

< - # Else - >код, який буде виводитися, якщо всі умови помилкові

< - # Endif - >


Ми можемо перевіряти версію браузера користувача і видавати йому найбільш підходящий html-код.

Щоб підтримувати статус сайту і сталу кількість користувачів потрібно наприклад, хоча б змінювати рекламний блок на сторінці, видаючи різним відвідувачам різну інформацію. Ось в цьому нам і допоможе SSI-директива if / else. Для цього потрібно тільки підібрати відповідну умову. Найбільш просто прив'язатися до годинників сервера - адже час постійно змінюється. Дістатися до годин сервера напряму не вийде, тому використовуємо змінну оточення DATE_GMT. У списку форматів часу використовуємо "% S" - лише секунди. Тепер в нашому розпорядженні є все необхідне. Вставляємо SSI-код:


<! - # Config timefmt = "% S" - >

<! - # If expr = " ($ DATE_GMT <20)" - >

Рекламний блок 1

<! - # Elif expr = " ($ DATE_GMT <40)" - >

Рекламний блок 2

<! - # Else - >

Рекламний блок 3

<! - # Endif - >


У нас вийшов рекламний блок, який змінюється три рази в хвилину. Відвідувачі на сайт заходять безсистемно, тому можна вважати, що кожен отримує випадкову рекламу. Кількість умов можна збільшити, хоч по одному на кожну секунду. А можна використовувати формат "% M" і змінювати рекламу кілька разів на годину.

Рішення про те, коли використовувати SSI, і коли сторінка повністю генерується програмою, складається зазвичай у питанні про те, наскільки сторінка є статичною, і скільки разів необхідно проводити повторну оцінку, коли звертаються до сторінки. Технологія SSI чудовий спосіб для додавання маленьких шматочків інформації, наприклад, поточного часу. Однак, якщо велика частина сторінки генерується під час звернення до неї, то краще пошукати інше рішення.

4. Директиви технології SSI


Існують такі SSI-директиви:var - виводить значення змінної оточення

<! - # echo var="REMOTE_ADDR" - > - виводить IP користувача

<! - #echo var="HTTP_USER_AGENT" - > - виводить браузер користувача

<! - #echo var="SERVER_NAME" - > - виводить імя сервера

<! - #echo var="HTTP_REFERER" - > - виводить адресу сторінки, з якої користувач перейшов на поточнуfile або include virtual - вставляє вміст вказаного файлу в html-сторінку

<! - #include file={назва файлу} - > - вставляє лише ті файли, які знаходяться у тій же директорії, що й вебсторінка

<! - #include file={віртуальна адреса файлу}/{назва файлу} - > - вставляє файли, які знаходяться у іншій директоріїfile - вставляє розмір вказаного файлу

<! - #fsize file="{назва файлу}" - >file - вставляє дату останньої модифікації вказаного файлу

<! - #flastmod file="{назва файлу}" - >cmd - запускає зовнішню команду

<! - #exec cmd="{команда}" - > - фактично виконує команди через командну стрічку, наприклад <! - #exec cmd="ls - lsa" - >cgi - запускає зовнішній CGI-скрипт

<! - #exec cgi="{шлях до файлу}/{назва файлу. cgi}" - > - може використовуватися не лише з CGI-скриптом, але й з будь-яким іншимerrmsg - замінює стандартне повідомлення про помилку на повідомлення, введене користувачем

<! - #config errmsg="{нове повідомлення про помилку}" - > - повідомлення про помилку виникає при неправильному виконанні SSI-директиви і виводиться на сторінці у вигляді тексту, замість виконаної директивиsizeftm - змінює формат виведення розміру файлу

<! - #config sizefmt="{параметр}" - >

допустимі параметри:- виводить розмір файлу у кілобайтах- виводить розмір файлу у байтахtimeftm - змінює формат виведення дати і часу

<! - #config timefmt="{параметр}" - >

допустимі параметри:

%a - абревіатура назви дня тижня

%A - повна назва дня тижня

%b - абревіатура назви місяця

%B - повна назва місяця

%d - день місяця двома цифрами, тобто замість "1" виводиться "01"

%D - дата в форматі "місяць/день/рік", тобто "%m/%d/%y"

%e - день місяця у форматі "1", без "0" на початку

%H - години в форматі 24

%I - години в форматі 12

%j - день року

%m - номер місяця

%M - хвилини

%p - виводить "am або "pm, в залежності від половини доби

%r - час у форматі "години в форматі 12/хвилини/секунди" тобто "%I/%M/%S"

%S - секунди

%s - час в секундах з 01.01.1970

%T - час у форматі "години в форматі 12/хвилини/секунди тобто "%H/%M/%S

%U - тиждень року

%w - номер дня тижня

%y - рік у форматі РР

%Y - вік у форматі РРРР

%Z - часова зона- виводить всі змінні оточення

<! - #printenv - > - ця директива параметрів не маєvar - встановлює значення змінної оточення

<! - #set var="{імя змінної}" value="{значення}" - -> - наприклад <! - #set var="SERVER_NAME" value="www.dhls.ru" - >/else - виводить сторінку за вказаних умов

<! - #if expr="{умова1}" - > {html-код} - html-код виконується, якщо умова1 = true < - #elif expr="{умова2}" - > { html-код } - html-код виконується, якщо умова1 = false, а умова1 = true < - #else - > { html-код } - html-код виконується, якщо перші дві умови = false < - #endif - >


5. Web-додатки та застосування до них технології SSI


Web-додаток - це клієнт-серверний додаток, в якому клієнтом виступає браузер, а сервером - веб-сервер. Логіка веб-додатків розподілена між сервером і клієнтом, зберігання даних здійснюється, переважно, на сервері, обмін інформацією відбувається по мережі. Одним з переваг такого підходу є той факт, що клієнти не залежать від конкретної операційної системи користувача, тому веб-додатки є міжплатформними сервісами. Згідно з означення і певних теоретичних знань, можна виділити певні "+" додатків:

Додаток знаходиться в одному місці;

-Користувачеві не потрібна ніяка програма;

Користувач не є адміністратором;

У ролі адміністратора виступає розробник додатку;

Додаток не вимагає нічого від користувача

Простота і надійність тощо.

За допомогою SSI-директив можна створювати динамічні веб-сторінки, виводити на екран поточну дату, відомості про користувача і т.д.

Підтримка сервером провайдера SSI (Server Side Includes, вставки на стороні сервера). Використання SSI дозволяє Web-серверу вставляти невеликі обсяги динамічних даних безпосередньо в HTML-документ, що пересилає користувачеві. Запитана HTML-сторінка "проглядається" у пошуках елементів SSI. Виявивши такий елемент, сервер вставляє необхідну динамічну інформацію. За допомогою SSI можна включати один файл до складу іншого, виконувати CGI-сценарії й передавати іншу інформацію. Необхідно уточнити, які саме функції SSI підтримуються на сервері провайдера.

Переваги SSI проявляються, коли нам потрібно підтримувати досить великий за обсягом сайт, що має певну структуру й повторювані елементи коду на всіх сторінках.

web додаток директива програма

Використана література


1.Підручник Б. Леонтьев Web-дизайн тонкости, хитрости и секреты 640 ст.

2.http://fcss. ukma. kiev.ua/courses/IN. B.24/_2011/grp6/_2/ref/ref.html <http://fcss.ukma.kiev.ua/courses/IN.B.24/_2011/grp6/_2/ref/ref.html> (Мова для динамічної збірки веб сторінок SSI (server side includes))

.http://citforum.ru/internet/html/ssi_exmpl. shtml <http://citforum.ru/internet/html/ssi_exmpl.shtml> (SSI в примерах)

.http://do. bti. secna.ru/lib/book/p_11.html <http://do.bti.secna.ru/lib/book/p_11.html> (технология SSI в примерах)

.uk. wikipedia.org/wiki/SSI (SSI)


Теги: Використання технології SSI для створення високодинамічних web-додатків  Реферат  Информационное обеспечение, программирование
Просмотров: 37796
Найти в Wikkipedia статьи с фразой: Використання технології SSI для створення високодинамічних web-додатків
Назад