Hinweis: Obwohl JavaScript für diese Website nicht unbedingt erforderlich ist, werden Ihre Interaktionsmöglichkeiten mit den Inhalten eingeschränkt sein. Bitte aktivieren Sie JavaScript für das volle Erlebnis.

Web SIG

Das Python Web SIG widmet sich der Verbesserung der Python-Unterstützung für die Interaktion mit World Wide Web-Diensten und -Clients.

Charta

Die erste Aufgabe sollte darin bestehen, einen Plan (in Form eines PEP) zu erstellen, um die Web-Unterstützung in der Standard-Python-Bibliothek auf moderne Standards zu bringen. Dies würde Fähigkeiten wie (aber nicht beschränkt auf) CSS-Parsing, XHTML-Parsing und -Generierung, Client-seitige und Server-seitige SSL-Unterstützung, einfache Server-Frameworks, Multi-Part/Form-Data POST-Unterstützung und CGI-Unterstützung umfassen. Ich schlage vor, dass wir ein Zeitlimit von sechs Monaten festlegen, um einen Plan zu entwickeln.

Einige konkrete Vorschläge, wie eine Arbeitsliste erstellt werden kann, folgen. Die Aufgabe kann in zwei Teile unterteilt werden: Client und Server.

Auf der Client-Seite gibt es viele Mechanismen, aber sie wurden in den letzten 10 Jahren Flickschuster-mäßig entwickelt. Ich schlage vor, wir erstellen eine Checkliste, indem wir uns ein Client-seitiges Werkzeug wie curl ansehen, und fügen dann die Fähigkeit hinzu, alles auf dieser Checkliste in Pythons "httplib"-Modul zu tun. Zusätzlicher API-Zucker könnte ebenfalls hinzugefügt werden, wahrscheinlich in einem neuen Modul. HTML- und XML-Parsing sind ziemlich solide, aber ein kritischer Mangel auf der Client-Seite ist das Fehlen eines CSS-Parsers.

Auf der Serverseite ist die Situation etwas düsterer. Die Standardbibliothek enthält drei Webserver-Module: BaseHTTPServer, SimpleHTTPServer und CGIHTTPServer, von denen keiner den heutigen Web-Aufgaben gewachsen ist. Ich schlage hier eine ähnliche Strategie vor: Wählen Sie ein bereits existierendes Web-Framework, erstellen Sie daraus eine Funktions-Checkliste und fügen Sie diese Funktionalität zu einem neuen Webserver-Modul hinzu. Ich würde mit Medusa beginnen, da ich damit vertraut bin und ziemlich zufrieden damit bin, aber etwas anderes könnte besser sein. Das andere Hauptproblem auf der Serverseite ist das Fehlen serverseitiger SSL-Unterstützung, was in der heutigen feindseligen Netzwerkumgebung von entscheidender Bedeutung ist. Schließlich wäre etwas wie PyPHP eine gute Sache, das im Webserver-Modul unterstützt wird.