Re: Protocol Design: new XML elements in the body or new headers?

>Many of the new methods being defined for WebDAV versioning have
>an XML document as the value of their request and/or response body.
>While designing the protocol, I am continually faced with the question:
>Should an input parameter to the method be represented as a new XML
>element in the request body or as a new request header?  Similarly,
>should an output parameter to the method be represented as a new XML
>element in the response body or as a new respose header?

The body of an HTTP request/response is payload.  If it contains anything
significant to the semantics of the operation or result, aside from a
representation of data as defined by those semantics, then it isn't HTTP.
It is something else tunneling inside HTTP, which is a waste of bytes.

In general, if you find yourself with many new methods and request
header fields, then it means there is something fundamentally wrong
with the protocol design.  Usually the fix is to do the same thing
with far fewer extensions simply by using a redirect to a different
resource rather than using new methods/fields to act indirectly.

This is from experience -- I haven't looked at the WebDAV versioning
stuff at all.


Received on Monday, 18 January 1999 09:06:38 UTC