the markup returned by the Web server. The browser-to-server communication employs
the classic HTTP protocol. As is widely known, the HTTP protocol is stateless, which means
that each request is not related to the next and no state is automatically maintained. (The state
objects we all know and use in, say, ASP.NET are nothing more than an abstraction provided
by the server programming environment.)
Communication between the browser and the Web server occurs through “forms.” From a
user’s perspective, the transition occurs through “pages.” Each user action that originates a
new request for the server results in a brand new page (or a revamped version of the current
page) being downloaded and displayed.
Let’s briefly explore this model a bit further to pinpoint its drawbacks and bring to the surface
the reasons why a new model is needed.