2026-03-19 at

Web caching reflections

Web caching reflections, from today's walk.

Part 1

It is nowadays essential to distinguish between two types of server resources, 
  • (1) base data, which is canonical, and 
  • (2) session data, which is temporarily-stored client-state.
Nowadays, (2) may hold nearly the entire state of clients, including rendered markup, and runtime objects in memory.

  • SSG and ISR depend on (1). No client state is needed, whether serving static content to one or multiple clients.
  • CSR depends on (1), and again client state need not be told to the server.
  • SSR and ESR always depend on (1), and may or may not depend on (2), depending on app architecture.

Part 2

Resource modularisation is natural to the tree-structure of GML (1969) descendents. 2010s web frameworks standardised an expensive approach to differential updates of client session renders, with the concept of a Virtual DOM.

One of the common markup patterns is to have a branch (the Content) subbranched, under a superbranch (the Layout). But then the subbranch is ontologically primary, and the superbranch is relatively trivial. So, in the data-structure prior to rendering markup, it becomes more elegant to model Content as a parent object, and its Layout as a child object. This simplifies the rendering pipeline, and also "allows children to dress however they like, and allows the clothes to pick their own clothes, many layers deep". 

No comments :

Post a Comment