Re: conneg considered harmful
Glenn Block <[email protected]> Wed, 22 May 2013 11:08:12 -0700
| Newsgroups | gmane.comp.web.services.rest |
|---|---|
| Message-ID | <CAEwD50CAi9OSCtZzcaWZEfqGx_tThFG5D0cz3Wxsk8a4OGtk=g@mail.gmail.com> |
Question, what about Content-Location? Isn't this header specifically there to inform the client / caches even if a negotiated representation was returned, what the negotiated resource Uri is? On Tue, May 21, 2013 at 9:12 PM, Glenn Block <[email protected]> wrote: > Hello folks, been a long time! > > A very interesting and educational discussion indeed. > > Previously I have pushed quite heavily the support of server-driven > conneg, which is something we enable quite easily in ASP.NET Web API > though without redirects. > > It's possible to return a redirect, but that requires the user to do the > heavy lifting. > > Can someone elaborate a bit more on the harms of not doing the redirect. I > read through the different threads, but having a concise summary would be > valuable. > > A different question this brings up is the concern of costs associated > with doing this in particular for a cloud-hosted deployment where each > request costs money / compute hours. > > > - Does adding in this redirect mean there's any significant cost > increase? If you are talking about secure or data that is dynamically > generated then a cache may not necessarily help offset that. > - Does the benefit outweight the cost in these cases? > > I am curious what folks on the list are doing with regards to APIs > deployed in the cloud. > > Thanks! > Glenn > > > > > > > On Sat, Feb 16, 2013 at 2:01 AM, Alan Dean <[email protected]> wrote: > >> ** >> >> >> To be clear what Roy actually said was "In general, I avoid content >> negotiation *without redirects* like the plague because of its effect on >> caching." *(my emphasis)* >> >> Regards, >> Alan Dean >> >> >> On Sat, Feb 16, 2013 at 6:01 AM, Peter Williams <[email protected]>wrote: >> >>> Most of those don't talk about why using content negotiation is bad in >>> general. Instead they talk about how truly different resources should have >>> their own uris even if they are variants of one another (eg articles about >>> the same subject written in different human languages). That seems very >>> reasonable. However, those arguments don't apply to situations where >>> multiple, truly mechanically translatable, representations of a single >>> resource exist. >>> >>> One of those mention that conneg has a negative effect on caching. Is >>> being harder to cache the only ill effect of sever driven conneg? >>> >>> Peter >>> Barelyenough.org >>> On Feb 15, 2013 3:31 PM, "Alan Dean" <[email protected]> wrote: >>> >>>> Perhaps it is worth referencing some other other Fielding quotes on the >>>> subject: >>>> >>>> https://delicious.com/alan.dean/Roy.Fielding+conneg >>>> >>>> Regards, >>>> Alan Dean >>>> >>>> >>>> On Fri, Feb 15, 2013 at 8:21 PM, Peter Williams <[email protected] >>>> > wrote: >>>> >>>>> ** >>>>> >>>>> >>>>> Eric, >>>>> >>>>> That is an interesting quote. I have occasionally heard >>>>> unsubstantiated claims regarding the badness of accept header based >>>>> content negotiation. It is interesting that Roy perceives it as >>>>> "revolting". >>>>> >>>>> Personally, i rather like it but perhaps i am missing something >>>>> important. I'd definitely like to hear someone (or multiple someones) >>>>> actually articulate what they perceive as problematic about it. So far >>>>> i don't recall ever reading a discussion of the downsides that got >>>>> beyond "i don't like it" or "it is hard for me to implement" (neither >>>>> of which resonate with me). >>>>> >>>>> >>>>> On Wed, Feb 13, 2013 at 9:04 AM, Eric J. Bowman [email protected]> >>>>> wrote: >>>>> > Mark Baker wrote: >>>>> >> >>>>> >> Besides, client driven uses hypermedia so is way more RESTful. >>>>> >>>>> Mark, can you explain a bit more why you think this? It is not clear >>>>> to me why avoiding this particular part of http's uniform interface >>>>> would make a client more RESTful. >>>>> >>>>> Peter >>>>> barelyenough.org >>>>> >>>>> >>>> >> >> > >