搜索

pdf文档 waitress Documentation v1.4.3

259.25 KB 103 页 0 下载 63 浏览 0 评论 0 收藏
语言 格式 评分
英语
.pdf
3
摘要
文档介绍了Waitress项目的版本更新内容,包括新功能、修复和兼容性调整。主要更新包括支持预绑定套接字、忽略消息正文、调整缓冲区大小、处理非HTTP/1.0/1.1请求以及改进安全性。文档还提到移除对Python 2.6的支持,新增IPv6支持,并修复了多个潜在的安全和性能问题。
AI总结
以下是文档内容的总结: --- ### **《Waitress Documentation v1.4.3》总结** #### **1. 主要更新** - **新功能**: - 支持预绑定套接字列表:允许使用已预绑定的套接字,而不必由Waitress创建,适用于使用启动系统的场景(如init系统或其他创建激活套接字的系统)。 - **服务器头可省略**:通过设置`ident=None`或`ident=' '`,可以省略服务器头。 - **vendored asyncore**:将`asyncore`整合到Waitress内部(`waitress.wasyncore`),以应对未来Python标准库移除`asyncore`的情况。 - **新增`outbuf_high_watermark`调整**:用于对`app_iter`施加反压,避免其运行速度超过数据写入套接字的速度,稳定快速迭代且数据量大的响应。 - **改进`flush`行为**:调整`flush`输出`SO_SNDBUF`字节,`send_bytes`仅控制内部缓冲区大小,不再限制数据写入内核的大小。 - **错误修复**: - 不再发送`Transfer-Encoding`或`Content-Length`头,以及忽略WSGI应用发送的消息正文,确保符合HTTP标准。 - 修复因客户端意外关闭套接字导致的内存泄漏问题。 - 修复非ASCII字符请求URL时的连接关闭问题,改为返回`400 Bad Request`。 - 修复HTTP版本设置问题,避免将未指定版本的请求标记为`None`。 - **兼容性改进**: - 支持通过命令行运行Waitress(`waitress-serve`)。 - 支持在并行测试环境中使用不同的端口/套接字。 - **文档更新**: - 整合`paste.translogger`文档,重新组织和清理文档内容。 - **弃用/移除**: - `send_bytes`调整已弃用,计划在后续版本中移除。 --- #### **2. 历史版本重要更新** - **1.1.0(2017-10-10)**: - 支持通过命令行运行Waitress(`python -mwaitress`)。 - 不再支持小写HTTP动词。 - 支持非ASCII字符请求URL,改为返回`400 Bad Request`。 - **1.0.0(2016-08-31)**: - 支持IPv6和多套接字监听。 - 移除对Python 2.6的支持。 - 支持UNIX域套接字。 - **0.8.4(2013-05-24)**: - 添加命令行运行器`waitress-serve`。 - 支持并行测试环境。 --- #### **3. 安全修复** - **1.4.2**: - 紧固头值中空白字符的处理方式,修复潜在的HTTP请求走私/分割安全问题。 - 更新头字段内容的正则表达式,符合RFC7230的勘误。 --- 总结:Waitress v1.4.3版本主要聚焦于功能改进、错误修复和兼容性优化,同时对文档进行了完善,以提升用户体验和安全性。
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余 91 页请下载阅读 -
文档评分
请文明评论,理性发言.