Publication Date


Degree Type

Master's Project

Degree Name

Master of Science (MS)


Computer Science


Ajax, or AJAX (Asynchronous JavaScript and XML), is a group of interrelated web development techniques used to create interactive web applications or rich Internet applications[9]. Web applications can retrieve data from the server asynchronously in the background without interfering with the display and behavior of an existing web page. [9] One of the biggest problems with Ajax applications is saving state and accommodating the succession of the history controls, (Back/forward buttons). Ajax allows documents to become stateful, but when the user intuitively goes for the history controls in the browser window, things go wrong. The user expects to see the previous state of the document and is surprised to see a webpage they were on 20 minutes ago, before they arrived at the Ajax application. Our project aims to solve this problem. We have implemented an extension to the Firefox Mozilla browser that caches different states of web pages at regular intervals and displays all the different states of the page as the user navigates through the history.