【原文链接】
一、restful接口状态码总体分类
类别 | 描述 |
---|---|
1xx:信息 | 通信传输协议信息 |
2xx:成功 | 表示客户端的请求已成功接受 |
3xx:重定向 | 表示客户端必须执行一些其他操作才能完成其请求 |
4xx:客户端错误 | 此类错误状态码指向客户端 |
5xx:服务器错误 | 服务器负责这些错误状态码 |
二、常见状态码及含义
(1)2xx状态码含义
-
200 请求成功
当请求成功,但又无法用201,202,204区分的时候,一般就使用200表示OK,请求成功 -
201 创建
创建资源成功,返回201,一般同时需要返回创建资源的id -
202 已接受
服务器已接受请求,异步处理,这个在实际应用中用的比较少 -
204 请求成功,但返回为空
常用于比如删除资源的id不存在,修改资源的id不存在,查看资源的id不存在的情况下,这些情况下一般操作是成功的,对正常业务没有啥影响,但是资源不存在,返回内容也为空
(2)3xx状态码含义
-
301 永久重定向
一般用于比如网址永久修改 -
302 临时重定向
一般用于临时跳转
(3)4xx状态码含义
-
400 非法请求
一般来说是入参填错了,应该返回400 -
401 认证失败
一般是密码或者token等错误 -
403 禁止
一般是当前角色没有权限操作 -
404 找不到
这个是最常见的,url填错了 -
405 不允许的方法
这个用的不是太多,一般是测试时候方法用错了,比如服务端只支持post方法,客户端使用get方法请求,则应返回405 -
406 不可接受
这个一般是头信息错误,即根据头信息提示的无法接受内容 -
409 资源冲突
这个一般是资源冲突,比如创建已经存在的id资源等
(4)5xx状态码含义
-
500 服务器错误
一般是指服务端代码中未知的错误,一般来说500为严重错误,即代码发生了不可预知的错误 -
503 服务器无法处理
一般是指此时服务器异常了,如服务挂了或者服务尚未启动完成等