If every request to a site receives a fully rendered page, the consumer will always receive the latest representation for a resource. Things get trickier when navigation and rendering are controlled by JavaScript; templates could get stale, URLs could be updated, and we have to inform the client of this.

An update is required. Please refresh your browser. TypeError: undefined is not an object

When using progressive enhancement, maybe requests could be sent with a header specifying a version. If it matches, continue. Otherwise, fail and do a full refresh. I would enjoying hearing how others have solved this problem.

Nicholas Lindley