Introduction¶
Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed. By using non-blocking network I/O, Tornado can scale to tens of thousands of open connections, making it ideal for long polling, WebSockets, and other applications that require a long-lived connection to each user.
Tornado can be roughly divided into three major components:
A web framework (including
RequestHandler
which is subclassed to create web applications, and various supporting classes).Client- and server-side implementions of HTTP (
HTTPServer
andAsyncHTTPClient
).An asynchronous networking library including the classes
IOLoop
andIOStream
, which serve as the building blocks for the HTTP components and can also be used to implement other protocols.
The Tornado web framework and HTTP server together offer a full-stack
alternative to WSGI.
While it is possible to use the Tornado HTTP server as a container for
other WSGI frameworks (WSGIContainer
), this combination has
limitations and to take full advantage of Tornado you will need to use
Tornado’s web framework and HTTP server together.