Idempotent
I came across a new term yesterday "idempotent".
An operation is idempotent if it produces the same result if performed one or more times.
W3 define idempotent as "Property of an interaction whose results and side-effects are the same whether it is done one or multiple times."
So an operation to get a product list would be considered idempotent but an operation to place (post) an order would not be.
What I didnt realise was that HTTP defines GET to be idempotent and POST to not be. This means that if you use a GET to perform a non-idempotent operation such as place an order you could potentially find some bit of middleware legitimately replaying that GET multiple times assuming it is fine because GET is non-idempotent.
So just because you can write "placeorder.aspx?itemId=38" doesnt mean you should!