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 页请下载阅读 -
文档评分