[Seaside] Concurrency question

Dale Henrichs dale.henrichs at gemstone.com
Tue Feb 19 01:20:47 UTC 2008


Jeffrey Straszheim wrote:
> Dale Henrichs wrote:
>> In Squeak, HTTP requests for _different_ sessions are processed 
>> concurrently via green threads (a thread is forked for each HTTP 
>> request). HTTP requests for the _same_ session are serialized via a 
>> session-specific Semaphore.
> Interesting.  Is is possible to create multiple sessions for the same 
> physical user?
Let's be clear here. When you hit Seaside with an URL like 
http://example.com/seaside/examples/counter, Seaside creates a unique 
session with an ID that will be embedded in all of the dynamic URLs 
generated from there on out for that session. If the same physical users 
opens a new tab in the same browser and enters the 
http://example.com/seaside/examples/counter again, they will have a 
separate Seaside session created, that is totally independent from the 
other session.

If the user had clicked on the ++ link for example, she would see an URL 
like the following 
http://example.com/seaside/examples/counter?_s=lhDEQmkRhiXILSEU&_k=hySRdyan 
in the browser. If she copied that URL and mailed it to a colleague (or 
pasted it into a separate tab in the browser), then both of them could 
issue simultaneous requests against the same session and those requests 
would be serialized by the server.

I am less familiar with the ins and outs of Ajax, so I'll let someone 
else field the rest of your questions.

Dale


More information about the seaside mailing list