Routing requests
HTTP is a data transfer protocol built upon a request/response model. Using this protocol many of us communicate our current status to friends, buy presents for family, or discuss a project over e-mail with colleagues. A staggering number of people have come to depend on this foundational Internet protocol.
Typically, a browser client will issue an HTTP GET request to a server. This server then returning the requested resource, often represented as an HTML document. HTTP is stateless, which simply means that each request or response maintains no information on previous requests or responses—with each back and forward movement through web pages the entire browser state is destroyed and rebuilt from scratch.
Servers route state change requests from clients, ultimately causing new state representations to be returned, which clients (often browsers) redraw or report. When the WWW was first conceived this model made sense. For the most part this new network was understood as a...