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:
- skal være et kaldbart objekt (normalt en funktion eller metode)
- tag to parametre:
- ordbog over miljøvariabler (miljø) [2]
- anmodningshandler (startsvar) [3]
- call request handler med HTTP-svarkode og HTTP-headere
- returner iterable objekt med svartekst
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
- ↑ "WSGI, Introduktion", Yuri Yurevich . Hentet 15. oktober 2016. Arkiveret fra originalen 19. oktober 2016. (ubestemt)
- ↑ miljøvariabler . Hentet 15. oktober 2016. Arkiveret fra originalen 7. juni 2020. (ubestemt)
- ↑ start_response . Hentet 15. oktober 2016. Arkiveret fra originalen 7. juni 2020. (ubestemt)
- ↑ Oprettelse af WSGI-middleware . Hentet 15. oktober 2016. Arkiveret fra originalen 4. maj 2017. (ubestemt)
- ↑ Teknisk arkitektur, udviklerbog (OpenERP) . Hentet 10. oktober 2012. Arkiveret fra originalen 18. oktober 2012. (ubestemt)
- ↑ Yehuda Katz, Rack as a Transformative Figure, 2009 . Dato for adgang: 31. oktober 2012. Arkiveret fra originalen den 27. februar 2012. (ubestemt)
- ↑ 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 .
Python |
---|
Fællesskab |
|
---|
Implementeringer |
|
---|
Andet |
|
---|