Индустрия программирования

Стандартные интерфейсы WWW серверов



Для организации передачи данных из HTML документа технология WWW серверов использует
CGI интерфейс обмена данными между сервером и приложением-обработчиком(в Windows
подобных операционных системах это Windows CGI интерфейс). При переходе по гиперсвязи из
гипертекстового HTML документа адрес гиперузла вместе с необходимой дополнительной
информацией передается от клиента к WWW серверу. WWW сервер анализирует тип документа ,
который находится в указанном узле и либо сразу после некоторой обработки передает документ
клиенту, либо, если в узле находится документ с MIME типом "application/...", то запускает это
приложение на исполнение и затем возвращает результаты работы этого приложения клиенту. При
запуске приложения приложению передается информация о клиенте и информация, получаемая из
HTML документа клиента, например из объектов диалога, обозначаемых тэгом FORM.

Операционная система Windows не имеет собственного командного интерпретатора, поэтому
обработчик должен быть исполняемой программы. Для упрощения интерфейса и минимизации


программирования используется интерфейс обмена данными через файлы, что является подходом
противоположным подходу DDE. Выбор такого способа обмена объясняется необходимостью
обеспечения одновременного подключения к серверу большого количества клиентских программ
при минимальных ограничениях на количество доступной оперативной памяти. Данные,
необходимые обработчику помещаются в специальный входной файл, результаты выполнения
записываются в специальный выходной файл, который затем считывается WWW сервером.

Информация в выходном файле начинается с указания MIME типа, которому она
соответствует.

WWW сервер использует сервис WinExec() для запуска программы-обработчика. Сервер
поддерживает синхронизацию с обработчиком, несмотря на то, что WinExec() запускает
приложения асинхронно, таким образом сервер может определить момент окончания исполнения
обработчика.

Сервер запускает обработчик с помощью WinExec() с командной строкой следующего вида:
обработчик файл-данных-CGI файл-контекста
выходной-файл URL-аргументы
, где файл-данных-CGI - файл, в который сервер
записывает служебную информацию, файл-контекста - файл, в который сервер
записывает данные, введенные пользователем в HTML документ, выходной-файл -
файл, в который обработчик должен записать результаты работы, URL-аргументы -
все, что следует за '?' в URL запросе.

Windows-сервер передает данные программе обработчику через Windows "private profile" файл в
формате пар ключ-значение.

Файл CGI данных содержит следующие разделы:
  • [CGI]
  • [Accept]
  • [System]
  • [Extra Headers]
  • [Form Literal]
  • [Form External]
  • [Form Huge]




Содержание раздела