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:

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

  1. „WSGI, Introducere”, Yuri Yurevich . Consultat la 15 octombrie 2016. Arhivat din original pe 19 octombrie 2016.
  2. variabile de mediu . Preluat la 15 octombrie 2016. Arhivat din original la 7 iunie 2020.
  3. start_response . Preluat la 15 octombrie 2016. Arhivat din original la 7 iunie 2020.
  4. Crearea middleware WSGI . Consultat la 15 octombrie 2016. Arhivat din original la 4 mai 2017.
  5. Arhitectură tehnică, Cartea dezvoltatorului (OpenERP) . Consultat la 10 octombrie 2012. Arhivat din original pe 18 octombrie 2012.
  6. Yehuda Katz, Rack as a Transformative Figure, 2009 . Data accesului: 31 octombrie 2012. Arhivat din original pe 27 februarie 2012.
  7. 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 .