For cosmetic reasons the prestate is removed with another redirect in case the session identifier is being sent in both places, cookie and prestate. Now it's possible to identify each webbrowser with each request. The next step is to use variables that we can fill with content and use those values during the sequent requests. There are other difficult data types like objects, programs, file and socket descriptors. Those are not covered by this module.
Pike offers some builtin functions to encode variables into a string.
Now, the plain string containing the encoded session variables for a single request needs to be stored somewhere. And it has to be restored when the same webbrowser sends the next request. There are some ways to store the session variables on the server. A simple solution is to keep all session variables in memory. But memory is having the big disadvantage that all the variables will be lost when the server is being restarted, either due to a crash or administration reasons.