Multi-page behaviours in modern web applications

Some time ago, I looked into Multi-Page Applications (MPAs), and in particular the behaviours we expect from MPAs, and how modern web applications support those behaviours even when they are not implemented like a traditional MPA.

I had some ideas for a blog post and started writing. But then other priorities took over.

Now I have some time over the holiday period, I’ll tidy up what I have and start posting it here. The only problem is it won’t fit into one blog post—so I’ll make it series of blog posts.1 I will use this post as a table of contents, which I’ll update as I go along.


  1. What are multi-page behaviours?
  2. The HTML5 History API
  3. The Simple CSR-MPA pattern
  4. The Stateful CSR-MPA pattern
  5. But wait… are they Single Page Applications?
  6. The location hash (in progress)
  7. Security considerations for CSR-MPAs
  8. Hybrid MPAs

Note: Throughout this blog series I use the generic term “CSR application” where many other sources would use “Single Page Application” (SPA). The rationale for this can be found in post 5.

In the first post I’ll look at the traditional notion of an MPA, and then contrast it with a more modern perspective that focuses on behaviour.

  1. It’s about multi-page behaviours, why wouldn’t it have multiple pages?