Tornado 6.4 Documentation
1.09 MB
268 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .pdf | 3 |
摘要 | ||
Tornado 6.4 documentation outlines improvements and new features across various modules. The tornado.iostream module now uses bytearray for better performance and allows memoryview objects for writing. The tornado.log module supports colored output on Windows with colorama. The tornado.web module introduces methods for customizing UIModule output and enhances security with xsrf_cookie_name. Security improvements include stricter parsing of Content-Length and Transfer-Encoding headers to prevent vulnerabilities. Other updates include improved IPv6 support, better error handling, and enhancements to TCPClient, TCPServer, and WebSocket functionality. | ||
AI总结 | ||
以下是对《Tornado 6.4 Documentation》的中文总结,重点突出核心观点和关键信息:
---
### Tornado 6.4 文档总结
#### 1. **核心组件与功能**
Tornado 是一个 Python 网络框架和异步 networking 库,专为支持长连接、实时 Web 特性设计(如 WebSockets 和长 polling)。其核心组件包括:
- **Web 框架**:提供 RequestHandler 等類來建構 Web 應用。
- **HTTP 客户端和服务端**:支持 AsyncHTTPClient 和 HTTPServer。
- **异步网络库**:包含 IOLoop 和 IOStream,可用於實現其他協議。
Tornado 的单线程事件循環設計節省資源,但要求應用代碼必須是非阻塞的。
---
#### 2. **更新概览**
本次更新涉及多個模塊,主要圍繞性能优化、安全性提升、平台兼容性改進以及新功能追加。
---
#### 3. **模块更新與改进**
- **`tornado.iostream`**
- `memoryview` 对象现在可以作為 `write` 方法的參數。
- 内部内存缓衝区使用 `bytearray` 替代 `list of bytes`,提升性能。
- 解决 `Futures` 在 `write` 多次調用時可能的遺棄問題。
- **`tornado.log`**
- Windows 支持彩色日誌輸出(需安裝 `colorama` 并調用 `colorama.init()`)。
- **`tornado.process`**
- 修复 Python 3.6 下子進程“仍在运行”警告。
- 提升 `cpu_count` 的錯誤處理能力。
- **`tornado.tcpclient`**
- 支持 `source_ip` 和 `source_port` 參數。
- 改進 IPv6 環境下的錯誤處理。
- **`tornado.tcpserver`**
- `handle_stream` 實現現在支持原生协程。
- 多次停止 `TCPServer` 不再引發異常。
- **`tornado.web`**
- `RedirectHandler` 支持使用 `str.format` 語法替換 URL 部分。
- 新增 `render_linked_js`、`render_embed_js` 等方法,自定義 UIModule 輸出。
- **`tornado.websocket`**
- 未關閉的客戶端連接現在可靠地記錄警告。
- `subprotocols` 參數默認爲 `None`,避免 mutable 項問題。
---
#### 4. **安全改进**
- **6.3.3 版本**
- 加強對 `Content-Length` 標識和分塊编碼的解析,避免潜在的請求走私漏洞。
- **6.3.2 版本**
- 修復 `StaticFileHandler` 的開放重定向漏洞。
- **6.3.0 版本**
- 新增 `xsrf_cookie_name` 設定,支持 `__Host` 前綴,以提升安全性(僅在 HTTPS 環境下生效)。
---
#### 5. **性能优化與兼容性改进**
- **`tornado.netutil`**
- 解決 Solaris 平台上 「latin1」編碼錯誤。
- 分},${\rm getaddrinfo}$ 結果現按地址家族排序,避免部分失敗和死鎖。
- **`tornado.simple_httpclient`**
- 提升 IPv6 支持,並默認啓用。
- 改進默認加密套件選擇。
- **`tornado.stack_context`**
- 栈上下文系統性能開銷降低。
- **`tornado.platform.twisted`**
- `TornadoReactor` 和 `TwistedIOLoop` 被棄用,統一使用 `asyncio` 事件循環。
---
#### 6. **測試與調試**
- **`tornado.testing`**
- `AsyncHTTPTestCase` 現在在 `tearDown` 阶段釋放應用記憶體。
- `AsyncTestCase` 取消棄用,並在 `tearDown` 阶段取消所有pending協程,減少Python運行時警告。
---
#### 7. **功能移除與棄用**
- **`tornado.stack_context`** 模塊被移除。
- **`tornado.platform.twisted`** 中的 `TornadoReactor` 和 `TwistedIOLoop` 被棄用。
- **`tornado.web`** 中的 `asynchronous` 裝飾器和 `callback` 引數被移除。
---
#### 8. **其他重要變化**
- **`tornado.httputil`**
- `HTTPServerRequest.write` 被棄用,建議使用 `request.connection` 方法。
- 碎片式 HTTP 標識現輸出更少的噪聲日誌。
- **`tornado.ioloop`**
- `IOLoop.set_blocking_signal_threshold` 等方法被棄用。
---
以上是《Tornado 6.4 Documentation》的核心內容總結,涵蓋了功能更新、性能优化、安全改進及兼容性增強等多方面的信息。 |
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
261 页请下载阅读 -
文档评分