On 31/07/07, Mark Baker <[EMAIL PROTECTED]> wrote: > > > > > > > I think I can distill this conversation down to one point... > > On 7/30/07, Steve Jones <[EMAIL PROTECTED]> wrote: > > > > Makes sense but isn't supported? A bit of a contradiction in terms > > > > there surely? Either it makes sense (and therefore should be > > > > supported) or it doesn't make sense and therefore isn't supported. > > > > > > It *is* supported, it just isn't implemented. > > > > That really doesn't make sense. If I am a consumer I want to know > > what the resource can do. Claiming that it "supports" something means > > that it "does" something. Its a strange definition of support that > > says "X supports DELETE" and when someone calls DELETE it says that it > > can't complete that request. > > That's only because "supports" is defined rather loosely, or at least > not in a way that makes it easy to distinguish which part of it is > interface and which is implementation.
Its not really interface v implementation, its technical interface (GET, POST, DELETE, PUT) v Business Interface (what actually is going to happen). Consumers are only actually interested in the later and the former is purely the mechanism for accessing it. > If a given resource can't be > deleted, then the server need only return a 405 response when > requested to delete it. So it "makes sense" in the sense that the > meaning of a "DELETE http://example.org/some-trade" message is uniform > and understood by all parties. This really is contorting reality to fit the technical design. To say that the "Meaning" of delete is that it may or may not happen is a trifle odd. If you ask people what DELETE means then they will say that it removes and destroys the resource. The semantic of the operation should be what its real-world effect is. > That doesn't mean every resource can > be deleted though, which is part of the reason why HTTP defines the > 405 status code. That is a runtime thing, which is not part of the interface from a consumers perspective when they design their interaction. This isn't an effective, or acceptable, way of understanding what is valid for a given system. The effort of coding a system that can, for all resources, cope with 405s is just wasted effort. The consumers would need this information published in advance, and would therefore not call DELETE, therefore (for the consumers) the DELETE message does not exist as a valid call. > > Mark. Steve > -- > Mark Baker. Ottawa, Ontario, CANADA. http://www.markbaker.ca > Coactus; Web-inspired integration strategies http://www.coactus.com >
