Технология разработки web-приложений, страница 9

Для нас наиболее важным является поле Content-Type - MIME-тип данных, содержащихся в теле ответа сервера. В этом поле указывается способ обработки ресурса, полученного клиентом. Если ресурсом является HTML-документ, то поле задает значение формата данных в таком виде:

Content-Type: text/html

Поля заголовка отделяется от тела ответа пустой строкой.

В теле ответа содержится передаваемый клиенту ресурс, который может быть HTML-документ или любой другой ресурс.

В формировании описанных компонентов ответа сервера участвует как CGI-приложение, так и web-сервер: строка состояния генерируется web-сервером, а поля заголовка, пустая строка и тело ответа формируются CGI-приложением.

5.1. Простейшее CGI-приложение

Создадим в Borland C++ Builder CGI-приложение, результатом выполнения которого будет HTML-документ, выводящий в окно браузера сообщение MyfirstCGI-application.

1. Выберите в главном меню Borland C++ Builder команду File | New, а в открывшемся окне на закладке New двойным щелчком мыши выберите значок Console Wizard, чтобы создать консольное приложение.  В появившемся окне установите флаг «Console Application», а остальные сбросьте. Нажмите «OK».

2. Выберите в главном меню команду Project | Options. В открывшемся окне перейдите на закладку Application. Введите в поле Target file extension «cgi», задав тем самым расширение имени файла с откомпилированным приложением. Нажмите «OK». Затем в раздел операторов функции main введите операторы, формирующие поле заголовка Content-Type, пустую строку и тело ответа с операторами языка HTML:

#include <stdio.h>

#include <conio.h>

#pragma hdrstop

#pragma argsused

int main(int argc, char* argv[])

{

  // Формируем поле заголовка Content-Type

  printf("Content-Type: text/html\n");

  // Формируем пустую строку,отделяющую

  // заголовок от тела ответа

  printf ("\n");

  // Построчно формируем HTML-документ

  printf("<HTML>\n");

  printf("<HEAD>\n");

  printf("<TITLE>Example of CGI-application</TITLE>\n");