struts-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <>
Subject [Struts Wiki] Update of "StrutsBackButton" by MichaelJouravlev
Date Wed, 19 Jul 2006 21:49:40 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Struts Wiki" for change notification.

The following page has been changed by MichaelJouravlev:

New page:
Work in progress!

The Back button issues are caused mainly by splitting state between client and server. If
application allows to cache views, then when a user goes back in browser resource history,
he sees a stale page. The state of this page does not correspond to state of the server anymore.

These are the choices to fight this problem:

 * Prohibit navigation with standard browser buttons;
 * Synchronize server to browser;
 * Synchronize browser to server;
 * Throw error and start with well-known "clean" point.

If server state has not been committed yet, it is possible to synchronize server to browser.
This technique is used in now popular continuations approach. On the other hand, if server
state has been committed, like after paying for the goods bought online, it is not possible
to rollback server anymore and continuations technique falls flat.

On the other hand, synchronizing view with server is always possible.

== Hall Of Shame ==

Web applications that do not support browser navigation properly, try to restrict users from
using standard browser buttons. You do not want to build an application that does something
like this:

== More Information ==

See also: BrowserBackAndSecurity

View raw message