Вопрос

В чем разница между этими двумя? Что лучше / быстрее / надежнее?

Это было полезно?

Решение

SCGI является независимым от языка средством соединения интерфейсного веб-сервера и веб-приложения. WSGI - это специфичный для Python стандарт интерфейса для веб-приложений.

Хотя они оба имеют корни в CGI, они довольно различны по объему, и вы действительно могли бы вполне разумно использовать оба сразу, например, имея mod_scgi на веб-сервере, взаимодействующем с приложением WSGI, работающим как сервер SCGI. Существует несколько реализаций библиотек, которые будут запускать приложения WSGI в качестве серверов SCGI для вас (например, wsgitools, cherrypy).

Они оба «надежны», поскольку вы можете считать спецификацию надежной, а не конкретной реализацией. В эти дни вы, вероятно, написали бы свое приложение как вызываемое WSGI и рассмотрели бы вопрос развертывания отдельно.

Возможно, интерфейс Apache + mod_wsgi (встроенный) может быть на бит быстрее, чем Apache + mod_scgi + (библиотека-оболочка SCGI), но, по всей вероятности, он не будет чрезвычайно разные. Более ценным является возможность запуска приложения на различных серверах, платформах и стандартах подключения.

Другие советы

SCGI (как и FastCGI) - это (сериализованный) протокол, подходящий для межпроцессного взаимодействия между веб-сервером и веб-приложением.

WSGI - это API-интерфейс Python, соединяющий два (или более) Python-совместимых WSGI-модуля в одном процессе (интерпретатор Python). Один модуль представляет веб-сервер (являющийся либо реализацией внутрипроцессного веб-сервера Python, либо шлюзом к веб-серверу в другом процессе через, например, SCGI). Другой модуль представляет или представляет веб-приложение. Кроме того, ноль или более модулей между этими двумя модулями могут служить в качестве WSGI «промежуточное программное обеспечение». модули, такие как управление сессиями / файлами cookie, кэширование содержимого, аутентификация и т. д. В API WSGI используются такие функции языка Python, как итерация / генераторы и передача вызываемых объектов между взаимодействующими WSGI-совместимыми модулями.

Они обе являются спецификациями для подключения веб-приложения к веб-серверу. Одно явное отличие состоит в том, что WSGI происходит из мира Python, и я считаю, что нет не-Python реализации.

Технические характеристики, как правило, несопоставимы на основе лучшего / более быстрого / надежного.

Только их реализации сопоставимы, и я уверен, что вы найдете хорошие реализации обеих спецификаций.

Возможно, прочитайте и read .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top