- From: Patrick McManus <mcmanus@ducksong.com>
- Date: Wed, 8 May 2019 19:42:39 -0400
- To: Matthew Bishop <matt@thebishops.org>
- Cc: Patrick McManus <mcmanus@ducksong.com>, HTTP Working Group <ietf-http-wg@w3.org>
- Message-ID: <CAOdDvNov8Qpw56ff=wJnVatOYPiwKDgaG-dgy8bT4mwGd=fY5A@mail.gmail.com>
Hi Matthew, thanks for the replies. I think it might be helpful to drill down on when a client would want to offer "stay". You make a compelling case for "redirect" - but is this really a preference or is it some way of saying you wish the server were doing something better right now? You certainly don't need an implementation to write a draft; but the need for interoperability between implementations is something the group considers when deciding whether one should proceed. There are no strict rules about it - but experience is always welcomed. -Patrick On Mon, May 6, 2019 at 3:02 PM Matthew Bishop <matt@thebishops.org> wrote: > Mark, I misunderstood the submission policy at > https://tools.ietf.org/html/rfc7240#section-5.1 to mean a specification > had to be referenced. I see now that a specification has to be submitted > with the completed preference template therein. I will write up a > specification submission for this preference. > > Patrick, this preference is based on experience and common best practices > for handling POST requests from the client. An API that accepts POSTs will > usually return a 201 Created with a Location, but I have found that clients > actually want to specify that a 303 See Other is returned so their client > can redirect to the Location URL and save them the coding process of > directly fetching the Location resource in client code. > > This preference is similar to the "return=representation" preference > except that the client wants an actual redirect to occur to run the second > fetch through the caching mechanisms. The resource at Location may already > be cached. > > Does an exact implementation need to exist first? I was thinking of using > the preference beforehand but thought that was not appropriate. > > On Mon, May 6, 2019 at 7:09 AM Patrick McManus <mcmanus@ducksong.com> > wrote: > >> Hello Matt, >> >> In addition to Mark's advice, can you help the group understand the scope >> of this mail? >> >> Is it proposed based on experience or an idea? Are there interoperable >> implementations yet? In what instance would you expect stay to be used? >> Why would this be a client side preference? >> >> Thanks! >> >> >> On Sun, May 5, 2019 at 11:19 AM Matthew Bishop <matt@thebishops.org> >> wrote: >> >>> o Preference: location >>> >>> o Value: One of either "redirect" or "stay" >>> >>> o Description: In state change requests, the client prefers the server >>> to return either a >>> redirect status code or a 2xx status code when a response contains >>> a Location >>> header. The value "redirect" indicates a 303 See Other should be >>> returned. The value >>> "stay" indicates an appropriate 2xx status should be returned. >>> >>> o Reference: HTTP/1.1: Semantics and Content, section 4.4.4 303 See >>> Other >>> [https://tools.ietf.org/html/rfc7231#section-6.4.4] >>> >>> o Notes: This preference is intended to be used with HTTP methods that >>> return a Location >>> header and either a 303 or a 2xx status code. >>> >>> This preference supports the Post/Redirect/Get pattern. >>> Wikipedia's entry for this >>> pattern explains it's value in client interactions. See >>> https://en.wikipedia.org/wiki/Post/Redirect/Get for details. >>> >>
Received on Wednesday, 8 May 2019 23:43:19 UTC