Tornado 6.0 Documentation
692.83 KB
869 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .epub | 3 |
摘要 | ||
文档详细描述了Tornado 6.0版本的更新内容,包括新增功能、性能改进和向后兼容性更改。Tornado 6.0已停止支持Python 2.7和3.4,要求最低Python版本为3.5.2。已废弃的APIs已被移除,包括tornado.stack_context模块和多个回调参数。文档还涵盖了对IPv6支持的改进,新的TLS配置,HTTP客户端的增强功能,以及在tornado.ioloop和tornado.iostream模块中性能的优化。此外,文档强调了对原生协程的支持和AsyncTestCase的增强功能。 | ||
AI总结 | ||
以下是对《Tornado 6.0 Documentation》的中文总结,语言简洁明了,重点突出核心观点和关键信息,逻辑连贯且结构清晰:
---
### Tornado 6.0 Documentation 总结
#### 1. **概述**
Tornado 是一个 Python 异步网络库和 Web 框架,专为高并发和长连接应用设计,支持 WebSockets、长轮询等场景。其核心组件包括 Web 框架、HTTP 客户端/服务器、异步网络库和协程库。
#### 2. **主要变化**
##### **2.1 相关不兼容更改**
- **Python版本支持**:Tornado 6.0 不再支持 Python 2.7 和 3.4, minimum Python version 为 3.5.2。
- **移除的 API**:Tornado 5.1 中废弃的 API 已被移除,包括:
- `tornado.stack_context` 模块。
- 大多数回调(callbacks)参数(如 `IOLoop.set_blocking_signal_threshold`、`tornado.iostream` 中的回调参数等)。
- `TornadoReactor` 和 `TwistedIOLoop`。
- `tornado.routing` 中的某些方法。
- `tornado.process` 中的 `io_loop` 参数。
- `tornado.tcpclient`、`tornado.tcpserver` 中的 `io_loop` 参数。
- **其他不兼容更改**:
- `WebSocketHandler.get` 现为协程,需在重写时调用 `await`。
- `RequestHandler.flush` 中的回调参数已移除。
- `HTTPServerRequest.write` 移除,改用 `request.connection` 方法。
- `HTTPClient.fetch` 的 `callback` 参数已移除。
- `tornado.auth` 中的所有回调参数已移除,改用协程接口。
##### **2.2 新增特性**
- **类型注释**:Tornado 现在包含与 mypy 兼容的类型注释,提升代码静态检查和 IDE 支持。
- **原生协程**:Tornado 内部改用原生协程,提升性能。
- **流式请求体支持**:`RequestHandler` 中添加 `stream_request_body` 装饰器和 `data_received` 方法,支持流式请求体。
- **HTTP 实现统一**:`simple_httpclient` 的 HTTP 实现与 `tornado.httpserver` 统一。
- **TLS 配置**:默认使用 `ssl.create_default_context` 配置 TLS。
- **改进的默认加密套件**:提升安全性。
- **流式请求支持**:支持通过 `body_producer` 关键字实现流式请求。
##### **2.3 改进**
- **性能优化**:`IOLoop.add_callback` 性能提升。
- **日志改进**:日志文件默认使用 UTF-8 编码,减少不必要的日志冗余。
- **异常处理**:`RedirectHandler` 现在复制请求的查询参数到重定向位置。
- **测试工具**:
- `AsyncTestCase` 更好地检测未标记的生成器测试方法。
- 测试超时时显示更详细的堆栈跟踪。
- `@gen_test` 装饰器支持函数参数。
- **网络工具**:
- `getaddrinfo` 结果按地址族排序,避免部分失败和死锁。
- `SimpleAsyncHTTPClient` 支持指定源 IP。
- 301 重定向现在与 302、303 类似,其他方法不会被转换为 GET。
- **Web Framework**:
- `StaticFileHandler` 支持大范围负数和错误处理。
- `expires_days` 现可在 `xsrf_cookie_kwargs` 中设置。
#### 3. **已知问题**
- **协程取消**:`AsyncTestCase` tearDown 现在会取消所有挂起的协程,可能导致 `asyncio.CancelledError`。
- **内存管理**:某些反馈循环可能延迟垃圾回收。
#### 4. **其他信息**
- **版本更新**:详细记录了从 Tornado 4.5.1 到 6.0.4 的版本更新内容。
- **兼容性改进**:增强了对 GNU Hurd 和 Twisted 14.0.0+ 的支持。
---
以上是对《Tornado 6.0 Documentation》的总结,涵盖了主要的不兼容更改、新增特性、改进和已知问题,内容逻辑清晰,重点突出,方便快速了解 Tornado 6.0 的重要变化。 |
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
862 页请下载阅读 -
文档评分