[jifty-devel] Handling of responses to updates in REST
Jesse Vincent
jesse at bestpractical.com
Tue Dec 4 17:44:58 EST 2007
> In summary, I've come up with these guidelines regarding the REST
> implementation:
>
> 1. Make sure the response content gives enough information to be used
> to make additional GET or PUT requests regarding the same object after a
> create or update.
> 2. If we create something, we SHOULD return 201 with a Location:
> header referring to it. But it's more important that we describe what's
> going on in the response (which we do).
> 3. We need to avoid 200 responses with a Location: because that seems
> to be a hard-coded rewrite for Apache (in my experience) to rewrite the
> response as a 302 with a Location:, which does not mean the same thing as a
> 200 response as far as REST clients are concerned. (Actually, 302 is a kind
> of an ambiguous response anyway since user agents don't actually tend to
> follow the spec when handling it, particularly since 302 can be used as a
> substitute for 302 for backward compatibility with HTTP 1.0 agents. A
> 303 tends to be the preferred REST way of communicating "Look over there" in
> a response.)
All that seems pretty reasonable. I do wonder how/if it applies to
non-CRUD actions. (Functional programming with RESTy interfaces seems like a
potentially interesting topic for a conference presentation)
>
> I like my original proposal, but as long as we clear out the Location header
> in most responses, I'm good.
Then run with it for now. And add a Jifty-REST-Version: 0.9 header to
what we serve? ;)
> Cheers,
> Sterling
> _______________________________________________
> jifty-devel mailing list
> jifty-devel at lists.jifty.org
> http://lists.jifty.org/cgi-bin/mailman/listinfo/jifty-devel
--
More information about the jifty-devel
mailing list