| 语言 | 格式 | 评分 |
|---|---|---|
英语 | .pdf | 3 |
| 摘要 | ||
Tornado 是一个高性能的 Python Web 框架和异步网络库,支持长轮询和 WebSocket 等实时功能。文档介绍了 Tornado 6.3.3 的更新内容,包括对 Python 3.5 的不再支持、对 Windows 平台的改进兼容性、新的二进制轮子支持以及多项功能增强和性能优化。更新内容涵盖 HTTP 服务器、IOLoop、模板系统、WebSocket 和其他模块的改进。 | ||
| AI总结 | ||
### Tornado 6.3 文档总结
#### 1. 概述
Tornado 是一个 Python Web 框架和异步网络库,最初由 FriendFeed 开发。它通过非阻塞 I/O 实现高效的长轮询、WebSocket 等需要长时间连接的应用,适合高并发场景。
Tornado 的核心组件包括:
- **Web 框架**:通过继承 `RequestHandler` 创建 Web 应用,并提供支持类。
- **HTTP 服务器和客户端**:实现客户端和服务器端的 HTTP 协议。
- **异步网络库**:基于 `IOLoop` 和 `IOStream` 提供异步网络功能,可构建其他协议。
Tornado 提供完整的全栈 Web 解决方案,与 WSGI 兼容,但建议结合 Tornado 的 Web 框架和 HTTP 服务器使用以充分发挥其性能。
---
#### 2. 异步与非阻塞 I/O
Tornado 使用单线程事件循环实现异步处理,避免了传统同步服务器为每个用户分配一个线程的高资源消耗。所有应用代码应尽量异步化,以适应单线程模型。
**关键术语**:
- **异步**:任务之间可以交错执行,但不一定非阻塞。
- **非阻塞**:操作不会阻塞事件循环,允许同时处理多个任务。
---
#### 3. 主要功能更新(6.3 版本)
- **HTTP 服务器**:
- 支持路径以 `//` 开头。
- `HTTPHeaders.copy` 和 `HTTPConnection.address` 修复。
- 忽略多部分表单末尾的额外数据,解决与 iOS 客户端的兼容性问题。
- **IOLoop 和 IOStream**:
- `IOStream` 增加 `error` 属性,用于判断 socket 关闭原因。
- `IOStream.read_until` 和 `read_until_regex` 性能提升。
- `IOStream.write` 对大字符串性能优化。
- `IOLoop.instance()` 线程安全。
- **tornado.options**:
- 多次设置 `multiple=True` 选项时,覆盖旧值。
- 支持属性赋值,`--help` 输出美化。
- **tornado.template**:
- 支持非 ASCII 字符(UTF-8),在 Python 3 中与环境变量无关。
- 模板支持 `else` 子句。
- **tornado.web**:
- 支持 PATCH HTTP 方法。
- `addslash` 和 `removeslash` 装饰器改为永久重定向(301)。
- `RequestHandler.flush` 增加回调机制。
- 重复设置 cookie 时覆盖旧值。
- 新增 `transform_first_chunk` 的状态码参数。
- **tornado.websocket**:
- `WebSocketClientConnection.write_message` 支持字典参数。
- 支持最新的 WebSocket 协议(RFC 6455)。
- 支持子协议(Sec-WebSocket-Protocol 头)。
---
#### 4. 安装与兼容性
- **安装**:通过 `pip install tornado` 安装,默认依赖 Python 3.8 或更高版本。
- **平台支持**:
- 主要针对 Unix-like 系统,最佳性能在支持 epoll(Linux)、kqueue(BSD/macOS)或 /dev/poll(Solaris)的系统上。
- Windows 支持有限,不建议用于生产环境。
- **第三方依赖**:
- `pycurl`(可选,需 libcurl 7.22+)。
- `pycares`(可选,用于非阻塞 DNS 解析)。
---
#### 5. 其他重要更新(6.1.0 版本)
- **Python 版本**:6.1.0 是最后一个支持 Python 3.5 的版本,后续版本要求 Python 3.6+。
- **Windows 支持**:改进与 asyncio 的兼容性,自动回退到 selector 模型。
- **性能优化**:
- `IOLoop.add_callback` 性能提升。
- `PeriodicCallback` 避免重复触发。
- **模板改进**:
- 支持 `{# 和 #}` 语法的注释。
- 模板错误堆栈更详细,支持多行指令。
- **日志与测试**:
- 新增时间基的日志轮转模式。
- 测试用例支持 `__wrapped__` 属性。
---
#### 6. 总结
Tornado 6.3 是一个高效、异步的 Web 框架,适合长轮询和 WebSocket 等高并发场景。其核心功能包括非阻塞 I/O、单线程事件循环和完整的 HTTP 服务器支持。文档提供了详细的用户指南和 API 参考,适用于开发高性能 Web 应用。 | ||
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
257 页请下载阅读 -
文档评分














Tornado 6.3 Documentation
Tornado 6.2 Documentation