pdf文档 waitress Documentation v2.1.2

272.79 KB 115 页 0 评论
语言 格式 评分
英语
.pdf
3
摘要
文档详细介绍了Waitress 2.1.2版本的更新内容,包括新功能、Bug修复、兼容性改进和安全性增强。Waitress是一个WSGI服务器,支持IPv6、多socket监听、HTTP/1.1传输编码等功能。文档还提到Waitress在处理HTTP响应时的改进,如不再发送特定状态码的Transfer-Encoding或Content-Length头,并修复了多个Bug,如Unicode编码错误和整数溢出问题。此外,Waitress不再支持Python 2.6和3.2,并增加了对Python 3.10的完全支持。
AI总结
《Waitress Documentation v2.1.2》总结如下: ### 核心更新与功能 1. **Socket 激活支持**:Waitress 现在可以接受预绑定的 socket 列表,以支持 socket 激活功能,但未包含对 init 系统或其他创建激活 socket 的系统的支持。 2. **Server Header 控制**:通过设置 `ident=None` 或 `ident=''`,可以省略 Server header。 3. **HTTP 标准兼容性**:Waitress 不再为 1xx、204 或 304 响应发送 `Transfer-Encoding` 或 `Content-Length`,并忽略 WSGI 应用发送的消息体,确保符合 HTTP 标准。 4. **asyncore 内嵌**:Waitress 将 `asyncore` 内嵌为 `waitress.wasyncore`,以应对 Python 3.8 及以后版本中 `asyncore` 从标准库中移除的情况。 5. **文档更新**:引入了 `paste.translogger` 的文档,并对文档进行了重组和清理。 ### 安全与兼容性 1. **IPv6 支持**:Waitress 支持 IPv6,并可以监听多个 socket,包括 IPv4 和 IPv6。 2. **HTTP Header 安全**:Waitress 现在会丢弃客户端发送的包含下划线的 HTTP Header,以防止可能的破折号/下划线混淆导致的安全问题。 3. **Python 版本支持**:不再支持 Python 2.6 和 3.2,并完全支持 Python 3.10。 ### Bug 修复 1. **Traceback 编码问题**:修复了在启用 `expose_tracebacks` 时,Waitress 无法正确编码 Unicode 的问题。 2. **Header 长度计算错误**:修复了在多 socket 读取数据时,Header 长度计算错误导致 `413 Request Entity Too Large` 的问题。 3. **Socket 关闭竞争条件**:修复了在 WSGI 线程中关闭 socket 时可能导致的竞争条件问题。 ### 其他更新 1. **命令行工具**:新增 `waitress-serve` 命令行工具,允许直接运行 WSGI 应用。 2. **并行测试支持**:支持并行测试,使用 PID 依赖的端口或 socket。 3. **文件描述符清理**:修复了 `BytesIO` 对象未正确关闭导致的内存泄漏问题。 ### 总结 Waitress v2.1.2 在安全性、兼容性和性能方面进行了多项改进,修复了多个重要 Bug,并增加了对 IPv6 和 Python 3.10 的支持。同时,文档也得到了更新和优化,提升了用户体验。
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余 103 页请下载阅读 -
文档评分
请文明评论,理性发言.