Читать реферат по информатике, вычислительной технике, телекоммуникациям: "Использование CGI при создании интерактивных интерфейсов" Страница 4
строки
СGI-модуль в командной строке от сервера получает:
остаток URL после имени cgi-модуля в качестве первого параметра (первый параметр будет пуст, если присутствовало только имя cgi-модуля), исписок ключевых слов в качестве остатка командной строки для скрипта поиска, иличередующиеся имена полей формы с добавленным знаком равенства и соответствующих значений переменных.
Ключевые слова, имена и значения полей формы передаются декодированными (из HTTP URL формата кодирования) и перекодированными в соответствии с правилами кодирования Bourne shell так, что cgi-модуль в командной строке получит информацию без необходимости осуществлять дополнительные преобразования.
4.3 Последовательность действий для обработки входных данных cgi-модуля для разных методов запроса GET и POSTИсходя из разницы методов запросов GET и POST, можно определить последовательность действий для обработки входных данных cgi-модуля для разных типов запросов.
4.3.1 Для метода GETПолучить значение переменной QUERY_STRINGДекодировать имена и их значения (учитывая, что все пробелы при декодировании сервером были заменены символом "+" и все символы с десятичным кодом больше 128 преобразованы в символ "%" и следующим за ним шестнадцатеричным кодом символа.)Сформировать структуру соответствия "имя - значение" для дальнейшего использования в cgi-модуле
Получить из стандартного входного потока CONTENT_LENGTH символовДекодировать имена и их значения (учитывая, что все пробелы при декодировании сервером были заменены символом "+" и все символы с десятичным кодом больше 128 преобразованы в символ "%" и следующим за ним шестнадцатеричным кодом символа.)Сформировать структуру соответствия "имя - значение" для дальнейшего использования в cgi-модуле
Очевидно, что отличие только в источнике данных. Поэтому, в принципе, возможно создание единого модуля для методов POST и GET. Необходимо только добавить в начало проверку значения переменной REQUEST_METHOD для определения метода запроса. После формирования структуры "имя-значение" можно приступить к решению задач, ради которых, собственно, создавался cgi-модуль. Понятно, что задачи, решаемые cgi-модулем, могут быть очень разнообразными (получение и обработка почты, доступ к базам данных, гостевая книга и т.д.).
Следующим важным моментом является динамическое формирование cgi-модулем HTML-документа (оформление результата работы модуля). Например, таблицы выборки из базы данных.
Для этого cgi-модуль должен выдать в стандартный выходной поток заголовок состоящий из строки: Content-type: text/html и пустой строки (двух символов CR)
После этого заголовка можно давать любой текст в формате HTML.
4.4 Примеры cgi-модулейВ качестве примера рассмотрим работу тестовых программ поставляющихся вместе с программным обеспечением сервера НТТРD стандарта NCSA.
Для тестирования работы форм поставляются программы : post-query - для тестирования работы форм с методом запроса POST query - для тестирования работы форм с методом запроса GET util.c - описание функций для обработки входного потока (используется query и post-query).
Рассмотрим простой пример формы на языке HTML использующую программу query.
Введите свое имя(Фамилию Имя Отчество):
Пол: - мужской -женский
Похожие работы
Интересная статья: Быстрое написание курсовой работы

(Назад)
(Cкачать работу)