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