Как видно из вышеизложенного, работа сценария в общем случае состоит из трех частей:
1. Инициализация и обработка входных данных.
2. Основная часть работы и вывод пользователю.
3. Завершение своей работы.
При выполнении инициализации все параметры известны заранее (или их несложно узнать), а решаемые задачи более менее одинаковы для любого из сценариев. То, что выполняется на этапе обработки входящих данных, зависит от целей написания сценария. В общем случае обработка входящих данных означает их преобразование.
После инициализации работы, чтения входящих данных и их разделения на отдельные переменные, сценарий будет готов к выполнению основной части работы. В этой части работы сценарий готовит данные для вывода и шаги регламентируются не столь жестко, как на этапе инициализации. Все выполняемые действия определяются поставленными целями. Поскольку обработка данных в CGI довольно проста, а целью создания сценария почти всегда является подготовка некоторой исходящей информации, формализованные шаги обработки входящих и подготовки исходящих данных объединяются в одну фазу программы.
Вывод результатов. В простом CGI-сценарии исходящая информация представляет собой только заголовок и HTML-текст. Более сложные сценарии могут выводить только графику, графику с текстом или же вообще всю информацию, необходимую для повторного вызова сценария с некоторыми дополнительно введенными данными.
Завершение подразумевает всего лишь очистку и освобождение всех использованных ресурсов с последующим выходом из программы. Если выполнялось распределение свободной памяти или других объектов, то они должны быть освобождены. Если этого не сделать может возникнуть утечка или блокировка ресурсов всей системы и остановка работы любых других сценариев или вообще всего сервера. На большинстве платформ файлы и созданные в памяти объекты автоматически закрываются и освобождаются операционной системой после завершения использовавшего их процесса. Но и в данном случае неразумно при освобождении ресурсов целиком полагаться на операционную систему.