James Y Knight
foom at fuhm.net
Tue Mar 15 10:37:31 MST 2005
On Mar 15, 2005, at 8:35 AM, Andrea Arcangeli wrote:
> On a related question, what web2 is supposed to improve besides the
> upload not being pinned in ram?
> Being able to do incremental improvements to software is a major
> benefit, normally rewrites are needed when something is fundamentally
> wrong in the design of the older code and so it's quicker to rewrite
> than to do incremental updates.
The main problem is that the API in twisted.web has many deficiencies.
Most of the API has already been changed by Nevow, as it subclasses the
twisted.web classes and completely changes their behavior. It's not
truly a complete rewrite, but, was taken from the work in twisted.web
and nevow.appserver/rend, and changed in API-incompatible ways, so it
needed a new namespace. (there is an adapter to let you use most older
resources, but it is not perfect compatibility, still)
But as for improvements it's supposed to bring:
- streaming upload data
- multiple headers of the same name
- better factoring of lowlevel HTTP vs highlevel request handling, to
allow other transports (e.g. CGI) to be more easily plugged in
- IResource interface improvements from Nevow
- more versatile outgoing data streaming API.
- header parsing correctness
- full HTTP1.1 support
- output filters (e.g. HTTP range support done in a generic fashion)
- I dunno, probably some more stuff I forgot at the moment.
It's not done enough yet for me to recommend using it in production,
but I would like other people to hack on it. Basically, various other
people have claimed they're going to help out, but none of that has
ever materialized, thus the delay. I also got a new job for which
web-ish stuff is not my job function.
I've used it to serve up a small website for myself without problems,
and it can also run most Nevow apps, using the "web2-2" branch of
Nevow, so it's good enough for hacking to commence. ;)
I hope to get some stuff on it done next week (PyCon), and to convince
some other people to help out, then do a prerelease after that.
I've asked radix to not do a web2 release with Twisted 2.0, but I know
some did sneak out there with one of the alphas. That doesn't mean it's
ready to use.
There is no client, but that's on the list of things to do eventually.
More information about the Twisted-web