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.
glyph@divmod.com ha scritto:
[...]
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.
Ok, this is a good point! But, as an example: wc channel\fastcgi.py 343 1078 11712 channel\fastcgi.py wc channel\http.py 868 2795 31479 channel\http.py So, http "support" is far more difficult to implement?.
[...]
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.
Ok, thanks.
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...
I'm not a lighttp developer, sorry ;-).
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 ;-).
Maybe a file ticket for lighttp is needed here too.
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.
[...]
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)
Well, thanks. I got the point. Regards Manlio Perillo
On Wed, 12 Apr 2006 15:01:46 -0200, Manlio Perillo <manlio_perillo@libero.it> wrote:
glyph@divmod.com ha scritto:
But, as an example:
wc channel\fastcgi.py 343 1078 11712 channel\fastcgi.py
wc channel\http.py 868 2795 31479 channel\http.py
So, http "support" is far more difficult to implement?.
The difference is actually smaller than that, since HTTP support is better commented and documented. Also, the HTTP channel has a lot more features, such as client timeout support and pipelining. The FastCGI support, as you mentioned, is incomplete, not supporting the (broken) multiplexed connections described in the protocol, or AUTHORIZER or FILTER roles. Also, they both import a great deal of logic from twisted core and other areas of web2. The difference is even smaller when you take the full picture into consideration. I think what this difference boils down to is that a lot more time and effort have (rightly) been spent on the HTTP channel than the fastCGI channel; totally correct, robust support for both would likely be close to equivalent.
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...
I'm not a lighttp developer, sorry ;-).
It is a mantissa ticket, not a lighttpd ticket, anyway :).
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 ;-).
Maybe a file ticket for lighttp is needed here too.
Probably. It may be possible, I haven't checked.
Yes but _WHY_ don't you like the idea?
[...]
Well, thanks. I got the point.
OK. I won't belabor it any longer, then :).
participants (2)
-
glyph@divmod.com
-
Manlio Perillo