- From: Wenbo Zhu <wenboz@google.com>
- Date: Fri, 22 May 2015 00:00:53 -0700
- To: Phil Hunt <phil.hunt@oracle.com>
- Cc: "Roy T. Fielding" <fielding@gbiv.com>, Zhong Yu <zhong.j.yu@gmail.com>, Philippe Mougin <pmougin@acm.org>, James Snell <jasnell@gmail.com>, "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
- Message-ID: <CAD3-0rPVQFT5u72eUKSpq0J7NFnrQyc1gpTQV78eTCTWCs5DaQ@mail.gmail.com>
On Wed, May 20, 2015 at 11:48 AM, Phil Hunt <phil.hunt@oracle.com> wrote: > Roy, > > Thanks for your comments. > > We seem to agree on the objectives to enhance the web, but come to a > different conclusion. I’m not sure why yet. > > I’m observing GET with filters causing the same “damage” that you are > suggesting search does. I think it is worse because of the need to pass > private or confidential information in URLs. So my first need is to move > away from overriding to somewhere else. Headers? Body? Both have problems > and can cause the client to make erroneous assumptions about the results. > > By the way, I found it interesting that people are having the same issue > with DELETE on this thread. I’ve also started to run into issues around is > delete really always a delete….this pushes the need for parameters on > delete. But I digress away from my use case. > DELETE with parameters as matching rules etc could really be just a POST, the universal method for overriding with rpc semantics. > > In my use case, I would like to test a condition about an addressable > resource rather than return it. A matching capability is powerful because > it exposes an “oracle” function that allows a client to ask a question that > is true/false without needing the whole resource or even disclosing the raw > information (e.g. an attribute). I’ve considered using match headers, but I > worry about knowing the service provider got the headers intact. E.g. if > the headers are stripped, the risk is too much information is exposed > leading to bad assumptions (that a specific condition was true) on the part > of the client. > > Over time, I think the use of SEARCH would reduce use of GET yes. But my > thinking is it reduces the poor uses of GET. What it is really doing is > purifying GET and unloading it from all this overburdening “function" stuff > and making the quality of bookmarking and linking better. > Rather than seeing SEARCH as related to GET, maybe what we really need is just a safe/Idempotent POST (aka rpc). With reduced semantics the benefits of such a new method may become more obvious. > > Thanks, > > Phil > > @independentid > www.independentid.com > phil.hunt@oracle.com > > > On May 20, 2015, at 10:45 AM, Roy T. Fielding <fielding@gbiv.com> wrote: > > > >> On May 19, 2015, at 9:04 PM, Phil Hunt <phil.hunt@oracle.com> wrote: > >> > >> What I was trying to illustrate is that DELETE is also a function and > it hasn’t turned the web into RPC. Why have RPC methods like PATCH PUT and > DELETE? > > > > They are not RPC methods. They have uniform semantics, operate on the > target resource, > > and are defined in such a way that intermediaries can understand their > intended effects. > > > >> I don’t see how SEARCH “hurts” the web. If GET is supposed to be a web > linkable resource and not one with embedded RPC functions like SEARCH or > for that matter delete (e.g. GET > http://example.com/Users/123?method=delete). In a hypermedia web, don’t > we want to keep GET from being overloaded with functions like search? > > > > SEARCH does not have uniform semantics (it means different things based > on the body), > > does not operate on the target resource, and is useless for > intermediaries. > > However, that isn't why it is bad for the Web. > > > > The reason SEARCH is bad for the Web is because it allows lazy fools to > provide > > reusable information in a form that doesn't have an associated resource > identifier. > > It provides the same function as a parametrized GET request without > minting a URL. > > In other words, it reduces the number of identifiable resources, which > reduces > > the network effect of linked resources, which harms the Web because it > reduces the > > power of the resulting information system. > > > > ....Roy > > > >
Received on Friday, 22 May 2015 07:01:23 UTC