Этапы работы сценария.

Как видно из вышеизложенного, работа сценария в общем случае со­стоит из трех частей:

1. Инициализация и обработка входных данных.

2. Основная часть работы и вывод пользователю.

3. Завершение своей работы.

При выполнении инициализации все параметры известны заранее (или их несложно узнать), а решаемые задачи более менее одинаковы для любого из сценариев. То, что выполняется на этапе обработки входящих дан­ных, зависит от целей написания сценария. В общем случае обработка вхо­дящих данных означает их преобразование.

После инициализации работы, чтения входящих данных и их разделе­ния на отдельные переменные, сценарий будет готов к выполнению основной части работы. В этой части работы сценарий готовит данные для вывода и шаги регламентируются не столь жестко, как на этапе инициализации. Все выполняемые действия определяются поставленными целями. Поскольку обработка данных в CGI довольно проста, а целью создания сценария почти всегда является подготовка некоторой исходящей информации, формализо­ванные шаги обработки входящих и подготовки исходящих данных объеди­няются в одну фазу программы.

Вывод результатов. В простом CGI-сценарии исходящая информация представляет собой только заголовок и HTML-текст. Более сложные сцена­рии могут выводить только графику, графику с текстом или же вообще всю информацию, необходимую для повторного вызова сценария с некоторыми дополнительно введенными данными.

Завершение подразумевает всего лишь очистку и освобождение всех использованных ресурсов с последующим выходом из программы. Если вы­полнялось распределение свободной памяти или других объек­тов, то они должны быть освобождены. Если этого не сделать может возник­нуть утечка или блокировка ресурсов всей системы и остановка работы лю­бых других сценариев или вообще всего сервера. На большинстве платформ файлы и созданные в памяти объекты автоматически закрываются и освобо­ждаются операционной системой после завершения использовавшего их про­цесса. Но и в данном случае неразумно при освобождении ресурсов целиком полагаться на операционную систему.