Tornado 6.4 Documentation
1.09 MB
268 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .pdf | 3 |
摘要 | ||
文档系统阐述了Tornado 6.4版本的功能更新和改进,包括性能优化、错误处理增强、安全修复以及与其他库的兼容性提升。Tornado是一个Python异步网络库和Web框架,旨在通过非阻塞网络I/O实现高并发处理,适用于长连接和实时Web应用。其主要组件包括Web框架、HTTP客户端/服务器实现和异步网络库。版本更新涵盖了多个模块,如tornado.iostream、tornado.log、tornado.tcpclient等,新增了诸如支持colored日志输出、改进IPv6支持、优化错误处理和提高默认安全性等功能。 | ||
AI总结 | ||
以下是对《Tornado 6.4 Documentation》的总结,涵盖了主要模块的更新和改进:
---
### **Tornado 6.4 Documentation 总结**
#### **1. 介绍**
- Tornado 是一个 Python Web 框架和异步网络库,支持非阻塞网络 I/O,适合长轮询、WebSockets 等长连接应用。
- 主要模块包括:Web 框架、HTTP 客户端/服务器实现、异步网络库(IOLoop 和 IOStream)。
#### **2. 模块更新与改进**
##### **tornado.iostream**
- 允许使用 `memoryview` 对象作为 `write` 方法的参数。
- 内部存储从列表改为 `bytearray`,提升性能。
- 修复了 `Futures` 在多次 `write` 调用时的潜在问题。
##### **tornado.log**
- Windows 环境下支持彩色日志输出,需安装 `colorama` 库并调用 `colorama.init()`。
- `LogFormatter` 构造函数签名更改,以与 `logging.config.dictConfig` 兼容。
##### **tornado.netutil**
- 解决了 Solaris 上的“LookupError: unknown encoding: latin1”问题。
- 改善了对 GNU Hurd 的兼容性。
##### **tornado.process**
- 在 Python 3.6 上,子进程不再触发“subprocess still running”警告。
- 提升了 `cpu_count` 的错误处理。
##### **tornado.tcpclient**
- 支持 `source_ip` 和 `source_port` 参数。
- 改善了对不完整 IPv6 支持环境的错误处理。
##### **tornado.tcpserver**
- `TCPServer.handle_stream` 实现可作为原生协程。
- 防止了两次停止 `TCPServer` 时的异常。
##### **tornado.web**
- `RedirectHandler` 支持使用 `str.format` 语法替换重定向 URL。
- 新方法(如 `render_linked_js`、`render_linked_css`)可定制 UIModule 输出。
##### **tornado.simple_httpclient**
- 默认启用 IPv6 支持。
- 提升了默认密码套的选择(Python 2.7+)。
- 支持通过 `body_producer` 实现流式请求正文。
##### **tornado.stack_context**
- 无上下文时性能开销降低。
- 模块已移除。
##### **tornado.testing**
- `AsyncHTTPTestCase` 在 `tearDown` 时释放应用引用。
- `AsyncTestCase` 取消所有挂起的协程,减少警告。
##### **tornado_PLATFORM**
- `asyncio` 模块支持 Python 2.6 和 Trollius 0.3。
- `TwistedIOLoop` 已移除,使用 asyncio 事件循环。
##### **tornado.httputil**
- 支持 RFC 2231/5987 格式的非ASCII文件名。
- `HTTPServerRequest.write` 弃用,建议使用 `request.connection` 方法。
-,默认 Etag 标头改为使用 SHA-512 代替 MD5。
---
#### **3. 安全与兼容性改进**
- 修复了 Cookie 解析漏洞,防止任意 Cookie 设置并绕过 XSRF 保护。
- 优化了对 Python 3.8 以及 Windows 平台的支持,提供二进制轮子。
- 删除了旧模块和方法,如 `TornadoReactor` 和 `TwistedIOLoop`,建议使用更现代的 asyncio 事件循环。
---
#### **4. 其他改进**
- 支持从 `IOStream` 关闭时更早检查,避免不必要的错误日志。
- `PeriodicCallback` 新增 `jitter` 参数,随机变动超时时间。
- 增强了对 Docker 环境及 IPv6 绑定的兼容性。
---
### **总结**
Tornado 6.4 版本主要优化了性能、错误处理和安全性,增强了对现代 Python 版本和多种操作系统的兼容性,并删除了一些旧模块以便于框架的现代化。开发者可以通过这些改进提升应用的稳定性和运行效率。 |
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
261 页请下载阅读 -
文档评分