Web Server Gateway Interface: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica |
+{{Interfacce web}} |
||
(27 versioni intermedie di 19 utenti non mostrate) | |||
Riga 1:
Il '''Web Server Gateway Interface''' ('''WSGI''') è un [[Protocollo (informatica)|protocollo di trasmissione]] che stabilisce e descrive comunicazioni ed interazioni tra [[server]] ed [[Programma|applicazioni]] [[web]] scritte nel [[Linguaggio di programmazione|linguaggio]] [[Python]].
In parole povere, il protocollo specifica come i server si facciano carico delle richieste provenienti dai
== 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 [[Common Gateway Interface|CGI]], [[FastCGI]],
WSGI
== Caratteristiche ==
{{...|internet}}
== Esempio ==
▲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 di come utilizzare le informazioni di cui si sono fatti carico e di come rispondere.<ref name=wsgiref >[http://docs.python.org/library/wsgiref.html Info sulle caratteristiche]</ref><ref>[http://docs.python.org/py3k/whatsnew/3.2.html#pep-3333-python-web-server-gateway-interface-v1-0-1 Info sulle caratteristiche - 2]</ref>
Un “[[Hello world]]” compatibile con WSGI scritta in [[Python]]:
<syntaxhighlight lang="python">
def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/plain')])
yield 'Hello World\n'
</syntaxhighlight>
Dove:
* Linea 1: definisce una funzione<ref>''i.e. "a chiamante, metodo, classe, o una istanza con una <code>__call__</code> method"'' {{citazione necessaria}}</ref> chiamata <code>application</code>, che prende due parametri, <code>environ</code> and <code>start_response</code>. <code>environ</code> è un dizionario contenente [[Common Gateway Interface#Environment variables|le variabili d'ambiente in CGI]]. <code>start_response</code> è una funzione chiamante con due parametri <code>status</code> e <code>response_headers</code>.
* Linea 2: chiama <code>start_response</code>, specificando "200 OK" come status un "Content-Type" header.
* Linea 3: ritorna il corpo della risposta come una stringa di lettere.
== Note ==
Riga 15 ⟶ 29:
== Voci correlate ==
* [[Python]]
* [[Django (informatica)]]
* [[Flask (informatica)]]
== Collegamenti esterni ==
*
*
*
{{
{{portale|internet}}
[[Categoria:Python]]
[[Categoria:Standard]]
|