Re: detecting a "non-versioning-aware client"
Chris Kaler (ckaler@Exchange.Microsoft.com)
Tue, 16 Mar 1999 00:15:37 -0800
Message-ID: <FD7A762E588AD211A7BC00805FFEA54BE5ED78@HYDRANT>
From: "Chris Kaler (Exchange)" <ckaler@Exchange.Microsoft.com>
To: "'Geoffrey M. Clemm'" <gclemm@tantalum.atria.com>
Cc: ietf-dav-versioning@w3.org
Date: Tue, 16 Mar 1999 00:15:37 -0800
Subject: RE: detecting a "non-versioning-aware client"
Of course we could just say that versioning aware clients
always pass in the "Versioning: Yes" header :-)
-----Original Message-----
From: Geoffrey M. Clemm [mailto:gclemm@tantalum.atria.com]
Sent: Monday, March 15, 1999 9:30 PM
To: Chris Kaler (Exchange)
Cc: ietf-dav-versioning@w3.org
Subject: Re: detecting a "non-versioning-aware client"
It appears the consensus is that there is no magic way to tell whether
a client is versioning aware, so you can't base your behavior on
whether it is or not. But you can try to make the semantics of any
request with no versioning methods or headers be whatever would be
least surprising to a versioning unaware client, since alternative
semantics for versioning aware clients can be defined to require
versioning methods or headers.
There's probably a much clearer way of saying this, but those of
you that care probably know what I mean (:-).
Cheers,
Geoff
From: "Chris Kaler (Exchange)" <ckaler@Exchange.Microsoft.com>
I believe we can determine this based on the request.
If the client issues a request that utilizes new semantics,
methods, or properties, they are assumed to be "versioning aware".
If there issue requests that indicate they are not versioning
aware, then we treat them as down-level. One such case would
be issuing a PUT or PROPPATCH against an immutable revision.
Chris
-----Original Message-----
From: Geoffrey M. Clemm [mailto:gclemm@tantalum.atria.com]
Sent: Sunday, March 14, 1999 12:49 PM
To: ietf-dav-versioning@w3.org
Subject: detecting a "non-versioning-aware client"
At various times, we have talked about the behavior of a method when
it is applied by a "non-versioning-aware" client. Hopefully I'm just
missing something obvious, but how exactly do we detect that a request
has been issued by a non-versioning-aware client?
Certainly there will be some protocol versions that are known to be
non-versioning-aware (e.g. HTTP-1.1, etc.), but what about new
protocol extensions? How can a server determine if a client using
some arbitrary new extension is versioning-aware or not?
One answer is that I've missed something, and we can tell. We still
may not want to treat versioning-aware and non-versioning-aware
clients differently, but at least we could if we wanted to.
Another answer is that we will treat any client whose versioning
awarenes is unknown as if it were versioning aware. This could be
rather confusing for a non-versioning-aware client that upgrades
to a new (non-versioning-aware) protocol version, and suddenly
sees very different versioning behavior.
There is an analgous problem with treating unknown protocols as
always non-versioning-aware.
A final answer is that we will not base any behavior on whether the
client
is versioning-aware or not. At the moment, this seems to be the best
answer to me.
Cheers,
Geoff