Page 195 - 4785
P. 195
5. Завершення програми.
Відмінності між CGI-сценарієм і консольним додатком
стосуються першого, другого і четвертого етапів виконання.
Щоразу, коли веб-сервер отримує запит від клієнта, він
аналізує вміст запиту і повертає відповідний відповідь:
- якщо запит містить вказівку на файл, що знаходиться на
жорсткому диску, то сервер повертає в складі відповіді
цей файл;
- якщо запит містить вказівку на програму і необхідні для
неї аргументи, то сервер виконує програму і результат її
роботи повертає клієнту.
CGI визначає:
- яким чином інформація про сервер і запиті клієнта
передається програмі в формі аргументів і змінних
оточення;
- яким чином програма може передавати назад додаткову
інформацію про результати (наприклад про тип даних) у
формі заголовків відповіді сервера.
У переважній більшості випадків запуск CGI-сценарію
здійснюється клацанням на кнопці Submit, сформованої за
допомогою дескриптора <input тyре = "submit">, який знаходиться
на HTML-сторінці між <form> і </ form>. Не знаючи призначення
атрибутів action і method, неможливо зрозуміти, як відбувається
виклик програми і передача параметрів.
Значенням атрибута action дескриптора <form> є URL файлу,
що містить код CGI-сценарію. Так, наведене нижче вираз означає,
що файл з кодом CGI-сценарію знаходиться на сервері
www.myhp.edu в каталозі cgi-bin в файлі script.рl.
<form action = "http://www.myhp.edu/cgi-bin/script.pl" method
= "post">
Як веб-сервер розрізняє, що треба зробити з файлом, на який
вказує URL, - передати його вміст клієнтові або запустити файл на
виконання? Існує два способи розпізнавання файлів, що містять
тексти CGI-сценаріїв.
- перший спосіб полягає в тому, що при установці веб-
сервера один з каталогів спеціально виділяється для
зберігання сценаріїв. Зазвичай такий каталог отримує
193