RESTfull api 状态码

200 OK - [GET]:服务器成功返回用户请求的数据,该操作是幂等的(Idempotent)。
201 CREATED - [POST/PUT/PATCH]:用户新建或修改数据成功。
202 Accepted - []:表示一个请求已经进入后台排队(异步任务)
204 NO CONTENT - [DELETE]:用户删除数据成功。
400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的。
401 Unauthorized - [
]:表示用户没有权限(令牌、用户名、密码错误)。
403 Forbidden - [] 表示用户得到授权(与401错误相对),但是访问是被禁止的。
404 NOT FOUND - [
]:用户发出的请求针对的是不存在的记录,服务器没有进行操作,该操作是幂等的。
406 Not Acceptable - [GET]:用户请求的格式不可得(比如用户请求JSON格式,但是只有XML格式)。
410 Gone -[GET]:用户请求的资源被永久删除,且不会再得到的。
422 Unprocesable entity - [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误。
500 INTERNAL SERVER ERROR - [*]:服务器发生错误,用户将无法判断发出的请求是否成功。

200这个最容易理解,就是正确的请求返回正确的结果,如果不想细分正确的请求结果都可以直接返回200。

201表示资源被正确的创建。比如说,我们 POST 用户名、密码正确创建了一个用户就可以返回 201。

202请求是正确的,但是结果正在处理中,没法返回对应的结果。比如说,我们请求一个需要大量计算的结果,但是并没有计算结束时,可以返回这个,这时候客户端可以通过轮询等机制继续请求。

203请求的代理服务器修改了源服务器返回的 200 中的内容,一般用不到。比如说,我们通过代理服务器向服务器 A 请求用户信息,服务器 A 正常响应,但代理服务器命中了缓存并返回了自己的缓存内容,这时候它返回 203 告诉我们这部分信息不一定是最新的,我们可以自行判断并处理。

204请求正确,但是没有需要返回的内容。比如说,我们请求删除某个用户,删除成功可以返回 204。205类似 204,但是要求请求者重置视图,一般也用不到。比如说,我们请求删除某个用户,服务器返回 205 的话,我们就刷新现在的用户列表。

206请求成功,但根据请求头只返回了部分内容。比如说,我们下载一部片,共有 10 部分,我们把请求也分成了 10 次(防止一次请求过大),这时候服务器就可以返回 206 并在其头部告诉我们这是哪一部分,然后再根据这个信息进行拼装。

300请求成功,但结果有多种选择。比如说,我们下载一部片,服务器有 avi、mp4 等格式,这时候可以返回 300,并在 body 里告知有哪些格式,然后用户可以根据这些格式再次请求。

301请求成功,但是资源被永久转移。比如说,我们要下载葫芦娃,但是由于旧的存储服务商涨价了,现在要使用新的存储服务了,要去新地址下载,这时候可以返回 301,并在 header 的 Location 中告知新的地址,以后也应当到这个地址下载。

302请求成功,但是资源被临时转移了。和 301 不同的是,除非是 HEAD 请求,否则新地址的信息应当在 body 中返回,并且资源只是临时转移,以后不应当通过新地址来下载。303类似 302,但要求使用 GET 来访问新的地址来获取资源。

304请求的资源并没有被修改过。比如说,我们发送请求想看看 5.20 后的情侣信息,服务器查询没有新的情侣信息产生,这时候可以返回 304,然后客户端可以继续用旧的数据。

305请求的资源必须通过代理访问。比如说,我们想请求服务器 A 上新的 iPhone 的信息,但是需要通过代理服务器才能访问,如果直接请求了服务器 A,没有经过代理服务器,这时候服务器 A 就可以返回 305 从而告诉我们应当访问代理服务器。306不用了。307类似 302,但要求使用原有的请求方式来通过新地址获取资源。308类似 301,但要求使用原有的请求方式来通过新地址获取资源。// 分割线

400请求出现错误,比如请求头不对等,所有不想明确区分的客户端请求出错都可以返回 400。401没有提供认证信息。比如说,请求的时候没有带上 Token 等。

402为将来的需要所保留的状态码。403请求的资源不允许访问。比如说,你使用普通用户的 Token 去请求管理员才能访问的资源。

404请求的内容不存在。

405请求的方法不允许使用。比如说,服务器只实现了 PATCH 了局部更新资源,并没有实现 PUT 来替换资源,而我们使用了 PUT,这时候服务器可以返回 405 来告知并没有实现对 PUT 的相关处理。406请求的资源并不符合要求。比如说,我们 header 里请求 JSON 格式的数据,但是服务器只有 XML 格式的数据,这时候可以返回 406 告知。407类似 401,但是要求必须去同代理服务器进行认证。

408客户端请求超时。我们想 POST 创建一个用户,虽然建立了连接,但是网络不好,服务器在规定时间内没有得到我们的请求信息,这时候服务器可以返回 408 告诉我们超时了。然后我们可以重新发送请求。409请求冲突。比如说,服务器要求不同用户不能重名,服务器已经有了一个名叫小伟的用户,这时候我们又想创建一个名叫小伟的用户,服务器可以返回 409,告诉我们冲突了,也可以在 body 中明确告知是什么冲突了。410请求资源曾经存在,但现在不存在了。比如说,我们下载葫芦娃,但是因为版权被删了,下载不了了,这时候服务器返回 410,告诉我们洗洗早点睡。411没有提供请求资源的长度。比如说,我们下载葫芦娃,服务器只允许我们分部分下载,我们如果不告诉服务器我们要下载哪部分,服务器就返回 411 警告我们。412请求的资源不符合请求头中的 IF-* 的某些条件。比如说,我们下载葫芦娃,然后在请求头告知服务器要 5.20 后更新过的,服务器没有,于是返回了 412。413请求体过大。比如说,服务器要求上传文件不能超过 5M,但是我们 POST 了 10M,这时候就返回 413。
414请求的 URI 太长了。比如说,我们提供了太多的 Query 参数,以至于超过了服务器的限制,这时候可以返回 414。415不支持的媒体类型。比如说,我们上传了一张七娃的 GIF 动图,而服务器只允许你上传 PNG 图片,这时候就返回 415。416请求的区间无效。比如说,我们分部分下载时请求葫芦娃的 10 分钟到 12 分钟的内容,但是这部葫芦娃只有 1 分钟的内容,这时候就返回 416。417预期错误。指服务器没法满足我们在请求头里的 Expect 相关的信息。418我是个茶壶。这是一个愚人节的玩笑,这个状态码就是用来搞笑的。// 分割线
500服务器错误。没法明确定义的服务器错误都可以返回这个。501请求还没有被实现。比如说,我们请求一个接口来自动拒绝项目经理的要求,但是这个接口只是美好的想象,并没有被实现,这时候可以返回 501。502网关错误。比如说,我们向服务器 A 请求下载葫芦娃,但是 A 其实只是一个代理服务器,他得向 B 请求葫芦娃,但是不知道为啥 B 不理他或者给他错误,这时候哦可以 A 返回 502 用来表示 B 这家伙傲娇了。503服务暂时不可用。比如说,服务器正好在更新代码重启。504类似 502,但是这时候是 B 不理 A,超时了 。505请求的 HTTP 版本不支持。比如说,现在强行根据 HTTP 1000 来请求。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,633评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,825评论 25 707
  • API定义规范 本规范设计基于如下使用场景: 请求频率不是非常高:如果产品的使用周期内请求频率非常高,建议使用双通...
    有涯逐无涯阅读 2,521评论 0 6
  • 在我们开发过程中,尤其是和后台调试接口的时候,经常会有访问服务器失败的情况,我们打印错误日志可以看出 后台给我们返...
    啊哈哈哈哈哈群阅读 11,393评论 4 3
  • 你的每一次自我介绍,其实都是自我推销,那么如何显示你的独特之处呢? 第一步,不要做任何会让自己感到羞耻的事; 第二...
    大写的李阅读 461评论 0 2