- From: Jonathan Rees <jar@creativecommons.org>
- Date: Mon, 28 Jun 2010 14:49:02 -0400
- To: AWWSW TF <public-awwsw@w3.org>
I would encourage an examination of: http://arxiv.org/abs/1003.3661 This paper cites TimBL's genont work (oddly enough, without giving a 'date accessed'!!) in justifying the assertion that time should simply be another content negotiation parameter. This contradicts the way I would like to describe the semantics of HTTP; I want to say that 1. the GET request comes in 2. the server considers all current webarch-representations of the resource 3. the server picks one of those webarch-representations by best effort respect of conneg parameters 4. the server responds with the chosen webarch-representation 5. the client can conclude that the response carries a current webarch-representation of the resource To get the memento framework to work, this would have to change to: 1. the GET request comes in 1a. if there is no Accept-datetime: header, limit conneg to be restricted to the current time [nasty issues: ranges, wildcards, clock skew, race conditions] 2. the server considers all webarch-representations of the resource (over all time) 3-4. (as above) 5. the client can conclude that the response is or once was a webarch-representation at some time i.e., if R is a webarch-representation of X at time t, then R is a webarch-representation of X at all times, hence conneg can be used to select a webarch-representation of X at any desired time. The problem is that this regime gives the server freedom to respond with stale information, and therefore leaves clients in doubt as to whether information is current. Of course a server is unlikely to want to do this, but 'unlikely' isn't exactly a sound foundation, is it? You could say that Accept-datetime: defaults to the current time, but respect for Accept-* headers is only governed by SHOULD, not by MUST, so you can't really conclude anything from a 200 by virtue of the Accept-* headers in the request. (Unless an exception is made for this new header.) This means we always need to be excruciatingly careful about the time quantification of "R is a webarch-representation of X", which I suppose is a good idea in any case. Conneg over time makes me uncomfortable. What do others think? I think Memento is a good test of AWWSW and vice versa, so it's worth looking at. We ought to be able to use an AWWSW theory to either confirm or refute the soundness of Memento. (Whether it's a good design is a different question.) Jonathan
Received on Monday, 28 June 2010 18:49:35 UTC