| 语言 | 格式 | 评分 |
|---|---|---|
英语 | .epub | 3 |
| 摘要 | ||
Waitress 是一个生产级别的纯 Python WSGI 服务器,性能acceptable,支持 HTTP/1.0 和 HTTP/1.1,适用于 Unix 和 Windows 系统。文档介绍了其新功能,如支持预绑定套接字、IPv6 支持、处理 HTTP 管道化请求的安全性改进,以及对反向代理的日志记录和配置支持。此外,还包括了对 Python 2.6 和 3.2 的弃用声明,以及与 asyncore 库的集成。文档还详细说明了如何使用 Waitress 通过命令行或配置文件运行 WSGI 应用。 | ||
| AI总结 | ||
# 《Waitress Documentation v1.4.0》中文总结
## 核心内容概述
### 1. 主要新功能
- **反向代理支持**:新增对反向代理的信任头(`trusted_proxy_headers`)和清除非信任头(`clear_untrusted_proxy_headers`)的配置,增强安全性。
- **预绑定套接字**:支持使用已预绑定的套接字,允许通过`listen`参数指定多个套接字(包括IPv4和IPv6)。
- **Server头设置**:通过设置`ident=None`或空字符串,可选择性地省略`Server`头。
### 2. 安全修复
- **HTTP标准合规性**:修复了对1xx、204、304响应的处理,不再发送`Transfer-Encoding`或`Content-Length`头,并忽略WSGI应用的正文内容,严格遵循HTTP标准。
- **头字段名规范**:不再允许头字段名与值之间有空格,确保符合规范。
- **IPV6地址处理**:修复了IPv6地址在`REMOTE_ADDR`中的显示问题,确保符合CGI规范。
### 3. 兼容性改进
- **asyncore集成**:将`asyncore`作为`waitress.wasyncore`内部集成,以应对未来Python标准库移除`asyncore`的可能性。
### 4. 文档更新
- 整合了Pyramid的`paste.translogger`文档,重新组织和清理了文档结构,提升可读性。
### 5. 使用指南
- **运行方式**:
```python
from waitress import serve
serve(wsgiapp, listen='*:8080') # 绑定所有IP的8080端口
serve(wsgiapp, host='0.0.0.0', port=8080) # 绑定IPv4的8080端口
serve(wsgiapp, unix_socket='/path/to/unix.sock') # 绑定Unix套接字
```
- 支持通过`waitress-serve`命令行工具运行应用。
### 6. 版本更新亮点
- **1.4.0(2019-12-20)**:
- 修复了HTTP管道请求的处理,明确设置`Connection: close`头。
- 严格处理头字段名,不符合规范的请求返回400错误。
- **1.3.0(2019-04-22)**:
- 新增`outbuf_high_watermark`参数,优化数据流控制。
- 支持在客户端断开时关闭`app_iter`,避免内存泄漏。
- **1.2.0(2019-01-15)**:
- 修复IPv6地址在`REMOTE_ADDR`中的显示问题。
- **1.1.0(2017-10-10)**:
- 不再支持小写HTTP动词,统一使用标准规范。
- 支持Python 3.6。
### 7. 其他重要信息
- **性能与兼容性**:Waitress是纯Python的生产级WSGI服务器,支持HTTP/1.0和HTTP/1.1,适用于Unix和Windows,兼容Python 2.7+和Python 3.4+。
- **日志与访问控制**:支持自定义访问日志,适用于反向代理场景。
## 总结
Waitress是一个高性能、生产级的纯Python WSGI服务器,注重安全性和兼容性。v1.4.0版本在反向代理支持、HTTP标准合规性、IPv6处理和文档改进方面有显著提升,同时修复了多个潜在的安全和性能问题,适合需要稳定性和灵活性的生产环境使用。 | ||
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余
36 页请下载阅读 -
文档评分














waitress Documentation v1.4.0
waitress Documentation v2.1.2