Zum Inhalt springen

„Mod python“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
 
(2 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
{{SEITENTITEL:mod_python}}
{{SEITENTITEL:mod_python}}
'''mod_python''' ist ein [[Modul (Software)|Modul]] für den [[Apache HTTP Server|Apache-HTTP-Server]], das die [[Programmiersprache]] [[Python (Programmiersprache)|Python]] in den Webserver einbindet. Ziel war die Ablösung des „[[Common Gateway Interface]]“ (CGI) zur Ausführung von Python-[[Skriptsprache|Skripten]]. Vorteil ist hauptsächlich die schnellere Ausführung. Zwischen 2007 und Anfang 2013 wurde mod_python nicht weiterentwickelt; Dann wurde jedoch am 13. November 2013 eine neue Version veröffentlicht.<ref name="modpython.org"/> Eine konzeptionelle Weiterentwicklung von mod_python ist [[mod_wsgi]]. Ein anderes Verfahren, um CGI zu beschleunigen, ist „[[FastCGI]]“.
'''mod_python''' ist ein [[Modul (Software)|Modul]] für den [[Apache HTTP Server|Apache-HTTP-Server]], das die [[Programmiersprache]] [[Python (Programmiersprache)|Python]] in den [[Webserver]] einbindet. Ziel war die Ablösung des „[[Common Gateway Interface]]“&nbsp;(CGI) zur Ausführung von Python-[[Skriptsprache|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 ==
== Funktionsweise ==
Bei CGI-Programmen wird pro [[Client-Server-Modell #Definitionen|Anfrage]] ein neuer [[Prozess (Informatik)|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.
Bei CGI-Programmen wird pro Anfrage ein neuer [[Prozess (Informatik)|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 Zeiteinheit ist dieses Verfahren nicht ausreichend schnell. Daher wird die Sprache direkt in den Webserver eingebettet. Der Interpreter läuft die ganze Zeit. Genau dafür wurde „mod_python“ – und vergleichbare Module für andere Programmiersprachen – entwickelt.


== Vorteile ==
== Vorteile ==
* Der Zeitaufwand für das Starten des Interpreters entfällt.
* Der Zeitaufwand für das Starten des Interpreters entfällt.
* Da der Prozess nach der Bearbeitung einer Anfrage eines Klienten nicht beendet wird, können dauerhafte Daten – wie z.&nbsp;B. Datenbankverbindungen – für nachfolgende Anfragen aufgehoben werden, und müssen nicht bei jeder Nachfrage neu initialisiert werden.
* Da der Prozess nach der Bearbeitung einer Anfrage eines [[Client]]s nicht beendet wird, können dauerhafte Daten – wie z.&nbsp;B. [[Datenbank]]<nowiki></nowiki>verbindungen – für nachfolgende Anfragen aufgehoben und müssen nicht bei jeder Nachfrage neu [[Initialisierung|initialisiert]] werden.
* Da „mod_python“-Module direkt in den Webserver integriert sind, kann alles erledigt werden, was sonst in der komplexer zu programmierenden Sprache [[C (Programmiersprache)|C]] geschriebene Module erledigen: Implementierung von anderen Protokollen als [[Hypertext Transfer Protocol|HTTP]], Filterung der Anfrage und der Antwort, Ermittlung des Datenformats usw.
* Da „mod_python“-Module direkt in den Webserver integriert sind, kann mit ihnen alles erledigt werden, was sonst in der komplexer zu programmierenden Sprache&nbsp;[[C (Programmiersprache)|C]] geschriebene Module erledigen: Implementierung anderer Protokolle als&nbsp;[[Hypertext Transfer Protocol|HTTP]], Filterung der Anfrage und der Antwort, Ermittlung des [[Datenformat]]s usw.


== Nachteile ==
== Nachteile ==
* Die Startkonfiguration ist bis heute etwas komplizierter zu bewerkstelligen als die Verwendung der in der Regel weitestgehend vorkonfigurierten CGI-Alternative.
* Die Start[[Konfiguration (Computer)|konfiguration]] 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).
* Da die Skripte direkt im Server eingebettet sind, werden sie mit den weitreichenderen [[Berechtigungskonzept|Rechten]] des Serverprozesses ausgeführt. Um keine [[Sicherheitslücke]]n herbeizuführen, muss der [[Administrator (Rolle)|Administrator]] also den Server richtig konfigurieren (das betrifft alle Programmiersprachen, die direkt im Webserver eingebettet sind, und hat nichts mit Python zu tun).


== Geschichte ==
== Geschichte ==
Die erste Version von „mod_python“ wurde im Jahr&nbsp;2000 von [[Gregory Trubetskoy]] freigegeben. Seit&nbsp;2002 ist „mod_python“ ein offizielles Projekt der [[Apache Software Foundation]]. Zwischen&nbsp;2007 und&nbsp;2013 ruhte die Entwicklung, allerdings wurde am 13.&nbsp;November 2013 die neue Version&nbsp;3.5.0 veröffentlicht<ref name="modpython.org"/>, die erstmals Python&nbsp;3 verwendet.

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<ref name="modpython.org"/>, die erstmals Python 3 verwendet.


== Weblinks ==
== Weblinks ==

* [http://www.modpython.org/ Offizielle mod_python-Website]
* [http://www.modpython.org/ Offizielle mod_python-Website]
* [http://www.turbogears.org/ TurboGears] Framework für die Webentwicklung, das mod_python verwenden kann
* [http://www.turbogears.org/ TurboGears] Framework für die Webentwicklung, das mod_python verwenden kann

Aktuelle Version vom 9. Mai 2023, 08:49 Uhr

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“.

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.

  • 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.
  • 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).

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.

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. http://www.modpython.org