epub文档 waitress Documentation v2.1.1

58.27 KB 53 页 0 评论
语言 格式 评分
英语
.epub
3
摘要
文档详细介绍了Waitress,一个生产级纯Python WSGI服务器的功能和更新。Waitress支持HTTP/1.0和HTTP/1.1,无需依赖标准库之外的模块,适用于CPython和PyPy 3。文档涵盖了其使用方式、参数配置、日志记录、反向代理支持等内容,并提供了详细的API和参数说明。此外,文档还列出了Waitress的历史版本更新,包括安全修复、功能增强和Bug修复,如修复启动时崩溃、优化数据传输、支持HTTP/1.1分块传输编码等。文档还提供了开发和支持信息,包括如何报告问题、加入社区讨论和贡献代码的指南。
AI总结
《Waitress Documentation v2.1.1》主要介绍了Waitress这一纯Python WSGI服务器的更新内容、功能改进、安全修复以及使用指南。以下是核心内容总结: ### 1. **主要更新与功能改进** - **性能优化**:在2.1.1版本中,Waitress通过直接向socket发送数据,避免了唤醒主线程的开销,从而加速了首字节的传输。 - **环境变量**:新增了`REQUEST_URI`到WSGI环境变量中,类似于nginx中的`request_uri`,包含请求路径且未解码%转义字符。 - **服务器名称**:Waitress不再猜测监听socket的服务器名称,而是使用新的`server_name`参数进行配置。 - **客户端断开检测**:任务现在可以检测客户端是否断开连接,通过`waitress.client_disconnected`回调实现。 - **HTTP标准遵循**:Waitress不再为1xx、204或304响应发送`Transfer-Encoding`或`Content-Length`,并忽略WSGI应用发送的消息体。 - **日志改进**:所有输出现在都发送到Waitress的日志记录器,而不是直接发送到`stderr`。 ### 2. **安全修复** - **分块编码验证**:Waitress现在验证分块编码扩展的有效性,并确保分块长度仅包含有效的十六进制字符,防止HTTP请求走私或HTTP反序列化攻击。 - **HTTP头验证**:修复了HTTP头未正确验证的问题,防止潜在的HTTP请求走私或分割攻击。 - **正则表达式优化**:修复了正则表达式的回溯问题,防止因无效输入导致的拒绝服务攻击。 ### 3. **兼容性与文档** - **asyncore集成**:Waitress将`asyncore`模块集成到自身中,以应对Python 3.8及以上版本中`asyncore`被移除的情况。 - **文档整理**:文档进行了重组和清理,引入了`paste.translogger`的文档,并提供了更清晰的参数说明。 ### 4. **命令行工具** - **waitress-serve**:Waitress提供了一个命令行工具`waitress-serve`,用于快速启动WSGI应用,支持与`waitress.serve`相同的参数,使用方式类似于PasteDeploy。 ### 5. **支持与开发** - **社区支持**:用户可以通过Pylons Project网站、GitHub问题跟踪器、邮件列表和IRC频道获取支持。 - **贡献指南**:Waitress鼓励社区贡献,提供了详细的贡献指南和源代码贡献流程。 ### 6. **核心特性** - **跨平台支持**:Waitress支持CPython(Python 3.7+)和PyPy 3(Python 3.7+),运行在Unix和Windows系统上。 - **HTTP/1.0和HTTP/1.1支持**:Waitress支持HTTP/1.0和HTTP/1.1协议,并支持分块编码响应。 - **无依赖**:Waitress仅依赖Python标准库,适合需要广泛平台支持的Web框架作者。 ### 7. **已知问题** - **TLS支持**:Waitress不原生支持TLS,建议通过反向代理(如nginx或Apache)处理HTTPS请求。 总结:Waitress是一个高性能、跨平台的纯Python WSGI服务器,适合生产环境使用。其最新版本在性能、安全性和兼容性方面进行了多项改进,并提供了详细的文档和社区支持。
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余 41 页请下载阅读 -
文档评分
请文明评论,理性发言.