Python:Tornado 开篇

下一篇文章: Python:Tornado 第一章:异步及协程基础:第一节:同步与异步I/O

Tornado是一个可扩展的非阻塞Web服务器以及相关工具的总称。Tornado每秒能够处理数以千计的链接,因此对于实时Web服务来讲,Tornado是一个理想的Web框架。web

Tornado做为FriendFeed网站的基础框架,于2009年9月10日发布,目前已经得到了不少社区的支持,而且在一系列不一样的场景种获得应用。除了FriendFeed和Facebook外,还有不少公司在转向Tornado。segmentfault

相对其余Python网络框架,Tornado有以下特色:浏览器

  • 完备的Web框架:与Django、Flask同样,Tornado也提供了URL路由映射、Request上下文、基于模板的页面渲染技术等开发web应用的必备工具。
  • 是一个高效的网络库,性能与Twisted、Gevent等底层Python框架相媲美:提供了异步I/O支持、超时事件处理,这使得Tornado除了能够做为Web应用服务器框架外,还能够用来作爬虫应用、物联网关、游戏服务器等后台应用。
  • 提供高效HTTPClient:除了服务器端框架,Tornado还提供了基于异步框架的HTTP客户端。
  • 提供高效的内部HTTP服务器:虽然其余Python网络框架(Django、Flask)也提供了内部HTTP服务器,但它们的HTTP服务器因为性能缘由只能用于测试环境。而Tornado的HTTP服务器与Tornado异步调用紧密结合,能够直接用于生产环境。
  • 完备的WebSocket支持:WebSocket是HTML5的一种新标准,实现了浏览器与服务器之间的双向实时通讯。

由于Tornado的上述特色,Tornado常被用做大型站点的接口服务框架,而不像Django那样着眼于创建完整的大型网站。安全

另外,用户身份认证是几乎全部网站的必要功能,对于Tornado的开发源头FriendFeed和Facebook这样的社交网站尤为如此。因此Tornado框架自己较其余Python框架集成了最为丰富的用户身份验证功能。使用该框架,开发者可以快速开发出即安全又强大的用户身份认证机制,例如:Cookie机制、用户身份认证、防止跨站攻击等等。服务器

相关文章
相关标签/搜索