I am not sure if this is the right place to ask but I would like to make Safari developer aware of a problem in most web applications.

The web is intended to be stateless but web application naturally require stateful behaviour. The option to append the state (for example a shopping cart) as request parameter to every request is not practical. The common solution is to create a server session and to store the session ID as cookie or request parameter on the client.

The problem with this approach is that cookies are shared across all tabulators and as a consequence they share the same session. If I open an edit dialog for product foo in tabulator 1 and an edit dialog for product bar in tabulator 2 and submit changes in tabulator 1, I will actually change product bar instead of the original in tab 1 selected 'foo'.

A solution to this problem could be a tabulator id, which is a random id generated for every tabulator and passed as request header. The web developer can now safely allow to have multiple windows on the same application by slicing his session into tabulator contexts, to store data per tabulator id.

I described this in more details in my blog.


I would appreciate your feedback on this idea. In case this was the wrong place to ask Safari developers, I apologize.


Best Regards / Viele Gruesse

Sebastian Hennebrueder

webkit-dev mailing list

Reply via email to