Loading ...
Sorry, an error occurred while loading the content.

Re: [rest-discuss] REST and the design of HTTP methods

Expand Messages
  • Jan Algermissen
    Julian Reschke wrote: [...] ... Does anyone happen to know why the functionality of PROPFIND has not simply been enabled by the definition of a set of
    Message 1 of 25 , Jan 1, 2005
    • 0 Attachment
      Julian Reschke wrote:

      [...]

      >Let's stick with a
      >very simple example such as:
      >
      >HEAD /foo HTTP/1.1
      >Host: example.com
      >
      >vs
      >
      >PROPFIND /foo HTTP/1.1
      >Host: example.com
      >Depth: 0
      >Content-Type: application/xml
      >
      ><propfind xmlns="DAV:">
      > <prop><getcontenttype/><getcontentlength></prop>
      ></propfind>
      >
      >At least in this case, PROPFIND doesn't seem to be more than a different
      >way of getting the same information.
      >
      >
      Does anyone happen to know why the functionality of PROPFIND has not
      simply been enabled by
      the definition of a set of additional headers, e.g.

      HEAD /foo HTTP/1.1
      Host: example.com
      DAV-GetProps: ContentType; ContentLength

      ???

      Or would this use of headers be unRESTful anyhow?

      Jan


      >So is your concern about cases such as custom properties on a resource?
      >
      >Best regards, Julian
      >
      >
      >


      --
      Jan Algermissen
      Consultant & Programmer
      http://jalgermissen.com
    • Julian Reschke
      ... Extensibility of header names? Internationalization considerations? Namespace operations? Updates of properties? Anyway, this: WebDAV and the Birth of
      Message 2 of 25 , Jan 1, 2005
      • 0 Attachment
        Jan Algermissen wrote:
        > Does anyone happen to know why the functionality of PROPFIND has not
        > simply been enabled by
        > the definition of a set of additional headers, e.g.
        >
        > HEAD /foo HTTP/1.1
        > Host: example.com
        > DAV-GetProps: ContentType; ContentLength
        >
        > ???
        >
        > Or would this use of headers be unRESTful anyhow?
        >
        > Jan

        Extensibility of header names? Internationalization considerations?
        Namespace operations? Updates of properties?

        Anyway, this:

        "WebDAV and the Birth of Properties"
        <http://lists.w3.org/Archives/Public/w3c-dist-auth/1998OctDec/0074.html>

        may also be an interesting read...

        Julian

        --
        <green/>bytes GmbH -- http://www.greenbytes.de -- tel:+492512807760
      • Roy T. Fielding
        ... Yeah, Yaron s twisted little view of history. It would be more accurate to say that some people insisted HTTP could not carry internationalized data in
        Message 3 of 25 , Jan 1, 2005
        • 0 Attachment
          On Jan 1, 2005, at 1:06 PM, Julian Reschke wrote:
          > Extensibility of header names? Internationalization considerations?
          > Namespace operations? Updates of properties?
          >
          > Anyway, this:
          >
          > "WebDAV and the Birth of Properties"
          > <http://lists.w3.org/Archives/Public/w3c-dist-auth/1998OctDec/
          > 0074.html>
          >
          > may also be an interesting read...

          Yeah, Yaron's twisted little view of history. It would be more
          accurate to say
          that some people insisted HTTP could not carry internationalized data in
          header fields (which is blatantly false -- it is only inconveniently
          encoded),
          and thus spawned an incredibly convoluted XML format for properties,
          which
          later got boiled down to name-value pairs (like all metadata systems).
          DASL
          got invented because an XML search interface was needed to deal with
          the complex
          properties, but was later dropped due to lack of interest in a
          half-assed
          variation of what the real database people were working on with XQuery.

          The issue of identification started because of a really bad paper tiger
          design
          for munging URIs that was proposed by someone else, rejected, and then
          replaced
          by me during a meeting at Xerox PARC with the imagemap-style URI
          provided
          by the server. Larry did not object to that style of munging. The
          design was
          not used by WebDAV because the editors chose not to for some unknown
          reason,
          not because there was any objection from the working group (on the
          contrary,
          both Henrik and I objected to the extra methods). All of that nonsense
          about extra round-trips is just bullshit invented by Yaron --
          Microsoft's own
          implementations had no such concern for round-trips and actually made
          two
          unnecessary requests prior to each WebDAV resource action just to check
          if it
          was actually WebDAV-enabled.

          WebDAV is stuck with that design because we let Microsoft dominate the
          working group as the only significant implementation. Apache's mod_dav
          didn't come along until much later. Henrik's implementation in libwww,
          completed during the HTTP/1.1 design, was ignored because it didn't use
          XML.

          ....Roy
        • Julian Reschke
          ... OK, another interesting read is in Jim Whitehead s and Yaron Goland s The WebDAV Property Design .
          Message 4 of 25 , Jan 2, 2005
          • 0 Attachment
            Roy T. Fielding wrote:
            > ...
            > Yeah, Yaron's twisted little view of history. It would be more
            > accurate to say
            > that some people insisted HTTP could not carry internationalized data in
            > header fields (which is blatantly false -- it is only inconveniently
            > encoded),
            > and thus spawned an incredibly convoluted XML format for properties,
            > which
            > later got boiled down to name-value pairs (like all metadata systems).
            > DASL
            > got invented because an XML search interface was needed to deal with
            > the complex
            > properties, but was later dropped due to lack of interest in a
            > half-assed
            > variation of what the real database people were working on with XQuery.

            OK, another interesting read is in Jim Whitehead's and Yaron Goland's
            "The WebDAV Property Design"
            "<http://www.cs.ucsc.edu/~ejw/papers/spe-whitehead.pdf>.

            I came to WebDAV only in early 2001 (when all design decisions were
            already made and DeltaV was nearing completion). However, I do agree
            with some of the points made about using HTTP headers for properties, in
            particular:

            HTTP header values can use non-ASCII characters (RFC2231), but the
            header names itself can't (or am I missing something)? So if it is a
            requirement that property *names* can use arbitrary characters, they
            can't be mapped to header names.

            It would be an interesting exercise to define a new request header for
            GET/HEAD that would basically transport PROPFIND (depth=0) information
            in headers. Anybody interested?

            > The issue of identification started because of a really bad paper tiger
            > design
            > for munging URIs that was proposed by someone else, rejected, and then
            > replaced
            > by me during a meeting at Xerox PARC with the imagemap-style URI
            > provided
            > by the server. Larry did not object to that style of munging. The
            > design was
            > not used by WebDAV because the editors chose not to for some unknown
            > reason,
            > not because there was any objection from the working group (on the
            > contrary,
            > both Henrik and I objected to the extra methods). All of that nonsense

            I'd really like to see that proposal, however I haven't been able to
            find it in the mailing list archives so far. Unfortunately, the other
            archive that's supposed to have it
            (<http://ftp.ics.uci.edu/pub/ietf/webdav/>) seems to be
            misconfigured/down right down.

            > about extra round-trips is just bullshit invented by Yaron --
            > Microsoft's own
            > implementations had no such concern for round-trips and actually made
            > two
            > unnecessary requests prior to each WebDAV resource action just to check
            > if it
            > was actually WebDAV-enabled.
            >
            > WebDAV is stuck with that design because we let Microsoft dominate the
            > working group as the only significant implementation. Apache's mod_dav
            > didn't come along until much later. Henrik's implementation in libwww,
            > completed during the HTTP/1.1 design, was ignored because it didn't use
            > XML.

            Although I'm not happy with many parts of the WebDAV design, there
            doesn't seem to be a lot of competition, probably because it's "good
            enough". However, that doesn't mean that it wouldn't be a good thing to
            actually document an alternate design -- maybe it could get traction
            outside the Microsoft world (such as Apache/mod_dav and Apache Slide).

            Best regards, Julian

            --
            <green/>bytes GmbH -- http://www.greenbytes.de -- tel:+492512807760
          Your message has been successfully submitted and would be delivered to recipients shortly.