[Twisted-web] Nevow future
glyph at divmod.com
glyph at divmod.com
Wed Apr 12 11:25:36 CDT 2006
On Wed, 12 Apr 2006 07:04:00 -0200, Manlio Perillo <manlio_perillo at libero.it> wrote:
>glyph at divmod.com ha scritto:
>> What is a 'prevision'?
>1) We don't have any idea of what will happen in the future
>2) We have an ideal architecture and API definition in mind, but we
>don't know how it will take to complete the developement
#2. That was what the "context is going away, streams are going away" stuff was.
>I'm not sure of this point.
>Athena depends on the reactor, but when using Nevow with Zomne, don't we
>have a full twisted application running?
True. But you also have a full web server running.
>By the way, what about:
>"""Running your Nevow applications under twisted.web also gives you
>access to some of the more advanced "Live" features of Nevow, such as
>nevow.livepage and nevow.canvas. Currently, these modules require more
>control over the HTTP socket than CGI or WSGI can provide. (This may
>change in the future.)"""
That document is probably slightly out of date. For example, nevow.livepage has been deprecated in favor of nevow.athena. I don't think anyone is maintaining nevow.canvas any more.
>lighttp is gaining popularity, so there are opportunities to have it
>available on many hosting solutions.
Yes. Personally, I love lighttpd; I would really like it if, for example, when Mantissa starts a web server, it could automatically put static content in a front-end lighttpd proxy. I should really file a ticket for that...
lighttpd, like twisted.web, supports reverse proxies as well as other forms of frontend/backend server communication.
>Just a question:
>it is possible to forward an HTTP request using Unix domain sockets?
>Is this supported with Apache and lighhtp?
Not as far as I know. Everything sucks except Twisted ;-).
>> Yes but _WHY_ don't you like the idea?
>I like the idea of a full separation between a web server and a web
Can you name a single problem that this solves, or feature that it enables?
>The question is:
Yes. That is exactly the question. However, you've phrased it misleadingly. Since the invention of linking libraries, "program" does not have to be the same thing as "process". You can run a web server *library* as part of your web server *application* to communicate with the central web server on a particular system. There is also the question of what role a particular process serves in a particular environment, which is only tangentially related to the protocol that it should speak.
There are different requirements for serving requests at different points in a pipeline. There are web front-end proxies which do nothing but inspect a cookie and send the request, bytes unmodified, on to another machine. There are servers which will internally process some requests ("static content") and forward others ("dynamic content").
In other words,
>- what can do a web server?
Translate HTTP requests into behavior (such as dispatching to an application)
>- what have to do a web application?
Translate HTTP requests into behavior (such as processing orders for a store)
>> [...] twisted.web.distrib [...]
>This is interesting.
Yes, I do think so :).
>> I hope I've made it clear that no, it isn't.
>Thanks for the exhaustive explanation.
More information about the Twisted-web