Web Server Gateway Interface
Il Web Server Gateway Interface (WSGI) è un protocollo di trasmissione che stabilisce e descrive comunicazioni ed interazioni tra server ed applicazioni web scritte nel linguaggio Python. [1] È quindi l'interfaccia standard del web service per la programmazione in Python. [2]
In parole povere, il protocollo specifica come i server si facciano carico delle richieste provenienti dai browsers/client ed inoltrino le informazioni richieste alle relative applicazioni, oltre a come utilizzare le informazioni di cui si sono fatti carico e a come rispondere.[3][4]
Storia e sviluppo
Storicamente, gli applicativi per il web scritti in Python risultavano problematici per i nuovi utenti che si affacciavano a questo linguaggio, in quanto la scelta della struttura da utilizzare in ambito web limitava di conseguenza quella sui server web usufruibili, e viceversa. I programmi in Python erano spesso concepiti per CGI, FastCGI, mod_python od anche per interfacce API specifiche di web-server.
WSGI è stato creato come un'interfaccia di basso livello tra i server web e le applicazioni web finalizzata a fornire uno standar base per le reciproche interazioni. [3]