[Zope-dev] RFC 2616, side effects, and idempotence (was: Last-Modified....)

Toby Dickenson tdickenson@geminidataloggers.com
Tue, 18 Jun 2002 15:18:07 +0100


On Tuesday 18 Jun 2002 2:15 pm, R. David Murray wrote:

> > > RFC 2616 section 9.4 states that "HEAD" is identical to "GET" in th=
is
> > > respect, and both should have no side effects.
>
> This bugged me the first time this discussion went around, and I
> feel impelled to clearify it now, even though it is a little
> tangential to the core of the discussion.  I guess I'm just a
> precisionist when it comes to terminology <grin>.

Yes, you are precisely correct. Thanks.

> So it seems to me that some of the concern I have seen in Zope code
> with avoiding "write on read", where a GET request would otherwise
> trigger the one-time initialization of something in the database,
> is misplaced if the concern that motivates it is adhering to this
> spec.

Yes, I dont think this is a problem.

> NB: There seems to be a small bug in the spec, in that it does not say
> that any sequence of GET and HEAD requests on the same URI should
> be idempotent, but that is clearly the intent.
>
> PS: somehow, I don't think the spec writers thought
> much about hit counters...

I like the phrase 'largely idempotent' to refer to what we want from a GE=
T or=20
a HEAD. A page with a hit counter is 'largely idempotent'.