Page 196 - 4785
P. 196
ім'я cgi-bin (або Scripts для веб-сервера IIS). В цьому
випадку, якщо клієнт запитує файл з каталогу cgi-bin,
сервер сприймає такий запит як команду на запуск
сценарію. Файли з інших каталогів інтерпретуються як
HTML-документи;
- другий спосіб використовує розширення файлу. При
налаштуванні сервера вказується, що файли з певними
розширеннями містять коди сценаріїв.
Ідентифікація по розширенню використовується відносно
рідко. Найчастіше всі сценарії поміщаються в / cgi-bin, / Scripts або в
інший каталог, спеціально виділений для їх зберігання.
Висновок результатів виконання CGI-сценарію здійснюється
надзвичайно просто. Для того щоб дані були передані клієнту,
достатньо вивести їх в стандартний вихідний потік. Однак,
розробляючи CGI-сценарій, не слід забувати про те, що він все ж
відрізняється від консольної програми і має такі особливості.
Інформація, передана клієнту, повинна відповідати
протоколу HTTP, тобто складатися з заголовка і тіла відповіді. Як
правило, отримавши дані від сценарію, сервер самостійно додає
перший рядок заголовка.
HTTP / 1.0 200 OK
Формування інформаційних полів, що входять до складу
заголовка, - завдання сценарію. Щоб дані, передані сценарієм, були
правильно інтерпретовані клієнтом, необхідно, щоб в заголовку
було присутнє як мінімум поле Content-type. За заголовком повинна
слідувати порожній рядок. При відсутності полів заголовка реакція
браузера буде непередбачуваною. В подібних випадках браузер
зазвичай намагається відобразити отриману інформацію як
текстовий файл.
Найприродніший формат для браузера - формат HTML.
Результати роботи сценарію зазвичай оформляються у вигляді веб-
сторінки, тобто повертаються дані слід доповнити дескрипторами
HTML. Таким чином, відповідь CGI-сценарію клієнту зазвичай
виглядає так:
<form method="post" action="/cgi-bin/hello.exe">
<input type="submit">
194