Re: ETags and concurrency control

I want to remind of how Apache and IIS use weak etags:

They create weak etags when the time of the request is within the same 
second as the last modified date of the resource. This weak etags simple 
mean:
- if the etag matches, the entity is most probably unchanged, but there 
is a small chance, that it changed.
- if the entity changed, it may have changed into anything; there is 
absolutely no check for anything like semantic equivalence.

 From this common use of weak etags, it makes sense to not allow weak 
etags in PUT (lost update problem), but to allow it in full body GET (in 
case the entity changed, the damage is usually small).

The spec is inconsistent in mixing up this kind of "unreliable" etag 
with semantic equivalence. The issue may be resolved to either side. But 
of course, associating "semantic equivalence" with weak etags will 
render most servers none compliant.

Werner

Received on Friday, 2 May 2008 17:38:36 UTC