Электронная библиотека книг Александра Фролова и Григория Фролова.
Shop2You.ru Создайте свой интернет-магазин
Библиотека
Братьев
Фроловых

Сервер Web своими руками. Язык HTML, приложения CGI и ISAPI, установка серверов Web для Windows

© Александр Фролов, Григорий Фролов
Том 29, М.: Диалог-МИФИ, 1997, 288 стр.

[Назад] [Содеожание] [Дальше]

Передача ответа из программы CGI

Вне зависимости от использованного метода передачи данных (GET или POST) результат своей работы программа CGI должна направить в стандартный поток вывода STDOUT. Если программа составлена на языке программирования C, для записи результат работы она может воспользоваться, например, функцией printf или fwrite.

Чаще всего программы CGI используются для создания динамических документов HTML на основе данных, полученных из формы. В этом случае первой строкой, которую необходимо вывести в стандартный поток вывода STDOUT, должна быть следующая строка заголовка HTTP:


Content-type: text/html

Сразу за этой строкой необходимо вывести еще одну пустую строку, которая послужит разделителем между заголовком HTTP и данными документа HTML.

Ниже мы привели фрагмент кода, в котором программа CGI динамически формирует документ HTML и выводит его в стандартный поток вывода STDOUT:


printf("Content-type: text/html\n\n");
printf("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2//EN\">");
printf("<HTML><HEAD><TITLE>XYZ Incorporation</TITLE></HEAD>"
  "<BODY BGCOLOR=#FFFFFF>");
printf("<H1>Результаты обработки формы</H1>");
. . .
printf("</BODY></HTML>");

Обратите внимание на символы перевода строки “\n\n”. Первый из них закрывает строку заголовка HTTP, а второй нужен для создания пустой разделительной строки.

[Назад] [Содеожание] [Дальше]