tornado是一个可扩展的非阻塞web服务器以及相关工具的总称。tornado每秒可以处理数以千计的连接,所以对于实时web服务来说,tornado是一个理想的web框架。
tornado作为friendfeed网站的基础框架,于2009年9月10日发布,目前已经获得了很多社区的支持,并且在一系列不同的场景种得到应用。除了friendfeed和facebook外,还有很多公司在转向tornado。
相对其他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机制、用户身份认证、防止跨站攻击等等。
以上就是tornado是什么?tornado的简单介绍的详细内容。
