World: r3wp
[!Cheyenne] Discussions about the Cheyenne Web Server
older newer | first last |
btiffin 9-Jun-2007 [1435] | This is somewhat historic imho. Embedding a full featured web server...historic. |
Terry 9-Jun-2007 [1436x4] | Well, you could do this with Uniserve long ago.. just not with such ease and organization. |
trailing slashes seem to play an important part.. will this be an issue with improperly formed urls? | |
cookies still not working with xp ? | |
Ok.. sessions work if i use 127.0.0.1 rather than localhost | |
Graham 9-Jun-2007 [1440x3] | Script: "Cheyenne Web Server" (9-Jun-2007) Script: "Untitled" (none) [uniserve] Async Protocol FastCGI loaded [uniserve] Starting task-master... [uniserve] Starting HTTPd... make object! [ code: 300 type: 'script id: 'no-value arg1: 'do-events arg2: none arg3: none near: [do-events] where: none ] >> |
Needs rebol/view ??? | |
>> do-events: func [ [ "Process all View events." [ ][ [ wait [] [ ] >> do %cheyenne.r Script: "Cheyenne Web Server" (9-Jun-2007) Script: "Untitled" (none) [uniserve] Async Protocol FastCGI loaded [uniserve] Starting task-master... [uniserve] Starting HTTPd... | |
Will 9-Jun-2007 [1443] | in cheyenne.r: - if unset? 'do-events [do-events: does [wait []]] + if not value? 'do-events [do-events: does [wait []]] |
Graham 9-Jun-2007 [1444x2] | must be a mistake |
instead of using do-events, just use wait [] | |
Dockimbel 10-Jun-2007 [1446] | do-events == wait [ ], the docstring inside do-events func spec is not accurate, it should be "Process all events". |
Maarten 10-Jun-2007 [1447x2] | Woha! |
(that's a compliment ;-) | |
Dockimbel 10-Jun-2007 [1449] | Archive re-released with a fixed test for 'do-events. |
Maarten 10-Jun-2007 [1450x2] | 2 questions: will you combine this with nysql:// ? I would like the session management to be databse driven so that load-balancing becomes easier? |
*mysql:// | |
Dockimbel 10-Jun-2007 [1452x2] | hum, it should be possible to store session data in DB, but you'll loose performances compared to keeping it in memory (it's stored in Cheyenne's main process). |
what kind of load-balancing architecture do you have in mind ? | |
Maarten 10-Jun-2007 [1454x5] | multiple web servers with sessions and database driven content. So based on the session ID i generate personalized content |
If the session ID is persistent in a DB any Cheyenne can handle the request | |
Ideally, you can configure the session mgt backend in httpd.cfg | |
Other question: how do I create a friendly URL mapping in Cheyenne? using the publish-site dialect? | |
(hope I'm not too demanding, just trying to match Cheyenne against a lot fatures I use in my projects) | |
Dockimbel 10-Jun-2007 [1459] | If you're using Cheyenne in embed-mode, 'publish-site let you define whatever URL mapping you want. In standalone Cheyenne, there's no general way to define URL mapping, it's currently up to each module (CGI, RSP,...) to handle their specific mappings. I'm hoping that the future mod-rewrite will allow efficient and general URL mapping (there's a mod-rewrite published by Will, who could already do that). |
Maarten 10-Jun-2007 [1460x2] | I think that embedded mode might be the killer. Especially if you can combine it with encapsulation on a virtual file system |
Is there a module writing 101? | |
Dockimbel 10-Jun-2007 [1462] | About the DB stored sessions shared across multiple Cheyenne instances, it would require a significant change in the current way session data and especially, session synchronization is handled (currently, it relies on semaphores and queuing to achieve that). |
Maarten 10-Jun-2007 [1463] | OK. The other option is using a load balancer that support sticky sessions |
Dockimbel 10-Jun-2007 [1464] | Encapsulation with virtual file system : that's planned for next week ;-) |
Oldes 10-Jun-2007 [1465] | And how it's with php and fastcgi? |
Maarten 10-Jun-2007 [1466x2] | But... also for fail-over it is nice to have it databas driven |
OK. Although I must say that on second thought for serverside softwware encapsulation isn't that interesting | |
Dockimbel 10-Jun-2007 [1468] | I agree, sessions need to be stored somewhere on disk for fail-over. |
Oldes 10-Jun-2007 [1469] | Not just session... user passwords as well |
Maarten 10-Jun-2007 [1470] | And credit card numbers! |
Oldes 10-Jun-2007 [1471] | :) |
Terry 10-Jun-2007 [1472] | Yeah, and sessions are fine if you don't mind logging in everytime you open your browser |
Maarten 10-Jun-2007 [1473] | Terry: do you mind? |
Terry 10-Jun-2007 [1474x2] | ? |
What, Im Trolling again? | |
Maarten 10-Jun-2007 [1476x2] | No! I meant : do you mind logging in every time.... |
And if so, what do you prefer and how do you solve it. | |
Terry 10-Jun-2007 [1478] | ah ;) yeah.. its a hassle |
Dockimbel 10-Jun-2007 [1479] | Terry: I may add an option to make sessions persistent on client-side, but that require cookies with expire time, means failing again in REBOL timezone issues... |
Maarten 10-Jun-2007 [1480] | Funny, I consider it basic security |
Dockimbel 10-Jun-2007 [1481] | me too |
Terry 10-Jun-2007 [1482] | What i did with Framewerks is when a client logs in, I generate a random hash, and store it as a cookie, as well as on the DB associated with that user. |
Graham 10-Jun-2007 [1483] | Logging in is good |
Terry 10-Jun-2007 [1484] | Set the cookie to expire in 10 hours (log in once a day) |
older newer | first last |