When a user clicks a Back button or a Forward button while reviewing an
application page in a browser, the client performs an action in response
which is specified by a server. The Back and Forward buttons may be
controlled by the server and may be used to provide real undo and redo
functionality for stateful server applications. The functionality may be
implemented using invisible pages loaded in the browser. If it is
determined that undo or redo cannot be performed, the client may continue
to display the application page, optionally with a message to the user.