mod_python ist ein Modul für den Apache-HTTP-Server, das die Programmiersprache Python in den Webserver einbindet. Ziel war die Ablösung des „Common Gateway Interface“ (CGI) zur Ausführung von Python-Skripten. Vorteil ist hauptsächlich die schnellere Ausführung.

Eine konzeptionelle Weiterentwicklung von mod_python ist mod_wsgi.

Ein anderes Verfahren, um CGI zu beschleunigen, ist „FastCGI“.

Funktionsweise

Bearbeiten

Bei CGI-Programmen wird pro Anfrage ein neuer Prozess auf dem Server gestartet, der den Interpreter der Sprache aufruft, welcher seinerseits das gewünschte Script interpretiert und dann ausführt. Auf Seiten mit vielen Besuchern pro Zeitspanne ist dieses Verfahren nicht ausreichend schnell.

Daher wird mit „mod_python“ – und vergleichbaren Modulen für andere Programmiersprachen – die Sprache direkt in den Webserver eingebettet, der Interpreter läuft die ganze Zeit.

Vorteile

Bearbeiten
  • Der Zeitaufwand für das Starten des Interpreters entfällt.
  • Da der Prozess nach der Bearbeitung einer Anfrage eines Clients nicht beendet wird, können dauerhafte Daten – wie z. B. Datenbankverbindungen – für nachfolgende Anfragen aufgehoben und müssen nicht bei jeder Nachfrage neu initialisiert werden.
  • Da „mod_python“-Module direkt in den Webserver integriert sind, kann mit ihnen alles erledigt werden, was sonst in der komplexer zu programmierenden Sprache C geschriebene Module erledigen: Implementierung anderer Protokolle als HTTP, Filterung der Anfrage und der Antwort, Ermittlung des Datenformats usw.

Nachteile

Bearbeiten
  • Die Startkonfiguration ist bis heute etwas komplizierter zu bewerkstelligen als die Verwendung der in der Regel weitestgehend vorkonfigurierten CGI-Alternative.
  • Da die Skripte direkt im Server eingebettet sind, werden sie mit den weitreichenderen Rechten des Serverprozesses ausgeführt. Um keine Sicherheitslücken herbeizuführen, muss der Administrator also den Server richtig konfigurieren (das betrifft alle Programmiersprachen, die direkt im Webserver eingebettet sind, und hat nichts mit Python zu tun).

Geschichte

Bearbeiten

Die erste Version von „mod_python“ wurde im Jahr 2000 von Gregory Trubetskoy freigegeben. Seit 2002 ist „mod_python“ ein offizielles Projekt der Apache Software Foundation. Zwischen 2007 und 2013 ruhte die Entwicklung, allerdings wurde am 13. November 2013 die neue Version 3.5.0 veröffentlicht[1], die erstmals Python 3 verwendet.

Bearbeiten

Einzelnachweise

Bearbeiten
  1. http://www.modpython.org

📚 Artikel Terkait di Wikipedia

Python (Programmiersprache)

Python ([], [], auf Deutsch auch []) ist eine universell nutzbare, üblicherweise interpretierte, höhere Programmiersprache. Sie hat den Anspruch, einen

Apache HTTP Server

SSL (mod_ssl für OpenSSL, mod_gnutls für GnuTLS) Einbindung und Verwendung von dynamischen Skriptsprachen (u. a. mod_php, mod_perl, mod_python) Unterstützung

Mod wsgi

mod_wsgi ist ein Modul für den Apache-HTTP-Server, das die Ausführung von Python-Programmen durch den Webserver ermöglicht. Mod_wsgi implementiert die

Common Gateway Interface

den Interpreter für verschiedene Skriptsprachen (z. B. mod_perl für Perl, mod_python für Python etc.) direkt in den Webserver-Prozess einbinden. Dieser

Trac

oder Git). Trac ist in der Programmiersprache Python implementiert und kann unter anderem via WSGI, mod python, CGI oder FastCGI betrieben werden. Trac ist

Web Server Gateway Interface

Introduction to Python WSGI Servers: Part 1. In: Blog › Observability. 9. Mai 2016. Auf Splunk.com, abgerufen am 11. Februar 2026 (englisch). mod_wsgi Usage

Mod perl

Techniken; für PHP nennt sich das zugehörige Apache-Modul mod php, für Python heißt es mod_python. LAMP Lincoln Stein, Doug MacEachern: Writing Apache Modules

Tkinter

für die Programmiersprache Python. Der Name steht als Abkürzung für Tk interface. Tkinter war das erste GUI-Toolkit für Python, weshalb es inzwischen auf