Web SIG
Python Web SIG 致力于改进 Python 对与万维网服务和客户端交互的支持。
章程
首要任务应该是制定一个计划(以 PEP 的形式),使标准 Python 库中的 Web 支持达到现代标准。这将解决诸如(但不限于)CSS 解析、XHTML 解析和生成支持、客户端和服务器端 SSL 支持、简单服务器框架、多部分/表单数据 POST 支持以及 CGI 支持等功能。我建议我们为制定计划设定六个月的时间限制。
下面是一些关于如何制定工作清单的具体建议。任务可以分为两部分:客户端和服务器。
在客户端,有大量的机制可用,但它们是在过去 10 年中以修补的方式开发的。我建议我们基于一些客户端工具(如 curl)构建一个清单,然后将清单中的所有功能添加到 Python 的“httplib”模块中。还可以添加额外的 API 语法糖,可能在一个新模块中。HTML 和 XML 解析已经相当成熟,但客户端的一个关键缺陷是缺少 CSS 解析器。
在服务器端,情况有点更糟。标准库包含三个 Web 服务器模块:BaseHTTPServer、SimpleHTTPServer 和 CGIHTTPServer,这些模块都无法满足当今的 Web 任务。我建议采用类似的策略:选择一个已经存在的 Web 框架,从中制作一个功能清单,然后将这些功能添加到新的 Web 服务器模块中。我将从 Medusa 开始,因为我熟悉它并且对其非常满意,但其他一些可能更好。服务器端的另一个主要问题是缺少服务器端 SSL 支持,这在当今充满敌意的网络环境中至关重要。最后,像 PyPHP 这样的东西在 Web 服务器模块中提供支持将是一件好事。
