2008-11-02 17 views

Odpowiedz

23

SCGI to neutralny językowo środek łączenia front-end serwera WWW i aplikacji internetowej. WSGI jest standardem interfejsu specyficznym dla Pythona dla aplikacji internetowych.

Chociaż oba mają korzenie w CGI, mają raczej inny zakres i można całkiem rozsądnie używać obu naraz, na przykład mając mod_scgi na komunikatorze internetowym do aplikacji WSGI uruchamianej jako serwer SCGI. Istnieje wiele implementacji bibliotek, które będą uruchamiały aplikacje WSGI jako serwery SCGI (np. Wsgitools, cherrypy).

Oba są "niezawodne", o ile można uznać specyfikację za wiarygodną w przeciwieństwie do konkretnej implementacji. W dzisiejszych czasach prawdopodobnie napiszesz swoją aplikację jako podpowiedź WSGI i rozważysz osobno kwestię wdrożenia.

Może (wbudowany) Interfejs Apache + mod_wsgi może być nieco szybciej niż Apache + mod_scgi + (SCGI owijarki lib), ale z całą pewnością nie będzie ogromnie inaczej. Bardziej wartościowa jest możliwość uruchomienia aplikacji na różnych serwerach, platformach i standardach połączeń.

7

Są to dwie specyfikacje dotyczące podłączania aplikacji WWW do serwera WWW. Jedną z rażących różnic jest to, że WSGI pochodzi ze świata Python i wierzę, że nie ma żadnych innych niż python implementacji.

Dane techniczne zazwyczaj nie są porównywalne w oparciu o lepsze/szybsze/niezawodne.

Tylko ich implementacje są porównywalne i jestem pewien, że znajdziesz dobre implementacje obu specyfikacji.

Być może read i read.

9

SCGI (podobnie jak FastCGI) to (serializowany) protokół odpowiedni do komunikacji między procesami między serwerem WWW a aplikacją internetową.

WSGI to API Pythona, łączące dwa (lub więcej) moduły kompatybilne z Python WSGI w ramach tego samego procesu (interpreter języka Python). Jeden moduł reprezentuje serwer WWW (będący albo wewnętrzną implementacją serwera Python albo bramą do serwera WWW w innym procesie za pośrednictwem np. SCGI). Drugi moduł jest lub reprezentuje aplikację internetową. Dodatkowo, zero lub więcej modułów pomiędzy tymi dwoma modułami, może służyć jako WSGI "middleware" modułów, wykonując takie czynności jak zarządzanie sesją/ciasteczkami, buforowanie treści, uwierzytelnianie itp. Interfejs API WSGI wykorzystuje funkcje języka Python, takie jak iteracja/generatory i przekazywanie wywoływalne obiekty między współpracującymi modułami zgodnymi z WSGI.

+0

Doskonała odpowiedź. – DejanLekic

Powiązane problemy