Date: Tue, 16 Mar 1999 00:29:56 -0500 Message-Id: <9903160529.AA18087@tantalum> From: "Geoffrey M. Clemm" <gclemm@tantalum.atria.com> To: ckaler@Exchange.Microsoft.com Cc: ietf-dav-versioning@w3.org In-Reply-To: <FD7A762E588AD211A7BC00805FFEA54BE5ED50@HYDRANT> 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