logo search
ІНТЕРНЕТ В БІЗНЕСІ

5. Додатки cgi

До дійсного моменту ми розповідали вам про те, як розмістити в документах HTML різноманітну статичну інформацію. Статичну в тому змісті, що вона не змінюється в часу без втручання адміністратора серверу WWW. Якщо сервер WWW містить тільки статичні документи HTML, те такий сервер ми будемо називати статичним або пасивним.

Поза всяким сумнівом, пасивні сервери дуже потрібні, тому що далеко не всяка інформація змінюється динамічно. Проте є додатки, у яких потрібні сервери, що не відображають просто мультимедийную інформацію, але і спроможні звістки діалог із користувачем в інтерактивному режимі, виконувати обертання до баз даних, а також чинити іншу аналогічну роботу. Наприклад, якщо навіть інформація зі свого характеру є статичної, але її обсяг надзвичайно великий, пошук по гипертекстовым посиланнях може відняти занадто багато часу. Було б зручніше в цьому випадку організувати запитальний режим для пошуку по ключових словах.

Сервери, що ведуть діалог із віддаленим користувачем або виконують опрацювання даних користувача, ми будемо називати активними.

Найбільше відомий засіб створення активних серверів WWW полягає у використанні так називаних додатків CGI. У вітчизняній літературі, присвяченої серверам WWW, часто зустрічається транслітерація CGI-скрипты, що відбулася від оригінального терміна CGI Scripts.

Що криється за абревіатурою CGI?

CGI - це стандартний шлюзовий інтерфейс (Common Gateway Interface) для запуску зовнішніх програм під керуванням серверу WWW. Відповідно додатками CGI називаються програми, що, користуючи цим інтерфейсом, одержують через протокол HTTP інформацію від віддаленого користувача, опрацьовують її і повертають результат опрацювання обернено у виді посилання на вже існуючий документ HTML або інший об'єкт (наприклад, графічне зображення) або у виді документа HTML, створеного динамічно.

Передача інформації від віддаленого користувача додатку CGI звичайно виконується в такий спосіб.

У документі HTML, що створюється для запровадження інформації, призначеної для опрацювання, розміщається форма запровадження. Ця форма складається з необхідних органів керування: поляж редагування текстової інформації, перемикачів, списків і т.д. Більше усього форма запровадження схоже на звичні вам діалогові панелі операційної системи Microsoft Windows. Кожному органу керування присвоюється довільне ім'я. Крім того, у цій формі повинна бути кнопка, що варто натиснути після заповнення форми.

Коли користувач заповнює форму і натискає зазначену кнопку, дані передаються додатку CGI, шлях до якого задається в заголовку форми. Цей додаток одержує через протокол HTTP дані з полів форми у виді пар значень ім'я поля/значення.

Після опрацювання отриманих даних додаток CGI створює документ HTML і записує його в стандартний устрій висновка stdout. Цей документ автоматично передається віддаленому користувачу.

Всі описані процедури ми роздивимося в цій главі більш докладно. Крім того, ми призведемо вихідні тексти різноманітних додатків CGI. Зауважимо, що можливі й інші сценарії роботи з програмами CGI.

Тому що додаток CGI є не чим іншим, як програмою, ви повинні оттранслировать її для тієї операційної системи, під керуванням якої працює ваш сервер WWW. У деяких випадках ви можете знайти більш зручним створювати програми CGI із використанням спеціально призначених для цього інтерпретаторів, таких, як Peri, або мови пакетних завдань. Наприклад, ви можете створити програму CGI для серверу Microsoft Information Server як звичайний пакетний файл *. bat. У нашій книзі ми сконцентруємо увагу на використанні для створення програм CGI мобільної мови програмування С. Транслятор цієї мови ви можете знайти в будь-який операційній системі.