Re: Zero-edits Counter Proposal for Issues 1 and 2 (Ping)

On 17.02.2010 22:51, Tab Atkins Jr. wrote:
> On Wed, Feb 17, 2010 at 3:31 PM, Julian Reschke<julian.reschke@gmx.de>  wrote:
>> On 17.02.2010 22:17, Maciej Stachowiak wrote:
>>> Aren't all "safe" methods also "idempotent" by definition?
>>
>> Almost.
>>
>> Except for the side effects that a safe method is allowed to have, such
>> incrementing hit counters etc.:
>>
>> "Naturally, it is not possible to ensure that the server does not generate
>> side-effects as a result of performing a GET request; in fact, some dynamic
>> resources consider that a feature. The important distinction here is that
>> the user did not request the side-effects, so therefore cannot be held
>> accountable for them."
>>
>> If you ignore those potential side effects as self-inflicted by the server
>> (and not requested by the user), then yes, a safe method is also idempotent.
>
> I think that a potentially important distinction here is that, say,
> incrementing a hit counter is an incidental side effect of the
> otherwise-innocuous page request.  A @ping-initiated request doesn't
> have the server change as a side-effect, it's the entire point of the
> request.  The server change can be thought of as a side-effect of the
> *user interaction*, but as I said (and Jonas has now concurred with),
> making a user-interaction-level distinction between safe and unsafe
> methods is *not* done in practice, and experience shows that when it
> has been attempted it's been a bad idea.  It seems to be a harmful
> mixing of layers.

Of course it is done in practice. People are accustomed to the fact that 
buttons mean "put in shopping basked"/"buy"/"delete", while blue 
underlined terms are links.

I'm aware that these things are styled, and hacked around, but please 
don't claim that this is not the *default* way to present things.

Best regards, Julian

Received on Wednesday, 17 February 2010 22:04:50 UTC