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. È quindi l'interfaccia standard del web service per la programmazione in Python.

In parole povere, il protocollo specifica come i server si facciano carico delle richieste provenienti dai browser/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.

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 standard base per le reciproche interazioni.

Caratteristiche

Esempio

Un “Hello world” compatibile con WSGI scritta in Python:

def application(environ, start_response):
    start_response('200 OK', [('Content-Type', 'text/plain')])
    yield 'Hello World\n'

Dove:

Note

  1. ↑ Il WSGI, su python.org.
  2. ↑ Info, su redomino.com.
  3. 1 2 Info sulle caratteristiche, su docs.python.org.
  4. ↑ Info sulle caratteristiche - 2, su docs.python.org.
  5. ↑ i.e. "a chiamante, metodo, classe, o una istanza con una __call__ method" [senza fonte]

Voci correlate

Collegamenti esterni

  Portale Internet: accedi alle voci di Wikipedia che trattano di internet