On Nov 13, 2009, at 2:08, Daniel Kinzler daniel@brightbyte.de wrote:
Aryeh Gregor schrieb:
Doesn't the use of a header here violate the idea of each URL representing only one resource? The server will be returning totally different things for a GET to the same URL. That seems like it would cause all sorts of problems -- not only do caching proxies break (which I'd think by itself makes the feature unusable for users behind caching proxies), but how do you deal with things like bookmarking, or sending a link to a particular version of the page to someone? These would become impossible, unless the server goes to the extra effort to return a redirect.
It seems to me like a better path would be to have different URLs for different dates. The obvious way to do this would be to take an approach like OpenSearch, and provide a URL pattern in some standard format. Maybe the page could contain <link rel=oldversions> or such, with the client appending a query parameter to the given URL, say time=T where T is an ISO 8601 string.
How about doing both? If a X-Datetime-Accept header is received, it could trigger a 302 redirect, pointing at a url that specifies the desired point in time.
This is exactly what we do in Memento and with the plug-in: datetime content negotiation (X-Accept-Datetime header) on the generic URI (say /clock in wikipedia) followed by a 302 redirect to the time- specific URI (title="clock"&oldid=123456 in wikipedia). The generic URI is always only serving the current version of the page; the history URIs are serving the history pages.
Herbert
-- daniel
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l