Interfață Gateway Server Web
Server Gateway Interface Web (WSGI) este un protocol de transmisie care stabilește și descrie comunicarea și interacțiunile între servere și web aplicații scrise în Python limba . [1] Prin urmare, este interfața standard a serviciului web pentru programarea în Python. [2]
Pur și simplu, protocolul specifică modul în care serverele gestionează solicitările de la browsere / clienți și redirecționează informațiile solicitate către aplicațiile lor, precum și modul de utilizare a informațiilor pe care le-au preluat și cum să răspundă. [3] [4]
Istorie și dezvoltare
Din punct de vedere istoric, aplicațiile web scrise în Python au fost problematice pentru noii utilizatori care au abordat acest limbaj, deoarece alegerea structurii de utilizat în contextul web a limitat-o în consecință pe cea de pe serverele web utilizabile și invers. Programele Python au fost deseori concepute pentru CGI , FastCGI , mod python sau chiar interfețe API specifice serverului web.
WSGI a fost creat ca o interfață de nivel scăzut între servere web și aplicații web menite să ofere un standard de bază pentru interacțiunile reciproce. [3]
Caracteristici
Exemplu
Un „ Hello world ” compatibil WSGI scris în Python :
cerere def (environ, start_response):
start_response ( '200 OK' , [( 'Content-Type' , 'text / plain' )])
produce „Hello World \ n ”
Unde este:
- Linia 1: definește o funcție [5] numita
application
, care are doi parametri,environ
șistart_response
.environ
este un dicționar care conține variabile de mediu CGI .start_response
este o funcție de apelare cu doi parametristatus
șiresponse_headers
. - Linia 2: Apelați
start_response
, specificând „200 OK” ca starea unui antet „Content-Type”. - Linia 3: Returnează corpul răspunsului ca un șir de litere.
Notă
- ^ WSGI
- ^ Informații
- ^ a b Despre caracteristici
- ^ Informații despre caracteristică - 2
- ^ adică „un apelant, o metodă, o clasă sau o instanță cu o metodă
__call__
” [ fără sursă ]
Elemente conexe
linkuri externe
- WSGI wiki , pe wsgi.org .
- Specificații pentru modulul de bibliotecă standard Python , la docs.python.org .
- Python Paste , pe pythonpaste.org .