RESTful HTTP响应代码 [英] RESTful HTTP response codes

查看:107
本文介绍了RESTful HTTP响应代码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在开发一个简单的RESTful API,并完全爱上它的简约性。但我不确定各种情况下的正确HTTP响应代码:

I'm developing a simple RESTful API, and utterly in love with how minimalistic it is. But I'm uncertain as to the correct HTTP response codes for various situations:


  1. 查询格式错误

  1. Incorrectly formed query

正确形成的查询是指不存在的资源

Correctly formed query refers to a resource which does not exist

资源已成功删除

资源已成功修改

我目前认为1会是 403 Forbidden ; 2将是 410 Gone ; 3和4将 202接受。他们听起来不对吗?

I'm currently thinking that 1 would be 403 Forbidden; 2 would be 410 Gone; 3 and 4 would be 202 Accepted. Do they sound right?

推荐答案

对于#1,403建议您的应用程序理解请求,但不会实现它(即当前用户)由于某种原因没有权限这样做)。在这种情况下,我认为400个错误请求可能更有意义。

For #1, 403 suggests your application understood the request, but wont fulfil it (i.e. current user doesn't have permission to do that for some reason). I think 400 bad request might make more sense in this case.

对于#2 - 我认为404会更有意义,即找不到资源,除非
资源确实存在于某个时刻,然后被删除,在这种情况下410是公平的 - 但没有多少客户知道如何处理410.

For #2 - I would think 404 would make more sense i.e. resource is not found, unless the resource did exist at some point, and has then been deleted, in which case 410 would be fair - but not many clients know what to do with 410.

For #3&如果您成功处理了删除,则为#4 - 200;如果删除排队,则为202,并且将在稍后带外处理。

For #3 & #4 - 200 if you processed the deletion successfully, 202 if the deletion is queued up and will be handled at a later date "out of band".

RFC 2616 提供了很好的解释,说明每个响应代码在可理解的术语中的含义。

RFC 2616 provides great explanations of what each response code means in fairly understandable terms.

这篇关于RESTful HTTP响应代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆