It's both. The server and the framework are to some degree usable independently from one another (via the tornado.wsgi module), but the most interesting features (i.e. all the asynchronous stuff) only work when both are used together.
A couple of other pure-python (I think) HTTP servers that haven't come up in this thread yet are twisted and paster.