WSGI
Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de
versiunea revizuită la 8 noiembrie 2015; verificările necesită
29 de modificări .
WSGI ( Web Server Gateway Interface ) este un standard pentru interacțiunea dintre un program Python care rulează pe partea de server și serverul web însuși [1] , cum ar fi Apache .
Idee
În Python, există un număr mare de diferite tipuri de cadre web (frameworks), seturi de instrumente și biblioteci. Fiecare dintre ele are propria sa metodă de instalare și configurare, nu știu cum să interacționeze între ei. Acest lucru poate fi dificil pentru cei care abia încep să învețe Python, deoarece, de exemplu, alegerea unui anumit cadru poate limita alegerea unui server web și invers.
WSGI oferă o interfață simplă și versatilă între cele mai multe servere web și aplicații web sau cadre.
Specificații
Conform standardului, o aplicație WSGI trebuie să îndeplinească următoarele cerințe:
- trebuie să fie un obiect apelabil (de obicei o funcție sau o metodă)
- ia doi parametri:
- dicționar de variabile de mediu (environ) [2]
- handler de cereri (start_response) [3]
- handler de cereri de apel cu cod de răspuns HTTP și anteturi HTTP
- returnează obiectul iterabil cu corpul răspunsului
Cel mai simplu exemplu de aplicație WSGI ar fi această funcție generatoare :
def application ( environ , start_response ):
start_response ( '200 OK' , [( 'Content-Type' , 'text/plain' )])
randament b 'Salut, lume! \n '
Middleware
În plus față de aplicații și servere, standardul definește componente middleware care oferă interfețe atât pentru aplicație, cât și pentru server. Adică, pentru un server, middleware-ul este o aplicație, iar pentru o aplicație, este un server. Acest lucru vă permite să creați „lanțuri” de middleware compatibil WSGI. Middleware-ul este un simplu wrapper peste obiectul aplicației, poate fi implementat printr-o închidere. [patru]
Middleware-ul poate prelua următoarele funcții (dar nu se limitează la):
Compatibil cu WSGI
Terminați aplicațiile
Cadre web și servere de aplicații
Biblioteci
- Python Paste este o bibliotecă de componente pentru lucrul cu aplicații WSGI
Analogii
- Rack este o abordare similară implementată pentru Ruby [6] ;
- JSGI - pentru JavaScript [7] ;
- PSGI este pentru Perl .
- ASGI este succesorul spiritual al WSGI, adăugând suport pentru aplicații asincrone.
Vezi și
Note
- ↑ „WSGI, Introducere”, Yuri Yurevich . Consultat la 15 octombrie 2016. Arhivat din original pe 19 octombrie 2016. (nedefinit)
- ↑ variabile de mediu . Preluat la 15 octombrie 2016. Arhivat din original la 7 iunie 2020. (nedefinit)
- ↑ start_response . Preluat la 15 octombrie 2016. Arhivat din original la 7 iunie 2020. (nedefinit)
- ↑ Crearea middleware WSGI . Consultat la 15 octombrie 2016. Arhivat din original la 4 mai 2017. (nedefinit)
- ↑ Arhitectură tehnică, Cartea dezvoltatorului (OpenERP) . Consultat la 10 octombrie 2012. Arhivat din original pe 18 octombrie 2012. (nedefinit)
- ↑ Yehuda Katz, Rack as a Transformative Figure, 2009 . Data accesului: 31 octombrie 2012. Arhivat din original pe 27 februarie 2012. (nedefinit)
- ↑ JSGI & Jack Arhivat 17 decembrie 2014.
Link -uri
- PEP 3333 - Propunere de îmbunătățire a Python care definește un standard de interfață
- wsgi.org - cel mai mare wiki WSGI
Literatură
- James Gardner. Ghidul definitiv al stâlpilor. - Apress, 2008. - 568 p. - P. 369-388. — ISBN 9781590599341 .
Piton |
---|
Comunitate |
|
---|
Implementări |
|
---|
Alte |
|
---|