- From: Tim Berners-Lee <timbl@w3.org>
- Date: Tue, 28 Jan 2003 22:44:48 -0500
- To: Roy Fielding <fielding@apache.org>
- Cc: www-archive@w3.org, Mark Baker <distobj@acm.org>
I've been feeling that this is is the crunch point, and wonder why I didn't like Mark's expression of REST, and looking for the appropriate email of Roy's to respond to but I'll use this. Here is the test case to distinguish between Roy's model and mine - and find whether they really are different. The only measurable property of an HTTP resource is the set of representations one gets. So let's take the test case of the car. Roy says its fine for one to get a picture of the car one day and from the next day get a video tape or an audio track, because they are all "representations" of the car. Now I don't know how that "being a represnetation of the car" actually constrains them. (Remember I use "representation" for the process of taking a conceptual work and making bits of it, and Roy seems to use it for the process of making a conceptual work which describes something, and then making a digital tim:representation of that) Well I'm perfectly happy with content negotiation over different content types, to the extent that the different representations can be considered to some extent the same message in a different medium. What are the bounds? Suppose one representation is a copy of the invoice for the car, and another is a copy of the repair manual? Are they both roy:representations of the car and therefore is it reasonable behavior for a server? Suppose one representation is a legal document about the car, and another representation was that legal document with "not" inserted somewhere? If you, Roy will accept that is bad practice -- and abuse of the system not condoned by the specs, then we have a constraint that all representations must be related in some way, besides simply the subject. Actually I think this is very important in practice. We can't have a web where the content-negotiated versions differ in legal meaning. It must be an error (and potentially fraudulent is done deliberately in order to steal) to make content-negotiated representations of the same resource inconsistent. If REST philosophy allows it, then we need to further constrain the web so that it works. Basically, the power of a hypertext link, or any reference using URIs is destroyed if you don't have the repeatability, that when you reference the URI again you basically get the same thing -- to within some expectations shared by the quoter and the publisher. Its very important for accessibility and internationalization, of course. The actual extent to which different representations differ is of course controlled (As Roy noted earlier) by the publisher, but that doesn't mean that there is no social pressure and real need for publishers to be reasonable. So, if, Roy, you will accept that there is some such constraint on the set of representations, then I can associate the conceptual work in my model with that set of representations. Then we just have a problem of nomenclature on our hands. I think we can make an architecture in which formally the thing identified is the message, and in certain contexts would be used as an indirect identifier to indicate the subject of the representations. If you don't accept that there is such a duty of the publisher, then we have a serious problem on the web. Or rather, we would have if the web really worked like that. But rather, we would have failed to capture in the architecture the constraints which actually make the web work. Because, after all, people do operate with this constraint. So we aren't imposing new rules. Tim BL On Monday, Jan 27, 2003, at 01:57 US/Eastern, Mark Baker wrote: > > - the concept of love is a "resource", an abstraction > - resolving an identifier for the concept of love will end up as a GET > request on some Web server/proxy (just to bridge with your "Web > location"). > - the resolution of that identifier will return documents that > represent > the resource > > The REST model is the most appealing of the models I've seen presented, > as it seems to be at least as powerful(*) as TimBL's, plus it's more > general, since http: URIs would be able to identify anything; love, > cars, people, etc.. > > (*) the implementation would need work to match TimBL's model, ala an > HTTP extension header called "ConceptualWork" whose value is a URI. > But the model seems adequate, if only because this extension is > possible. > > MB > -- > Mark Baker. Ottawa, Ontario, CANADA. http://www.markbaker.ca > Web architecture consulting, technical reports, evaluation & analysis
Received on Tuesday, 28 January 2003 22:44:26 UTC