| 语言 | 格式 | 评分 |
|---|---|---|
英语 | .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 页请下载阅读 -
文档评分














waitress Documentation v1.4.3
waitress Documentation v2.1.1