Интернет магазин китайских планшетных компьютеров



Компьютеры - FastCGI

10 июня 2011


Оглавление:
1. FastCGI
2. Веб-серверы поддерживающие 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 процесса под пользователем, отличным от пользователя web-сервера, а также может находиться в chroot'е, отличном от chroot'а веб-сервера.

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



Просмотров: 2631


<<< Document Object Model
Framekiller >>>