RE: weak etags vs PATCH, was: Fwd: New Version Notification - draft-dusseault-http-patch-15.txt

Roy T. Fielding wrote:
> On Oct 19, 2009, at 12:43 PM, Brian Smith wrote:
> > Julian Reschke wrote:
> >> So my proposal would be to stay silent on this, and let the base
> >> spec define it.
> >
> > I agree, but IMO, there should *never* be a fallback to Last-Modified
> > because Last-Modified only has 1-second resolution. If the server
> > supports PATCH then it can definitely provide an ETag.
> 
> 1-second resolution is as good as nanosecond resolution as soon
> as that second is history, and in practice both are useless for
> tagging dynamic content that is generated during a response.

Not really. If you have nanosecond resolution then you can have
monotonically increasing (thus *unique*) timestamps on every resource.
Actually, I often implement ETags that way. With one-second resolution you
can get something similar by sleeping during an edit until the timestamp
changes, I guess.

> Using last-modified as a fallback is always better than not
> using any conditional at all.

Yes, well I was thinking that the server should just refuse all requests
without an If-Match header. Unconditional PATCH makes very little sense for
most uses. I guess section 2.2 already allows a server to do that (by
returning a 409 response).

Regards,
Brian

Received on Tuesday, 20 October 2009 01:39:00 UTC