Ein Webserver mit Python

Ein Webserver ist ein Dienst, welcher den Zugriff auf Webseiten über das http- oder das https-Protokoll anbietet. Der Server lauscht dabei standardmäßig am Port 80 (http-Protokoll) bzw. am Port 443 (https-Protokoll). Typische Webserverprogramme sind Apache oder nginx. Sie sind sehr vielseitig aber auch sehr schwierig zu konfigurieren.

Der integrierte Webserver

Das Python-Modul http.server (https://docs.python.org/3/library/http.server.html) bietet einen eine einfachen Webserver an. Um den Server zu nutzen geht man wie folgt vor:

Zunächst erzeugt man ein Verzeichnis für seine Webseiten, z.B. www.

In diesem Verzeichnis erzeugt man eine Datei index.html mit dem folgenden Inhalt:

<!DOCTYPE html> <html lang="de"> <head> <meta charset="utf-8"> <title>Python-Webserver</title> </head> <body> <p>Diese Datei wird vom Python-Webserver angeboten!</p> </body> </html>

Danach öffnet man in diesem Verzeichnis eine Powershell oder ein Terminal führt man den folgenden Befehl aus:

python -m http.server

Danach läuft der Webserver auf dem Port 8000:

Wenn man in den Webbrowesser http://localhost:8000 eingibt wird die Datei index.html im Webbrowser angezeigt:

Soll der Webserver auf einen anderen Port laufen, so schreibt man den Port einfach hinter den Befehl:

python -m http.server 8888

Natürlich muss ich diesen Port dann auch in der Browserzeile angeben: http://localhost:8888.

Aufgabe 1:

Teste das oben beschriebene Vorgehen!

Aufgabe 2

Programmiere im Ordner www eine eigene kleine Webseite mit Unterseiten!

Aufgabe 3

Teste die Formular-Beispiele mit dem Python-Webserver