FastCGI

FastCGI

Интерфейс FastCGI — клиент-серверный протокол взаимодействия веб-сервера и приложения, дальнейшее развитие технологии CGI. По сравнению с CGI является более производительным и безопасным.

FastCGI снимает множество ограничений CGI-программ. Недостаток CGI-программ в том, что они должны быть перезапущены веб-сервером при каждом запросе, что приводит к понижению производительности. FastCGI, вместо того чтобы создавать новые процессы для каждого нового запроса, использует постоянно запущенные процессы для обработки множества запросов. Это позволяет экономить время.

В то время как CGI-программы взаимодействуют с сервером через STDIN и STDOUT запущенного CGI-процесса, FastCGI-процессы используют Unix Domain Sockets или TCP/IP для связи с сервером. Это даёт следующее преимущество над обычными CGI-программами: FastCGI-программы могут быть запущены не только на этом же сервере, но и где угодно в сети. Также возможна обработка запросов несколькими FastCGI-процессами, работающими параллельно.

lighttpd включает в себя внутренний распределитель нагрузки FastCGI, который может использоваться для распределения сразу на несколько FastCGI-серверов. В отличие от иных решений, в кластере должен находиться только FastCGI-процесс, а не целый веб-сервер. Это позволяет использовать FastCGI-процессу больше ресурсов, по сравнению, например, с load-balancer+apache+mod_php.

При сравнении php-FastCGI с apache+mod_php, необходимо обращать внимание на то, что FastCGI обеспечивает дополнительную безопасность, такую как, например, запуск FastCGI-процесса под пользователем, отличным от пользователя веб-сервера, а также может находиться в chroot'е, отличном от chroot'а веб-сервера.

При сравнении perl-FastCGI с apache+mod_perl(1,2), кроме вышеуказанного, заметно, что для разделяемого использования памяти между процессами, реализуемого в mod_perl через startup.pl, необходим FastCGI-менеджер процессов, реализованный на Perl. Это реализуется модулем FCGI::ProcManager и его надстройкой FCGI::Spawn.

Содержание

Веб-серверы, поддерживающие FastCGI

  • Abyss Web Server
  • Apache HTTP-сервер (частично)
    • Используются сторонние модули mod_fastcgi или mod_fcgid
    • Мультиплексирование запросов через одно соединение невозможно в данной архитектуре веб-сервера Apache[1]
  • aXesW3
  • Cherokee HTTP Server [2]
  • Hiawatha webserver [3]
    • Поддержка изолированной FastCGI-сервера
  • Lighttpd
  • LiteSpeed Web Server
  • Microsoft IIS [4]
  • MyServer
  • nginx
    • Поддержка группы серверов
  • Open Market Web Server
  • Roxen webserver
  • Sun Java System Web Server (и предшественники)
  • WebSTAR
  • Yaws
  • Zeus

Привязки FastCGI API в языках программирования

FastCGI может быть использован в любом языке, поддерживающем сокеты. Существующие API:

Примечания

См. также

Источники


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Полезное


Смотреть что такое "FastCGI" в других словарях:

  • FastCGI — is a protocol for interfacing interactive programs with a web server. FastCGI is a variation on the earlier Common Gateway Interface (CGI); FastCGI s main aim is to reduce the overhead associated with interfacing the web server and CGI programs,… …   Wikipedia

  • FastCGI — ist ein Standard für die Einbindung externer Software zur Generierung dynamischer Webseiten in einem Webserver. FastCGI ist vergleichbar zum Common Gateway Interface (CGI), wurde jedoch entwickelt, um dessen Performance Probleme zu umgehen.… …   Deutsch Wikipedia

  • FastCGI — est une technique permettant la communication entre un serveur HTTP et un logiciel indépendant. Traditionnellement, les applications Web ont utilisé la Common Gateway Interface (CGI) qui exécute un nouveau processus à chaque requête. La… …   Wikipédia en Français

  • FastCGI — Saltar a navegación, búsqueda FastCGI es una alternativa al CGI estándar, cuya diferencia radica principalmente en el hecho de que el servidor crea un único proceso persistente por cada programa FastCGI en lugar de uno por cada solicitud del… …   Wikipedia Español

  • FastCGI — es una alternativa al CGI estándar, cuya diferencia radica principalmente en el hecho de que el servidor crea un único proceso persistente por cada programa FastCGI en lugar de por cada solicitud del cliente …   Enciclopedia Universal

  • FastCGI — s. FCGI …   Acronyms

  • FastCGI — s. FCGI …   Acronyms von A bis Z

  • Comparison of server-side JavaScript solutions — This is a list of Server side JavaScript solutions. Contents 1 Server side JavaScript use 2 See also 3 External links 4 References …   Wikipedia

  • CGI-Script — Das Common Gateway Interface (CGI) – in etwa Allgemeine Vermittlungsrechner Schnittstelle – ist ein Standard für den Datenaustausch zwischen einem Webserver und dritter Software, die Anfragen bearbeitet. CGI ist eine schon länger bestehende… …   Deutsch Wikipedia

  • Common Gateway Interface — This article is about the interface between a web server and an external application. For the term CGI in computer graphics, see Computer generated imagery. The Common Gateway Interface (CGI) is a standard (see RFC 3875: CGI Version 1.1) method… …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»