WSGI

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 8. november 2015; checks kræver 29 redigeringer .

WSGI ( Web Server Gateway Interface ) er en  standard for interaktion mellem et Python -program, der kører på serversiden og selve webserveren [1] , såsom Apache .

Idé

I Python er der en lang række forskellige slags web-frameworks (frameworks), værktøjssæt og biblioteker. Hver af dem har sin egen metode til installation og konfiguration, de ved ikke, hvordan de skal interagere med hinanden. Det kan være svært for dem, der lige er begyndt at lære Python, da det for eksempel at vælge et bestemt framework kan begrænse valget af en webserver og omvendt.

WSGI giver en enkel og alsidig grænseflade mellem de fleste webservere og webapplikationer eller frameworks.

Specifikationer

Ifølge standarden skal en WSGI-applikation opfylde følgende krav:

Det enkleste eksempel på en WSGI-applikation ville være denne generatorfunktion :

def application ( environ , start_response ): start_response ( '200 OK' , [( 'Content-Type' , 'text/plain' )]) giver b 'Hej, verden! \n '

Middleware

Ud over applikationer og servere definerer standarden middleware-komponenter, der leverer grænseflader til både applikationen og serveren. Det vil sige, at for en server er middleware en applikation, og for en applikation er det en server. Dette giver dig mulighed for at skabe "kæder" af WSGI-kompatibel middleware. Middleware er en simpel indpakning over applikationsobjektet, den kan implementeres gennem en lukning. [fire]

Middleware kan påtage sig følgende funktioner (men er ikke begrænset til):

Kompatibel med WSGI

Afslut applikationer

Webrammer og applikationsservere

Biblioteker

  • Python Paste er et komponentbibliotek til at arbejde med WSGI-applikationer

Analoger

  • Rack  er en lignende tilgang implementeret for Ruby [6] ;
  • JSGI  - til JavaScript [7] ;
  • PSGI  er for Perl .
  • ASGI er den åndelige efterfølger til WSGI, der tilføjer understøttelse af asynkrone applikationer.

Se også

Noter

  1. "WSGI, Introduktion", Yuri Yurevich . Hentet 15. oktober 2016. Arkiveret fra originalen 19. oktober 2016.
  2. miljøvariabler . Hentet 15. oktober 2016. Arkiveret fra originalen 7. juni 2020.
  3. start_response . Hentet 15. oktober 2016. Arkiveret fra originalen 7. juni 2020.
  4. Oprettelse af WSGI-middleware . Hentet 15. oktober 2016. Arkiveret fra originalen 4. maj 2017.
  5. Teknisk arkitektur, udviklerbog (OpenERP) . Hentet 10. oktober 2012. Arkiveret fra originalen 18. oktober 2012.
  6. Yehuda Katz, Rack as a Transformative Figure, 2009 . Dato for adgang: 31. oktober 2012. Arkiveret fra originalen den 27. februar 2012.
  7. JSGI & Jack Arkiveret 17. december 2014.

Links

  • PEP 3333  - Python Enhancement Proposal, der definerer en grænsefladestandard
  • wsgi.org - den største WSGI-wiki

Litteratur

  • James Gardner. Den endelige guide til pyloner. - Apress, 2008. - 568 s. - S. 369-388. — ISBN 9781590599341 .