Роль application сервера заключается в исполнении бизнес-логики приложения и генерации динамических документов.
На каждый HTTP запрос application сервер запускает некоторый обработчик в приложении. Это может быть функция, класс или программа, в зависимости от технологии.
REQUEST_METHOD - метод запросаPATH_INFO - путь из URL QUERY_STRING - фрагмент URL после ?REMOTE_ADDR - IP адрес пользователяCONTENT_LENGTH - длина тела запросаHTTP_COOKIE - Заголовок CookieHTTP_ANY_HEADER_NAME - любой другой HTTP заголовокОсновная проблема CGI - низкая производительность. Протоколы FastCGI и SCGI призваны решить эту проблему путем демонизации приложения. Иногда это возможно сделать даже без изменения кода CGI приложения.
WSGI, PSGI, Rack - протоколы вызова функции обработчика из application сервера. Сам application server при этом может выполняться в отдельном процессе или совпадать с web сервером. Как правило, при использовании этих протоколов в качестве application сервера выступает отдельный легковесный процесс.
REQUEST_URI, ...wsgi.version - версия WSGI протоколаwsgi.url_scheme - схема текущего URL: https или httpwsgi.input - file-handle для чтения тела запросаwsgi.errors - file-handle для вывода ошибокwsgi.multithreaded - ...wsgi.multiprocess - ...
PATH_INFO и выбор конкретного обработчикаCookieQUERY_STRING