Сетевые технологии. Баканов В.М. - 13 стр.

UptoLike

Составители: 

- 13 -
Таблица 1.— Сравнение технологий CGI и ISAPI: достоинства и
недостатки.
Технология Достоинства Недостатки
CGI
1. Значительно проще програм-
мировать и отлаживать
2. В случае сбоя или аварийного
завершения скрипта программа-
сервер продолжает успешно
функционировать
В случае одновременного много-
кратного вызова CGI-скрипта в
ОП загружается и выполняется
соответствующее число экземп-
ляров программы
ISAPI
В случае одновременного много-
кратного вызова ISAPI-скрипта
инициализируется и выполняется
единственный его экземпляр
1. Программирование и (особен-
но) отладка затруднены
2. В случае сбоя или аварийного
завершения скрипта программа-
сервер также аварийно заверша-
ется
Простейшим CGI-приложением может являться, например, DOS-пакетный
файл. Например, нижеследующий BAT-файл возвращает (в поток
stdout) кли-
ентскому приложению 3 переданных серверу параметра и значения всех оп-
ределенных в системе переменных среды (посредством команды set):
echo content-type: text/plain
echo
echo %0 &1 %2
set
CGI-приложение может быть создано с использование любого удобного
языка программирования (часто применяется, например, С/С++). Типичным
примером CGI-технологии является использование языка PERL для расши-
рения возможностей сервера, при этом серверная ОС автоматически вызыва-
ет PERL-интерпретатор для выполнения PERL-скрипта (известны и средства
компиляции исходных PERL-текстов); не менее часто используется система
программирования
. Принято скрипты помещать в подкаталог с (фиксирован-
ным) именем CGI-BIN.
CGI-приложения выводят информацию в стандартный выходной поток
stdout (данные из этого потока перехватываются сервером и переправляются
клиенту), в методах же приема информации есть разница. В протоколе HTTP
определены методы GET и PUT передачи данных; в случае GET данные пе-
редаются посредством переменной среды с именем
QUERY_STRING, для
POST данные передаются через стандартный поток ввода
stdout (а длина дан-
ных определяется переменной среды с именем
CONTENT_LENGTH). В целом
метод GET удобен для передачи небольших сообщений (длина переменной
  Таблица 1.— Сравнение технологий CGI и ISAPI: достоинства и
              недостатки.

    Технология                Достоинства                     Недостатки
                    1. Значительно проще програм- В случае одновременного много-
                    мировать и отлаживать           кратного вызова CGI-скрипта в
       CGI                                          ОП загружается и выполняется
                    2. В случае сбоя или аварийного соответствующее число экземп-
                    завершения скрипта программа- ляров программы
                    сервер продолжает успешно
                    функционировать
                    В случае одновременного много- 1. Программирование и (особен-
                    кратного вызова ISAPI-скрипта но) отладка затруднены
      ISAPI         инициализируется и выполняется
                    единственный его экземпляр      2. В случае сбоя или аварийного
                                                    завершения скрипта программа-
                                                    сервер также аварийно заверша-
                                                    ется

  Простейшим CGI-приложением может являться, например, DOS-пакетный
файл. Например, нижеследующий BAT-файл возвращает (в поток stdout) кли-
ентскому приложению 3 переданных серверу параметра и значения всех оп-
ределенных в системе переменных среды (посредством команды set):

echo content-type: text/plain
echo
echo %0 &1 %2
set

   CGI-приложение может быть создано с использование любого удобного
языка программирования (часто применяется, например, С/С++). Типичным
примером CGI-технологии является использование языка PERL для расши-
рения возможностей сервера, при этом серверная ОС автоматически вызыва-
ет PERL-интерпретатор для выполнения PERL-скрипта (известны и средства
компиляции исходных PERL-текстов); не менее часто используется система
программирования. Принято скрипты помещать в подкаталог с (фиксирован-
ным) именем CGI-BIN.
   CGI-приложения выводят информацию в стандартный выходной поток
stdout (данные из этого потока перехватываются сервером и переправляются
клиенту), в методах же приема информации есть разница. В протоколе HTTP
определены методы GET и PUT передачи данных; в случае GET данные пе-
редаются посредством переменной среды с именем QUERY_STRING, для
POST данные передаются через стандартный поток ввода stdout (а длина дан-
ных определяется переменной среды с именем CONTENT_LENGTH). В целом
метод GET удобен для передачи небольших сообщений (длина переменной

                                        - 13 -