Sequenced HTTP requests
Original Publication Date: 2000-Jul-01
Included in the Prior Art Database: 2003-Jun-20
Disclosed is an idea to avoid repeated execution of the same servlet or URL that lead to a change in state in a server through the click on the reload button of a browser. There are mainly 3 situations that can cause the problem. (Situation 1) After invoking an URL (for example a servlet) that changes some states (for example a database field) from a web browser, if the user clicks Reload, the URL will be re-requested and the changes re-applied. (Situation 2) After invoking an URL that changes some states from a web browser, if the user clicks Back and clicks on the same URL link again, the URL will be re-requested and the changes re-applied. (Situation 3) After invoking an URL that changes some states from a web browser, if the user bookmarked the URL and access it again later, the URL will be re-requested and the changes re-applied. To solve these, each URL request that involves state changing will be invoked with a 'sequence number'. The server will check if the number is valid or not before performing the changes. First a session will be created for each client accessing the site. In the session, a 'sequence number' for the next valid request is stored. The way to determine the next 'sequence number' can be trivial (for example 0, 1, 2, 3, ..., etc) or use some complicated algorithms but that is outside the scope of this disclosure.