URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 3748
[ Назад ]

Исходное сообщение
"Запуск perl программ как cgi, mod_perl dso, mod_perl static"

Отправлено ajvon , 01-Дек-05 11:45 
Perl програму можна запустить как cgi-скрипт, или через mod_perl, который в свою очередь может быть как static или shared модуль. Объясните, пожалуйста, преимущества и недостатки каждого метода

Содержание

Сообщения в этом обсуждении
"Запуск perl программ как cgi, mod_perl dso, mod_perl static"
Отправлено rWizard , 08-Дек-05 23:14 
cgi:
Запрос от клиента -> Веб сервер запускает интерпретатор -> Скрипт парсится, интерпретируется, выполняется -> Вывод передается веб-серверу -> Интерпретатор завершается -> Веб-сервер передает вод скрипта клиенту

fast-cgi (тоже такой способ запуска per-server программ):
Запускается cgi-программа в виде демона (
что-то вроде:
while(1) {
   acept_request();
   generate_answer();
}

)
Запрос от клиента -> Веб-сервер передает запрос демону -> Демон генерирует ответ -> И передает его веб-серверу ->  Веб-сервер его клиенту

mod_perl (могу ошибаться, сам не работал):
Скрипт интерпретируется _встроенным в веб-сервер_ интерпретатором

Запрос от клиента -> Веб-сервер передает запрос _уже интерпетированному_ скрипту -> скрипт генерирует ответ -> И передает его веб-серверу ->  Веб-сервер его клиенту

В послудних двух случаях скрипт не интерпретируется каждый раз при запросе клиента (особенно актуально, для больших скриптов [не долго выполняющихся, а именно больших по объему])