These are notes in preparation for a talk I'll be giving to LUNA.
The basic structure of the web is one of clients and servers. A web server sits around waiting for someone to request a document from it. That someone is a client. The basic steps are these:
Turning this into an interactive situation is quite easy, really. All we have to do is modify step 3. Instead of the webserver finding and returning a document, we have the webserver execute a program and we return the result. And voila! We now have a web-based application.
There is a hitch with this simple method of allowing a client to request the result of a computation through a webserver. In a word -- "state".