Для метода GET

Для метода GET. Получить значение переменной QUERY STRING 2. Декодировать имена и их значения учитывая, что все пробелы при декодировании сервером были заменены символом и все символы с десятичным кодом больше 128 преобразованы в символ и следующим за ним шестнадцатеричным кодом символа. 3. Сформировать структуру соответствия имя - значение для дальнейшего использования в cgi-модуле 4.3.2 Для метода POST1. Получить из стандартного входного потока CONTENT LENGTH символов 2. Декодировать имена и их значения учитывая, что все пробелы при декодировании сервером были заменены символом и все символы с десятичным кодом больше 128 преобразованы в символ и следующим за ним шестнадцатеричным кодом символа. 3. Сформировать структуру соответствия имя - значение для дальнейшего использования в cgi-модуле Очевидно, что отличие только в источнике данных.

Поэтому, в принципе, возможно создание единого модуля для методов POST и GET. Необходимо только добавить в начало проверку значения переменной REQUEST METHOD для определения метода запроса.

После формирования структуры имя-значение можно приступить к решению задач, ради которых, собственно, создавался cgi-модуль.

Понятно, что задачи, решаемые cgi-модулем, могут быть очень разнообразными получение и обработка почты, доступ к базам данных, гостевая книга и т.д Следующим важным моментом является динамическое формирование cgi-модулем HTML-документа оформление результата работы модуля. Например, таблицы выборки из базы данных.

Для этого cgi-модуль должен выдать в стандартный выходной поток заголовок состоящий из строки Content-type text html и пустой строки двух символов CR После этого заголовка можно давать любой текст в формате HTML. 4.4