Version 16 (modified by exarkun, 7 years ago) (diff)


Twisted Web2

Twisted.Web2 is an experimental web server built with Twisted. Useful Web2 functionality will be backported to TwistedWeb until TwistedWeb is as featureful as Web2, then Web2 will be abandoned.

If you're here to learn about web development with Twisted, please read this page first!

Improvements over Twisted.Web:

  • Streaming upload data
  • Support for multiple headers of the same name
  • Separation of low level HTTP and high level request handling which allows it to run under other transports such as SCGI and CGI
  • IResource API improvements from Nevow
  • More versatile outgoing data streaming API
  • Correct header parsing
  • Full HTTP/1.1 support
  • Output filters (HTTP range support in a generic fashion, and gzip support)
  • Significantly better URI Rewriting when used behind a proxy such as Apache's mod_proxy

Things to further improve

  • Speed, it's not very fast, depending on how the benchmarks are done it's either significantly faster than Twisted.Web or twice as slow.
  • Better twisted.web compatibility
  • More and better tests

Twisted Web2 is available under the MIT Free Software licence.


twisted.web2 is an experimental library, whose improvements will eventually be factored back into twisted.web.

If you want to use web2, please use an SVN checkout of Twisted trunk until the features you need have been made available in twisted.web.


Documentation source is available for Twisted Web2.


Subscribe to the twisted-web mailing list or visit the #twisted.web channel on to ask questions.

Report a bug or request a feature using the issue tracker (registration required), or browse Twisted Web2 tickets.