Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Web Server Gateway Interface – Wikipedia
Web Server Gateway Interface – Wikipedia 👆 Click Here!
aus Wikipedia, der freien Enzyklopädie

Das Web Server Gateway Interface (WSGI) ist eine Spezifikation für die Programmiersprache Python, die eine Schnittstelle zwischen Webservern und Webframeworks bzw. Web Application Servern festlegt, um die Portabilität von Webanwendungen auf unterschiedlichen Webservern zu fördern.

Details

[Bearbeiten | Quelltext bearbeiten]

Die eigentliche Schnittstelle besteht auf Anwendungsseite aus einem aufrufbaren Objekt (app im Beispiel). Dieses erhält als Parameter die Umgebungsvariablen (environ) und ein Funktionsobjekt (start_response) und muss ein iterierbares Objekt zurückgeben. Die Umgebungsvariablen werden als assoziatives Array übergeben. Das Funktionsobjekt dient dazu, die HTTP-Header auszugeben; es wird von der Server-Seite aufgerufen, bevor der Rückgabewert der Funktion an den Client gesendet wird.

Beispiel:

def app(environ, start_response):
    start_response('200 OK', [('content-type', 'text/plain')])
    return [b'Hello world!']

Hintergrund

[Bearbeiten | Quelltext bearbeiten]

Die verschiedenen für Python entwickelten Web Application Frameworks und Web Application Server benötigten ursprünglich bestimmte Webserver, so dass Frameworks und Webserver nicht unabhängig voneinander gewählt werden konnten.

Das Python Web Server Gateway Interface als Schnittstelle (Middleware) zwischen Webserver und Framework schließt diese Lücke und erhöht die Portabilität. Der erste Entwurf des zugehörigen Python Enhancement Proposal 333 stammt vom 7. Dezember 2003.

Anwendung

[Bearbeiten | Quelltext bearbeiten]

Bisher sind nur wenige Websites für eine extensive Nutzung von WSGI bekannt geworden.[1][2] Verwendet wird WSGI derzeit vor allem

  • über mod_wsgi auf Apache Web Servern oder
  • über uwsgi auf Nginx-[3] oder Cherokee[4]-Servern.

Beide Varianten können als eigenständiger Systemdienst (daemon) getrennt vom Webserver arbeiten und bieten so neben bedingten Sicherheits- und Performance-Vorteilen auch komfortable Möglichkeiten zur Skalierung und unterbrechungsfreie Updates.[5][6]

WSGI-kompatible Software

[Bearbeiten | Quelltext bearbeiten]
  • Django
  • Flask
  • MoinMoin
  • Odoo
  • Seafile
  • Trac
  • Tryton
  • web2py
  • Zope

Weblinks

[Bearbeiten | Quelltext bearbeiten]
  • PEP 333 -- Python Web Server Gateway Interface v1.0
  • PEP 3333 -- Python Web Server Gateway Interface v1.0.1, leichte Veränderungen um den PEP von Python 3 zu genügen
  • WSGI Informationsseite

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. ↑ mod_wsgi Usage Statistics. Abgerufen am 1. August 2020. 
  2. ↑ w3techs.com
  3. ↑ wiki.nginx.org
  4. ↑ cherokee-project.com
  5. ↑ uwsgi Zerg Mode. Abgerufen am 27. September 2013. 
  6. ↑ mod_wsgi Daemon Delegation. Abgerufen am 27. September 2013. 
Webserver-Schnittstellen
Protokolle

CGI | SCGI | FastCGI | AJP

APIs

C NSAPI | C ASAPI | C ISAPI | Jakarta Servlet | ASP.NET | Python WSGI | Ruby Rack | JavaScript JSGI | PSGI | Lua WSAPI 

Apache-Module

mod_jk | mod_lisp | mod_parrot | mod_perl | mod_php | mod_python | mod_wsgi | mod_ruby | Phusion Passenger 

Web APIs

WSDL | XML-RPC | SOAP | REST 

Abgerufen von „https://de.teknopedia.teknokrat.ac.id/w/index.php?title=Web_Server_Gateway_Interface&oldid=240656542“
Kategorien:
  • Web-Entwicklung
  • Programmierschnittstelle
  • Python (Programmiersprache)
  • Middleware
Versteckte Kategorie:
  • Wikipedia:Vorlagenfehler/Vorlage:Cite web/temporär

  • indonesia
  • Polski
  • العربية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصرى
  • Nederlands
  • 日本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українська
  • Tiếng Việt
  • Winaray
  • 中文
  • Русский
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id