Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабы / ИТСлаб8.doc
Скачиваний:
45
Добавлен:
16.04.2013
Размер:
390.66 Кб
Скачать

4. Особенности использования web-сервера WebApp

На WWW-сервере в корневой папке для каждого студента создана отдельная личная папка, в которую он помещает разрабатываемые web-приложения и HTML-документы. Имя личной папки совпадает с регистрационным именем студента на ВЦ МИЭТ и указывается в URL для ссылки на размещенные в ней информационные ресурсы при обращении к web-серверу.

Для записи этих ресурсов в личную папку на WWW-сервере студент должен подключиться к ней с помощью команды

connect_webapp <регистрационное имя> (например, connect_webapp u253344),

которая вводится в окне Запуск программы, активизируемом из стартового меню Windows командой Пуск | Выполнить. В результате в локальной сети становится доступным виртуальное устройство W, представляющее личную папку студента на WWW-сервере. Информация, записываемая на устройство W, оказывается в личной папке студента.

После окончания лабораторной работы следует скопировать все файлы с виртуального устройства W на личный диск Н для их надежной сохранности.

Для проведения лабораторной работы на WWW-сервере установлена учебная база данных с пседонимом Zgrad, в которой содержаться сведения о жителях Зеленограда. Для доступа к базе данных используется ядро процессора баз данных BDE, также установленное на WWW-сервере.

5. Разработка cgi-приложений

Чтобы создать CGI-приложение, необходимо решить две основные задачи: разработать web-интерфейс и разработать программу (web-приложение), которая принимает запрос пользователя и осуществляет его выполнение.

Для разработки web-интерфейса достаточно знать основы языка HTML, изложенные в разделе 2.

Различают два типа CGI-приложений: стандартное или консольное CGI-приложение, в котjром передача данных производится через переменные окружения выполняющейся программы, и приложение WinCGI (версия CGI для Windows), в котором обмен данными осуществляется через INI-файл. В лабораторной работе рассматривается первый тип CGI-приложений.

Для разработки консольного CGI-приложения не требуется никаких специальных средств. Для вывода результатов выполнения этого приложения используются обычные процедуры вывода информации на консоль. В языке C это стандартные функции printf, cprintf, puts и другие. Однако выводимая таким образом информация должна соответствовать протоколу HTTP, используемому на уровне приложений и обеспечивающему обмен только текстовой информацией.

Для передачи двоичных файлов по протоколу HTTP используется спецификация MIME (Multipurpose Internet Mail Extention). Согласно спецификации MIME, формат данных описывается следующим образом:

<Тип>/<подтип>

<Тип> определяет, какого рода информация содержится в двоичном файле (текст, приложение, изображение, видеозапись и т.п.), а <подтип> - формат файла.

Сеанс взаимодействия с web-сервером по протоколу HTTP в общем виде состоит из таких шагов:

  1. установление соединения;

  2. передача запроса клиента и прием его сервером;

  3. подготовка ответа сервера и передача его клиенту;

  4. разрыв соединения.

Запрос клиента представляет собой требование на передачу HTML-документа или какого-либо другого ресурса. Ответ сервера содержит запрашиваемый ресурс. С точки зрения web-приложения структура ответа более важна, чем структура запроса, поскольку выполняющиеся на сервере программы должны сами формировать ответ сервера клиенту.

Основные компоненты ответа сервера аналогичны компонентам запроса клиента и в себя включают следующие элементы:

  1. строку состояния;

  2. поля заголовка;

  3. пустую строку;

  4. тело ответа.

Строка состояния имеет следующий формат:

версия протокола код ответа пояснения

Здесь:

1) версия протокола задает в формате HTTP/версия. Например, при использовании версии HTTP 1.0 этот элемент выглядит так: HTTP/1.0;

2) код ответа представляет собой трехзначное десятичное число, обозначающее результат обработки запроса клиента сервером;

  1. пояснения расшифровывают код ответа в символьном виде.

Поля заголовка в ответе сервера имеют такой формат:

имя поля : значение

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

Content-Type: text/html

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

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

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

Соседние файлы в папке лабы