You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by Apache Wiki <wi...@apache.org> on 2006/07/19 23:49:40 UTC

[Struts Wiki] Update of "StrutsBackButton" by MichaelJouravlev

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:
http://wiki.apache.org/struts/StrutsBackButton

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