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
   190   191   192   193   194   195   196   197   198   199   200