Web Server Gateway Interface

Web Server Gateway Interface (WSGI) is een low-level interface tussen webservers en webapplicatie-frameworks geschreven in de programmeertaal Python. WSGI defin…

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

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 kunnen 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

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

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.

  • (en) Web Server Gateway Interface, PEP 333

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.