Последовательность действий cgi-модуля при запросах GET и POST
Исходя из разницы методов запросов GET и POST, можно определить
последовательность действий для обработки входных данных cgi-модуля
для разных типов запросов.
Для метода GET
Получить значение переменной
QUERY_STRING
Декодировать имена и их
значения (учитывая, что все
пробелы при декодировании
сервером были заменены
символом "+" и все символы
с десятичным кодом больше 128
преобразованы в символ "%"
и следующим за ним
шестнадцатеричным кодом
символа.)
Сформировать структуру
соответствия "имя -
значение" для дальнейшего
использования в cgi-модуле
Для метода POST
Получить из стандартного
входного потока CONTENT_LENGTH
символов
Декодировать имена и их
значения (учитывая, что все
пробелы при декодировании
сервером были заменены
символом "+" и все
символы с десятичным кодом
больше 128 преобразованы в
символ "%" и следующим
за ним шестнадцатеричным кодом
символа.)
Сформировать структуру
соответствия "имя -
значение" для дальнейшего
использования в cgi-модуле
Очевидно, что отличие только в
источнике данных. Поэтому, в
принципе, возможно создание
единого модуля для методов POST и GET.
Необходимо только добавить в
начало проверку значения
переменной REQUEST_METHOD для определения
метода запроса. После формирования
структуры "имя-значение" можно
приступить к решению задач, ради
которых, собственно, создавался
cgi-модуль. Понятно, что задачи,
решаемые cgi-модулем, могут быть
очень разнообразными (получение и
обработка почты, доступ к базам
данных, гостевая книга и т.д.).
Следующим важным моментом является динамическое формирование cgi-модулем
HTML-документа (оформление результата работы модуля).
Например, таблицы выборки из базы данных.
Для этого cgi-модуль должен выдать
в стандартный выходной поток заголовок состоящий из строки: Content-type: text/html и пустой строки (двух символов CR)
После этого заголовка можно давать любой текст в формате HTML.
Знаете ли Вы, что релятивизм (СТО и ОТО) не является истинной наукой? - Истинная наука обязательно опирается на причинность и законы природы, данные нам в физических явлениях (фактах). В отличие от этого СТО и ОТО построены на аксиоматических постулатах, то есть принципиально недоказуемых догматах, в которые обязаны верить последователи этих учений. То есть релятивизм есть форма религии, культа, раздуваемого политической машиной мифического авторитета Эйнштейна и верных его последователей, возводимых в ранг святых от релятивистской физики. Подробнее читайте в FAQ по эфирной физике.