写点什么

关于常见状态码,你了解多少?

作者:坚果
  • 2022 年 1 月 08 日
  • 本文字数:1343 字

    阅读完需:约 4 分钟

作者:坚果

华为云享专家,InfoQ 签约作者,阿里云专家博主,51CTO 博客首席体验官,开源项目 GVA 成员之一,专注于大前端技术的分享,包括 Flutter,小程序,安卓,VUE,JavaScript。

大家好,我是坚果,今天在逛 github 的时候发现一个文档HTTP 接口设计指北,顺便了解了一下,觉得不错,就把关于状态码的知识整理了一下,大家喜欢的话,可以去阅读原文,获取更多细节。

请求成功 2xx

  • 200 OK : 请求执行成功并返回相应数据,如 GET 成功

  • 201 Created : 对象创建成功并返回相应资源数据,如 POST 成功;

  • 202 Accepted : 接受请求,但无法立即完成创建行为。

  • 204 No Content : 请求执行成功,不返回相应资源数据,如 PATCHDELETE 成功

重定向 3xx

重定向的新地址都需要在响应头 Location 中返回


  • 301 Moved Permanently : 被请求的资源已永久移动到新位置

  • 302 Found : 请求的资源现在临时从不同的 URI 响应请求

  • 303 See Other : 对应当前请求的响应可以在另一个 URI 上被找到,客户端应该使用 GET 方法进行请求

  • 307 Temporary Redirect : 对应当前请求的响应可以在另一个 URI 上被找到,客户端应该保持原有的请求方法进行请求

条件请求

  • 304 Not Modified : 资源自从上次请求后没有再次发生变化,主要使用场景在于实现数据缓存

  • 409 Conflict : 请求操作和资源的当前状态存在冲突。主要使用场景在于实现并发控制

  • 412 Precondition Failed : 服务器在验证在请求的头字段中给出先决条件时,没能满足其中的一个或多个。主要使用场景在于实现并发控制

客户端错误 4xx

  • 400 Bad Request : 因为语法错误,服务器未能理解请求。

  • 401 Unauthorized : 合法请求,但对被请求页面的访问被禁止。因为被请求的页面需要身份验证,客户端没有提供或者身份验证失败。

  • 403 Forbidden : 合法请求,但对被请求页面的访问被禁止。

  • 404 Not Found : 服务器无法找到被请求的页面

  • 405 Method Not Allowed : 不请求中指定的方法不被允许。

  • 406 Not Acceptable : 服务器生成的响应无法被客户端所接受。

  • 410 Gone : 被请求的资源已被删除,只有在确定了这种情况是永久性的时候才可以使用,否则建议使用 404 Not Found

  • 413 Payload Too Large : 由于POST 或者 PUT所请求的实体太大,服务器不会接受请求。

  • 415 Unsupported Media Type : 由于媒介类型不被支持,服务器不会接受请求。

  • 422 Unprocessable Entity : 请求格式正确,但是由于含有语义错误,无法响应

  • 428 Precondition Required : 要求先决条件,如果想要请求能成功必须满足一些预设的条件

服务端错误 5xx

  • 500 Internal Server Error : 服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。

  • 501 Not Implemented : 服务器不支持当前请求所需要的某个功能,或者服务器无法完成请求。

  • 502 Bad Gateway : 请求未完成,作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。

  • 503 Service Unavailable : 由服务器当前不可用(过载或者当机)。


501405 的区别是:405 是表示服务端不允许客户端这么做,501 是表示客户端或许可以这么做,但服务端还没有实现这个功能

相关资料:

HTTP 接口设计指北

如果您想获得更多关于 Flutter 的知识并探索更多新奇有趣的东西以更好地使用该框架,可以关注我的公众号,我的公众号里面有更多细节。


大家的点赞,收藏是对坚果的最大支持

发布于: 刚刚阅读数: 2
用户头像

坚果

关注

此间若无火炬,我便是唯一的光 2020.10.25 加入

公众号:“坚果前端”,华为云享专家,InfoQ签约作者,51CTO博客首席体验官,专注于大前端技术的分享,包括Flutter,小程序,安卓,VUE,JavaScript。

评论

发布
暂无评论
关于常见状态码,你了解多少?