 Tornado 6.1 Documentation
            Tornado 6.1 Documentation
                
  
              708.03 KB
             
              931 页
               
              0 评论
              
| 语言 | 格式 | 评分 | 
|---|---|---|
| 英语 | .epub | 3 | 
| 摘要 | ||
| Tornado 6.1文档详细描述了该Python Web框架和异步网络库的功能和更新内容。其核心组件包括Web框架、HTTP客户端和服务器、异步网络库以及协程库。该版本引入了多项改进,如异步DNS解析、增强的HTTPS支持、性能优化和错误处理增强。同时,文档还提供了模板引擎、国际化支持以及与其他服务的集成方式。 | ||
| AI总结 | ||
| 
以下是《Tornado 6.1 Documentation》的中文总结,涵盖了文档的主要内容和核心信息:
---
### 《Tornado 6.1 Documentation》总结
#### 1. **库概述**
- **Tornado** 是一个 Python 异步网络库和 Web 框架,最初由 FriendFeed 开发。此框架使用非阻塞网络 I/O,能支持数万个并发连接,适用于长轮询、WebSocket 等长连接场景。
- Tornado 的四大核心组件:
  1. Web 框架(包括 `RequestHandler` 等)。
  2. HTTP 客户端和服务器实现(如 `HTTPServer` 和 `AsyncHTTPClient`)。
  3. 异步网络库(如 `IOLoop` 和 `IOStream`)。
  4. 协程库(如 `tornado.gen`,类似于 Python 3.5+ 的 `async def`)。
---
#### 2. **主要模块介绍**
- **网络模块**:
  - `tornado.ioloop`:主事件循环。
  - `tornado.iostream`:非阻塞套接字的便捷封装。
  - `tornado.tcpclient` 和 `tornado.tcpserver`:TCP 客户端和服务器实现。
- **并发与协程**:
  - `tornado.gen`:基于生成器的协程。
  - `tornado.locks`:同步原语。
  - `tornado.queues`:协程队列。
- **集成与工具**:
  - `tornado.auth`:支持 OpenID 和 OAuth 的第三方登录。
  - `tornado.options`:命令行解析。
  - `tornado.log`:日志支持。
  - `tornado.testing`:异步代码的单元测试支持。
- **Web 模块**:
  - `tornado.web`:Web 框架核心,包括 `RequestHandler` 和模板支持。
  - `tornado.websocket`:WebSocket 支持。
---
#### 3. **版本更新说明**
- **Tornado 6.1**:
  - **主要更新**:
    - 提供 `tornado.concurrent.Future` 的 `add_done_callback` 方法。
    - 支持 `asyncio.Future` 的 `exception()` 方法。
    - `tornado.simple_httpclient` 的 `HTTPClient` 现在默认支持 `network_interface` 参数。
  - **改进**:
    - `tornado.platform.asyncio` 模块的性能和兼容性优化。
    - `tornado.iostream` 的 `SSLConnection` 类在 Python 3.7+ 上支持 `ssl.SSLContext`。
  - **问题修复**:
    - 修复 `tornado.iostream` 在某些情况下的内存泄漏问题。
    - 解决 `tornado.web` 中 `StaticFileHandler` 的一些边缘案例问题。
  - **移除**:
    - 移除了 `tornado.stack_context` 模块,建议使用 `contextvars` 替代。
- **Tornado 6.0**:
  - **主要更新**:
    - **协程支持**:全面支持 Python 3.7+ 的 `asyncio`,推荐使用 `async def` 代替 `tornado.gen`。
    - **性能优化**:提升了 `IOLoop` 的性能和资源使用效率。
    - **TLS 1.3 支持**:增强了 SSL/TLS 的安全性。
  - **改进**:
    - `tornado.ioloop.PeriodicCallback` 支持随机 jitter。
    - `tornado.tcpserver.TCPServer` 支持 `max_restarts` 参数。
  - **移除**:
    - 移除了 `TornadoReactor` 和 `TwistedIOLoop`,建议使用 `asyncio`Bridge。
---
#### 4. **已知问题**
- 某些版本的 Tornado 在处理大文件上传或特定类型的 WebSocket 连接时可能存在性能问题。
- 使用 `tornado.simple_httpclient` 时,如果服务器返回无 `Location` Header 的 3xx 状态码,可能会导致重定向失败。
---
#### 5. **升级指南**
- **从 Tornado 5.x 升级到 6.x**:
  - **移除**:
    - `tornado.gen.coroutine` 和 `yield from`,建议使用 `async def` 替代。
    - `tornado.iostream` 的 callback 参数(除 `set_close_callback` 外)。
  - **接口更改**:
    - `tornado.options.parse_config_file` 支持设置为字符串类型。
    - `tornado.web.RequestHandler.redirect` 的行为更改,某些情况下需要手动捕获 `asyncio.CancelledError`。
  - **默认行为更改**:
    - `tornado.simple_httpclient` 的最大响应体大小现在由 `max_body_size` 控制。
    - 默认 gzip 压缩级别从 9 降低到 6。
---
#### 6. **模板与国际化**
- **模板语法**:
  - 支持嵌入 Python 控制结构和表达式,例如:
    ```python
    
    
     
 | ||
 P1 
 P2 
 P3 
 P4 
 P5 
 P6 
 P7 
下载文档到本地,方便使用
    
                - 可预览页数已用完,剩余
                924 页请下载阅读 -
              
文档评分 
  














 TiDB v6.1 Documentation
          TiDB v6.1 Documentation