waitress Documentation v1.4.3
259.25 KB
103 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .pdf | 3 |
摘要 | ||
《waitress Documentation v1.4.3》详细介绍了Waitress,一个生产级纯Python WSGI服务器的功能、更新和修复。Waitress支持HTTP/1.0和HTTP/1.1,运行于CPython和PyPy,兼容Python 2.7+和Python 3.4+。文档涵盖了从1.4.3版本到早期版本的更新内容,包括对IPv6的支持、安全修复、性能优化和兼容性改进。例如,Waitress现在可以监听多个套接字,支持IPv4和IPv6,并修复了HTTP响应拆分等安全问题。此外,文档还提到了对Python 2.6和3.2的支持终止,以及对asyncore的集成和优化。 | ||
AI总结 | ||
**Waitress Documentation v1.4.3 总结**
**核心观点**
Waitress 是一个高质量、纯 Python 的 WSGI 服务器,性能优异,依赖仅限 Python 标准库。支持 HTTP/1.0 和 HTTP/1.1,适用于 CPython(Unix 和 Windows,Python 2.7+ 和 3.4+)以及 PyPy 1.6.0(UNIX)。
**关键更新与特性**
1. **新功能**
- 支持预绑定的 socket 列表,便于与 init 系统集成(如 socket 激活)。
- 可通过设置 `ident=None` 或 `ident=''` 省略 Server 头信息。
- 支持 IPv6,可监听多个 socket(如 IPv4 和 IPv6),并通过 `listen` 参数指定多个地址。
- 添加命令行工具 `waitress-serve`,无需额外配置即可运行 WSGI 应用。
- 支持 Unix 域套接字。
2. **Bug 修复**
- 修复 `Transfer-Encoding` 和 `Content-Length` 在 1xx、204 或 304 响应中的处理问题,确保遵循 HTTP 标准。
- 修复 `getaddrinfo` 在无网络连接时无法绑定 localhost 的问题。
- 修复大缓冲区整数溢出错误。
- 修复输出缓冲区无限增长的问题。
3. **兼容性**
- 不再支持 Python 2.6 和 3.2。
- 将 `asyncore` 模块内置于 Waitress(`waitress.wasyncore`),以应对 Python 3.8 移除 `asyncore` 的情况。
4. **安全改进**
- 删除客户端请求中带有下划线的 HTTP 头,防止下划线/连字符混淆导致的安全问题。
- 禁止状态行或头信息中包含换行符,防止 HTTP 响应拆分攻击。
- 修复头值空格处理问题,避免潜在的 HTTP 请求走私/拆分漏洞。
5. **文档优化**
- 引入 `paste.translogger` 文档,重新组织并清理文档内容。
- 更新头字段内容验证的正则表达式以符合 RFC7230 勘误。
**总结**
Waitress 是一个功能强大、性能优异的 WSGI 服务器,适用于多种 Python 环境。其最新版本在功能扩展、Bug 修复、兼容性和安全性方面均有显著提升,同时优化了文档结构,便于开发者使用。 |
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余
91 页请下载阅读 -
文档评分