On Wed, 12 Apr 2006 07:04:00 -0200, Manlio Perillo <manlio_perillo@libero.it> wrote:
glyph@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.)""" in nevow-deployment.html ?
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[2], 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?
Yes
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 application.
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.
You're welcome.