Recent Posts

Tags

News

  • Sentient

    My services as a speaker, consultant, trainer and developer are available through Sentient.

    Sentient is a leading provider of software development, consultancy and training services on the Microsoft platform.

    Please feel free to contact me if you have a question about something posted in my blog.

Community

Email Notifications

Links

Archives

Sentient thoughts about .NET

Jonathan Greensted's .NET weblog

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!

Comments

TrackBack said:

^_~,pretty good!csharpsseeoo
# May 17, 2005 10:05 PM

TrackBack said:

Idempotentooeess
# July 17, 2005 2:52 AM

TrackBack said:

Idempotentooeess
# July 31, 2005 10:27 PM
Leave a Comment

(required) 

(required) 

(optional)

(required)