Applying client side state management on server generated web pages
Managing client side state has become increasingly complex as the web has changed from being a network for displaying static documents to the generation of dynamic content in single page applications we see today. This poses a threat to the notion of a network of uniquely identified resources as was the original intention of the World Wide Web. It often also breaks browser usability. By implementing client side state on a legacy website with complex server side computations, this thesis investigate the difficulties of providing unique identifiers for dynamically generated content. Revealing some of the problems associated with accommodating to user expectations and sharing client side state might mitigate some of the reluctance to implement the web standards. In this thesis we look at difficulties concerning where and how to store state and issues concerning implementations of default web browser functionality like the back button, bookmarking and sharing of client state on a concrete use case. We discuss challenges that arise when applying client side state management on top of an existing "thin client" website with complicating server side state logic. The implementation is based on the Model View Controller architecture and modified to fit the web client.