极简 HTTP 接口设计状态码指南

请求方法:

  • OPTION : 用于获取资源支持的所有 HTTP 方法
  • HEAD : 用于只获取请求某个资源返回的头信息
  • GET : 用于从服务器获取资源信息
    • 完成请求后返回状态码 200 OK
  • POST : 用于创建新资源
    • 创建完成后返回状态码 201 Created
  • PUT : 用于完整的替换资源或者创建指定身份的资源
    • 如果是创建了资源,则返回 201 Created
    • 如果是替换了资源,则返回 200 OK
      *DELETE : 用于删除某个资源
    • 完成请求后返回状态码 204 No Content
  • PATCH : 用于局部更新资源
    • 完成请求后返回状态码 200 OK

状态码

请求成功

  • 200:请求执行成功并返回相应数据
  • 201:创建成功并返回相应资源数据
  • 202:接受请求,但无法立即完成创建行为
  • 204:请求执行成功,不返回相应资源数据

重定向

  • 301:被请求的资源已永久移动到新位置
  • 302:请求的资源现在临时从不通的URI响应请求
  • 303:对应当前请求的响应可以在另一个 URI 上被找到,客户端应该使用 GET 方法进行请求
  • 307:对应当前请求的响应可以在另一个 URI 上被找到,客户端应该保持原有的请求方法进行请求

条件请求

  • 304:资源自从上次请求后没有再次发生变化,主要使用场景在于实现数据缓存
  • 409:请求操作和资源的当前状态存在冲突。主要使用场景在于实现并发控制
  • 412:服务器在验证请求的头字段中给出先决条件时,没能满足其中的一个或多个。主要使用场景在于实现并发控制

客户端错误

  • 400 : 请求体包含语法错误
  • 401 : 需要验证用户身份
  • 403 : 服务器拒绝执行
  • 404 : 找不到目标资源
  • 405 : 不允许执行目标方法,响应中应该带有 Allow 头,内容为对该资源有效的 HTTP 方法
  • 406 : 服务器不支持客户端请求的内容格式
  • 410 : 被请求的资源已被删除
  • 413 : POST 或者 PUT 请求的消息实体过大
  • 415 : 服务器不支持请求中提交的数据的格式
  • 422 : 请求格式正确,但是由于含有语义错误,无法响应
    428 : 要求先决条件,如果想要请求能成功必须满足一些预设的条件要求先决条件,

服务端错误

  • 500 : 服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理
  • 502 : 作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应
  • 501 : 服务器不支持当前请求所需要的某个功能
  • 503 : 由于临时的服务器维护或者过载,服务器当前无法处理请求

JWT:身份验证(Json Web Token)
CORS:跨域资源共享(Cross Origin Resource Sharing)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • API定义规范 本规范设计基于如下使用场景: 请求频率不是非常高:如果产品的使用周期内请求频率非常高,建议使用双通...
    有涯逐无涯阅读 7,722评论 0 6
  • HTTP状态码的分类 HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的...
    薄凉_简书阅读 3,627评论 0 1
  • 前言 HTTP状态码是用以表示[网页服务器]响应状态的3位数字代码,最常见的404错误就是其中之一通过状态码我们能...
    无聊数藏家阅读 4,114评论 0 4
  • 1xx消息 这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信...
    帥陽阅读 3,081评论 0 0
  • 今天继续清木马,好像要清理一周,这样也好,清得彻底一些。 说说我遇到的那些人吧! 从小到大,我身边的朋友,老师,同...
    透明的橙阅读 942评论 0 1