Мне просто интересно, в чем различия и преимущества разных CGI. Какой из них лучше всего подходит для сценариев Python и как я могу сказать сценарию, что использовать?
Различия и использование между WSGI, CGI, FastCGI и mod_python в отношении Python?
Ответы (4)
Частичный ответ на ваш вопрос, включая scgi.
- В чем разница между scgi и wsgi?
- Есть ли разница в скорости между WSGI и FCGI?
- Как веб-фреймворки Python, WSGI и CGI сочетаются друг с другом
CGI против FCGI
Ленивый и не пишущий сам. Из википедии: http://en.wikipedia.org/wiki/FastCGI
Вместо того, чтобы создавать новый процесс для каждого запроса, FastCGI использует постоянные процессы для обработки таких запросов. Можно настроить несколько процессов, что повысит стабильность и масштабируемость. Каждый отдельный процесс FastCGI может обрабатывать множество запросов за время своего существования, тем самым избегая накладных расходов на создание и завершение процесса для каждого запроса
Также есть хороший справочник по CGI, WSGI и другим параметрам в виде официального python HOWTO: http://docs.python.org/2/howto/webservers.html
В таком проекте, как Django, вы можете использовать WSGI (Интерфейс шлюза веб-сервера) с сервера Модуль Flup.
Сервер WSGI обертывает внутренний процесс, используя один или несколько протоколов:
- FastCGI (вызов серверного процесса)
- SCGI (Простой общий интерфейс шлюза - более простой FastCGI)
- AJP (протокол Apache JServ - Java FastCGI)
- mod_python (запускает предварительно загруженный код по запросу - использует много оперативной памяти)
- CGI (общий интерфейс шлюза, запускает процесс по запросу - медленно)
- FastCGI - это долгоживущий вид CGI, который всегда будет работать.
- С FastCGI это займет меньше времени.
- Из-за нескольких процессов FastCGI будет стоить больше памяти, чем CGI.
Подробная разница между FastCGI и CGI
mod_wsgi
- это только Apache. Он по-прежнему самый популярный в 2012 году? - person anatoly techtonik   schedule 29.03.2012