合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
### Navigation - [index](# "General Index") - [modules](# "Python Module Index") | - [next](# "Asynchronous and non-Blocking I/O") | - [previous](# "User鈥檚 guide") | - [Tornado 4.4.dev1 documentation](#) » - [User's guide](#) » # Introduction [Tornado](http://www.tornadoweb.org) [http://www.tornadoweb.org] is a Python web framework andasynchronous networking library, originally developed at [FriendFeed](http://friendfeed.com) [http://friendfeed.com]. By using non-blocking network I/O, Tornadocan scale to tens of thousands of open connections, making it ideal for[long polling](http://en.wikipedia.org/wiki/Push_technology#Long_polling) [http://en.wikipedia.org/wiki/Push_technology#Long_polling],[WebSockets](http://en.wikipedia.org/wiki/WebSocket) [http://en.wikipedia.org/wiki/WebSocket], and otherapplications that require a long-lived connection to each user. Tornado can be roughly divided into four major components: - A web framework (including [`RequestHandler`](# "tornado.web.RequestHandler") which is subclassed tocreate web applications, and various supporting classes). - Client- and server-side implementions of HTTP ([`HTTPServer`](# "tornado.httpserver.HTTPServer") and[`AsyncHTTPClient`](# "tornado.httpclient.AsyncHTTPClient")). - An asynchronous networking library including the classes [`IOLoop`](# "tornado.ioloop.IOLoop")and [`IOStream`](# "tornado.iostream.IOStream"), which serve as the building blocks for the HTTPcomponents and can also be used to implement other protocols. - A coroutine library ([`tornado.gen`](# "tornado.gen")) which allows asynchronouscode to be written in a more straightforward way than chainingcallbacks. The Tornado web framework and HTTP server together offer a full-stackalternative to [WSGI](http://www.python.org/dev/peps/pep-3333/) [http://www.python.org/dev/peps/pep-3333/].While it is possible to use the Tornado web framework in a WSGIcontainer ([`WSGIAdapter`](# "tornado.wsgi.WSGIAdapter")), or use the Tornado HTTP server as acontainer for other WSGI frameworks ([`WSGIContainer`](# "tornado.wsgi.WSGIContainer")), each of thesecombinations has limitations and to take full advantage of Tornado youwill need to use the Tornado's web framework and HTTP server together. © Copyright 2009-2016, The Tornado Authors. Created using [Sphinx](http://sphinx-doc.org/) 1.3.5.