Domanda

Qual è la differenza tra questi due? Qual è il migliore / più veloce / affidabile?

È stato utile?

Soluzione

SCGI è un mezzo indipendente dalla lingua per connettere un server Web front-end e un'applicazione web. WSGI è uno standard di interfaccia specifico di Python per applicazioni Web.

Sebbene entrambi abbiano radici in CGI, hanno un ambito piuttosto diverso e potresti effettivamente ragionevolmente usarli entrambi contemporaneamente, ad esempio avere un mod_scgi sul server web che parla con un'app WSGI eseguita come un server SCGI. Esistono diverse implementazioni di librerie che eseguiranno le applicazioni WSGI come server SCGI (ad es. Wsgitools, cherrypy).

Sono entrambi "affidabili", in quanto si può considerare affidabile una specifica anziché un'implementazione particolare. In questi giorni probabilmente scriveresti la tua applicazione come callable WSGI e considereresti la questione della distribuzione separatamente.

Forse un'interfaccia Apache + mod_wsgi (incorporata) potrebbe essere un bit più veloce di un Apache + mod_scgi + (lib wrapper SCGI), ma con ogni probabilità non sarà enormemente diverso. Più prezioso è la capacità di eseguire l'applicazione su una varietà di server, piattaforme e standard di connessione.

Altri suggerimenti

SCGI (come FastCGI) è un protocollo (serializzato) adatto per la comunicazione tra processi tra un web server e un'applicazione web.

WSGI è un'API Python, che collega due (o più) moduli compatibili con WSGI Python all'interno dello stesso processo (interprete Python). Un modulo rappresenta il server Web (essendo un'implementazione del server Web in-process Python o un gateway per un server Web in un altro processo tramite ad esempio SCGI). L'altro modulo è o rappresenta l'applicazione Web. Inoltre, zero o più moduli tra questi due moduli possono fungere da "middleware" WSGI moduli, facendo cose come la gestione di sessioni / cookie, memorizzazione dei contenuti nella cache, autenticazione, ecc. L'API WSGI utilizza funzionalità del linguaggio Python come iterazione / generatori e passaggio di oggetti richiamabili tra i moduli compatibili compatibili con WSGI.

Sono entrambe specifiche per collegare un'applicazione Web a un server Web. Una differenza evidente è che WSGI proviene dal mondo Python e credo che non ci siano implementazioni non Python.

Le specifiche non sono generalmente comparabili in base a migliore / più veloce / affidabile.

Solo le loro implementazioni sono comparabili e sono sicuro che troverai buone implementazioni di entrambe le specifiche.

Forse leggi e leggi .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top