Web Server Gateway Interface

Uit Wikipedia, de vrije encyclopedie

Web Server Gateway Interface (WSGI) is een low-level interface tussen webservers en webapplicatie-frameworks geschreven in de programmeertaal Python. WSGI definieert een standaard om portable webapplicaties en webapplicatie-frameworks te ontwikkelen.

De specificatie van WSGI is te vinden in Python Enhancement Proposal (PEP) 333.

Overzicht[bewerken | brontekst bewerken]

Web Server Gateway Interface bestaat uit twee onderdelen: de "server" ("gateway") en de "client" ("framework"). De client dient een aanroepbaar object (zoals een functie of methode) aan te bieden aan de server. De server roept dit object aan en krijgt vervolgens een iterateerbaar object terug met strings. Deze data kan vervolgens verstuurd worden door de server naar de eindgebruiker.

Het is ook mogelijk om middleware te ontwikkelen op basis van deze specificatie: men dient dan beide aspecten te implementeren zodat de software kan communiceren met zowel een webserver als een webapplicatie-framework.

Geschiedenis[bewerken | brontekst bewerken]

Voorheen waren webapplicaties en frameworks specifiek ontwikkeld voor een bepaalde technologie, zoals CGI of mod_python, waardoor deze software alleen daarop kon draaien. De keuze voor een bepaalde webapplicatie-framework limiteerde ook de keuze voor welke webserver gebruikt moest worden en vice versa. WSGI is ontwikkeld om deze problematiek op te lossen.

In december 2003 werd Python Enhancement Proposal (PEP) 333 gepubliceerd met de specificatie van WSGI.

Ondersteuning[bewerken | brontekst bewerken]

WSGI wordt ondersteund door allerlei webapplicatie-frameworks, waaronder CherryPy[1], Django[2], TurboGears[3], Pylons[4] en Google App Engine[5].

Python 3.0 wordt ondersteund door mod_wsgi[6], een module volgens de WSGI-standaard voor Apache.

Externe links[bewerken | brontekst bewerken]