I recently had a discussion with a coworker about a project he was starting. What he wanted to do was more tuned to an intranet project, but it got me thinking about how a web site could be radically structured, albeit with some work, to greatly enhance scalability by exploiting caching and client-side rendering.
The goal would be to seperate as much of the HTML and other artwork as possible into immutable files which can be cached within the browser or other intermediate layers. Also, we want to get the server out of the business of rendering complex pages -- the assembly of condensed data with HTML layout would be done on the client side. Finally, by removing input data from HTML output, and instead providing it within a strictly encoded format, we can hopefully minimize our vulnerability to cross site scripting by using a small carefully designed library to place the data on the page in a properly encoded display format.
Such an approach might split a typical application page into 4 parts as follows:
This of course ignores any required CSS and graphics files, which continue to be used as needed.
TODO: provide an example mockup (some other day).
("month"? Who am I kidding...)