Forum OpenACS Q&A: Response to How to keep trace of server-side state?
First request: give a sessionid, store it in a nsv shared variable, redirect to URL + sessionid.
Second request: the sessionid is already there, so you store the info and serve the page.
Advantages: no cookies, and you can expire sessions when you want them to (never expire, expire in 4 hours, etc.).
Disadvantages: you have to parse the HTML pages one way or another and modify the URLs to have the sessionid in the links, OR, do the first request/second request each time a new page is requested.