- From: Julian Reschke <julian.reschke@gmx.de>
- Date: Wed, 17 Feb 2010 23:03:56 +0100
- To: "Tab Atkins Jr." <jackalmage@gmail.com>
- CC: Maciej Stachowiak <mjs@apple.com>, public-html@w3.org
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