Mod python
Der Titel dieses Artikel ist aus technischen Gründen inkorrekt. Der korrekte Titel lautet mod_python.
mod_python ist ein Modul für den Apache HTTP Server, das die Programmiersprache Python in den Webserver einbindet. Ziel ist die Ablösung des Common Gateway Interfaces (CGI) zur Ausführung von Python-Skripten. Die Vorteile liegen in einer höheren Ausführungsgeschwindigkeit und darin, dass Sitzungsdaten verwaltet werden können. Mit Python Server Pages (PSP) erlaubt mod_python außerdem die Einbettung von Pyhton-Code in HTML-Seiten, wie man es von PHP kennt.
Vorteile
Bei gewöhnlichen CGI-Programmen wird für jede Anfrage ein neuer Prozess auf dem Server gestartet. Dieses Verfahren funktioniert gut auf Seiten mit mäßigem Besucherandrang; auf Seiten mit hohem Besucherandrang skaliert dieses Verfahren zu schlecht. Es gibt zwar Methoden, um CGI zu beschleunigen, wie FastCGI, aber oft ist es einfacher, ein spezielles Modul zur Einbettung einer Sprache in den Webserver zu verwenden. Genau dafür wurde mod_python entwickelt. Da der Prozess nach der Bearbeitung einer Anfrage nicht beendet wird, können persistente Daten, wie z.B. Datenbankverbindungen, gespeichert werden und die Verzögerung durch das Starten eines neuen Prozesses entfällt. Auf diese Weise kann Overhead bei der Ausführung vermieden werden.
Da mod_python-Module direkt in den Webserver integriert sind, können sie praktisch alles erledigen, was sonst in C programmierte Apache-Module erledigen: Implementierung von anderen Protokollen als HTTP, Filterung des der Anfrage und der Antwort, Ermittlung des Datenformats usw.
Nachteile
Da die Skripte direkt im Server laufen, werden sie mit den Rechten des Serverprozesses ausgeführt. Normalerweise ist das kein Problem, aber bei unvorsichtigem Umgang können Module wie mod_python zu Sicherheitslücken führen. Dieses Problem betrifft alle Programmiersprachen, die direkt in den Webserver eingebettet werden und ist nicht pythonspezifisch.
Geschichte
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.