Lists Home |
Date Index |
On Tuesday 23 April 2002 16:27, Didier PH Martin wrote:
> Didier replies:
> I agree, but a cache bring other side effects like not having the latest up
> to date document. If the HTTP GET includes parameters then two consecutive
> HTTP GET may not have the same state too.
I know. The supposed split between 'idempotent GET' and 'mutating POST' is,
as you correctly note, a lot less strictly enforced than it should be :-)
[GET and POST are just conventions, people are free to abuse them]
> Exactly since the GET method can be overloaded by a script. So is the POST
> method. Nothing prevent a weird developer to have a GET act as a POST and a
> POST act as a GET. This is at least the current potential imposed by the
> actual servers.
Yeah. Bloody humans.
> Didier replies:
> Yes the RFC specify that GET is to be used to fetch documents but do not
> impose that a POST modify anything on the server. As a reminder, the RFC is
> located at: http://www.w3.org/Protocols/HTTP/1.1/rfc2616.pdf. I posted an
> extract below as reference.
Quite, quite. Sometimes, sadly, you do have to POST to perform an idempotent
data extraction operation... but it *shouldn't* be so :-)
Going back to the original point about providing POST from XSLT; *not*
providing it encourages people to stick to GET for idempotent access (to make
it available from XSLT), and discourages people from trying to perform side
effecting operations from XSLT (which is very, very, far from suited to such
I know what you're saying - there are idempotent operations out there that
can only be performed by POST and it would be nice to be able to access them
from XSLT - BUT I think this practice should be discouraged, not encouraged!
One of the best pieces of information you can pass to a lower layer in a
network is whether the communication action you are performing is idempotent.
If it's idempotent, then removing the requirement to avoid duplicating
communications in the network can simplify it a lot, and only idempotent
operations may be cached without breaking semantics!
Alaric B. Snell
http://www.alaric-snell.com/ http://RFC.net/ http://www.warhead.org.uk/
Any sufficiently advanced technology can be emulated in software