RE: Idempotent

----------
 Maurizio Codogno writes:
]
] % >Idempotent
] %
] % I second the request for a clear definition in the context of this spec.
] % Another good reason for this: idempotent is not in any dictionary
] % (including my Webster's unabridged) that I could find.
]
] Being a mathematician, my idea of idempotence is a function f such as
] f(f(x)) = f(x) .
]
] Now, I admit it is not something I'll put on the http specs, but what about
]
] "something which does not change if requested twice in rapid succession"?

How about:

"the results do not change in a way that matters (to the client or 
server) if repeated twice in a row (i.e., with no other intervening methods)"

The reason that GET incrementing a counter can still be idempotent is 
that it doesn't matter to the client or server. (If it did, e.g., 
payment was based on hits, then this arguement wouldn't apply.)

I don't have a position (yet) on whether GET should be required to be 
idempotent. However, if it isn't, then any non-idempotent GET *must* be 
marked non-cacheable.

Paul

Received on Wednesday, 30 August 1995 10:36:36 UTC