HTTP is a Session/Presentation Protocol
TCP is a Transport Protocol.
On Thu, Jan 24, 2013 at 3:54 PM, Julian Reschke <julian.reschke@gmx.de>wrote:
> On 2013-01-24 21:34, Phillip Hallam-Baker wrote:
>
>>
>>
>> On Thu, Jan 24, 2013 at 12:48 PM, Nico Williams <nico@cryptonector.com
>> <mailto:nico@cryptonector.com>**> wrote:
>>
>> On Thu, Jan 24, 2013 at 9:30 AM, Julian Reschke
>> <julian.reschke@gmx.de <mailto:julian.reschke@gmx.de>**> wrote:
>> > On 2013-01-24 04:18, Grahame Grieve wrote:
>> >> What would be right http status code to use? It's a client
>> error, right?
>> >> The nearest appropriate status code would be 422, but I'm not sure
>> >> whether that can be used outside webdav. Either way, there's a
>> bunch
>> >
>> > It can.
>> >
>> > [...]
>> >
>> > Augmenting error handling for web services is an interesting
>> topic. See
>> > prior proposals about Link relations, or a JSON typed response
>> body format
>> > for 4xx/5xx.
>>
>> I've seen APIs that handle errors in JSON-encoded response bodies,
>> including one that always returns success in HTTP but errors in the
>> response body, which is kinda weird, but if none of the HTTP status
>> codes make sense... (that was the author's defense).
>>
>>
>> It makes perfect sense from a layering perspective.
>>
>> In an RPC call I probably want HTTP errors to be strictly limited to
>> reporting network failures. 'entry not found' is a completely different
>> result from 'machine is down'
>>
>> entry not found is arguably a successful transaction that returned an
>> empty list of results.
>>
>
> In that case you are (ab)using HTTP as transport protocol.
>
> Best regards, Julian
>
>
--
Website: http://hallambaker.com/