waitress Documentation v1.3.1
249.32 KB
95 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .pdf | 3 |
摘要 | ||
《waitress Documentation v1.3.1》详细介绍了Waitress这一生产级纯Python WSGI服务器的功能、更新和修复。Waitress支持HTTP/1.0和HTTP/1.1,运行于CPython和PyPy平台,适用于Unix和Windows系统。文档涵盖了从1.0.0到1.3.1版本的更新内容,包括IPv6支持、多socket监听、安全增强(如禁止带下划线的HTTP头)、兼容性调整(如不再支持Python 2.6)、以及性能优化(如处理大缓冲区时的整数溢出修复)。此外,文档还提供了关于日志记录、命令行工具waitress-serve的使用说明,以及与其他系统的集成支持。 | ||
AI总结 | ||
《Waitress Documentation v1.3.1》文档主要介绍了Waitress,一个生产级纯Python WSGI服务器,支持HTTP/1.0和HTTP/1.1协议,兼容CPython 2.7+和Python 3.4+,并在Unix、Windows和PyPy 1.6.0上运行。以下是文档的核心内容总结:
### 1. **主要功能与特性**
- **多Socket监听**:Waitress支持同时监听多个Socket,包括IPv4和IPv6,可通过`listen`参数指定多个地址和端口。
- **IPv6支持**:Waitress新增了对IPv6的支持。
- **安全性增强**:Waitress会丢弃客户端请求中包含下划线的HTTP头部,防止下划线与连字符混淆导致的安全问题。
- **HTTP标准遵循**:Waitress不再为1xx、204或304响应发送`Transfer-Encoding`或`Content-Length`头部,并忽略WSGI应用发送的消息体,确保符合HTTP标准。
### 2. **兼容性与依赖**
- **Python版本支持**:Waitress不再支持Python 2.6和Python 3.2,未来版本将逐步淘汰对Python 2.6的支持。
- **asyncore集成**:Waitress将`asyncore`模块集成到自身,以应对Python 3.8及以后版本中`asyncore`从标准库中移除的情况。
### 3. **安全与防护**
- **HTTP响应拆分防护**:Waitress禁止在状态行或头部键中包含换行符或回车符,防止HTTP响应拆分攻击。
- **头部处理**:Waitress不再允许WSGI应用设置“逐跳”头部(如`Connection`、`Transfer-Encoding`等)。
### 4. **Bug修复与改进**
- **地址解析问题修复**:修复了在没有互联网连接的主机上绑定`localhost`时,`getaddrinfo`不返回地址的问题。
- **缓冲区管理**:修复了`FileBasedBuffer`和`ReadOnlyFileBasedBuffer`的布尔值判断问题,并在请求结束时调用`prune()`以防止输出缓冲区无限增长。
- **日志与错误处理**:Waitress在调用`serve`时自动设置日志记录,并将所有输出发送到`waitress`日志器,避免直接输出到`stderr`。
### 5. **文档与工具**
- **文档更新**:文档进行了重组和清理,并引入了`paste.translogger`的文档。
- **命令行工具**:新增了`waitress-serve`命令行工具,允许直接运行WSGI应用,无需额外配置。
### 6. **其他改进**
- **Unix域套接字支持**:Waitress新增了对Unix域套接字的支持。
- **大缓冲区处理**:修复了大缓冲区导致的整数溢出问题。
### 7. **已知问题与支持**
- **已知问题**:文档中列出了部分已知问题,但未详细说明。
- **支持与开发**:Waitress是一个开源项目,支持通过GitHub进行问题报告和贡献。
总结:Waitress是一个高性能、轻量级的WSGI服务器,专注于生产环境的使用,具备良好的兼容性和安全性,同时不断修复和改进功能,确保符合HTTP标准并提升用户体验。 |
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余
83 页请下载阅读 -
文档评分