Http 常用请求方式和返回状态码

2019-04-23  本文已影响0人  Hesunfly

很多 Web 开发人员只知道 Http 请求方式有 Get 和 Post 两种,对于请求返回状态码更是知之甚少,基础的 200, 404, 403, 500 等。作为想更上一层的软件开发人员,这些是远远不够的,所以我介绍一下在 Http 请求中的常用请求方式和返回状态码。

Http Method

  1. Get
    Get 方式是我们平时最常用的一种请求方式,我们在获取资源时会使用,比如获取文章的数据。如果请求成功会返回状态码 200 OK 以及我们请求的资源信息。
  2. Post
    Post 方式用于创建新的资源,比如发布新的文章。请求成功返回状态码 201 Created 以及返回被创建的资源信息。
  3. Put
    Put 方式用于更新替换资源,比如修改全部文章信息。请求成功返回状态码 200 OK ,返回被修改的资源信息。
  4. Patch
    Patch 方式也是用于更新资源,和 Put 的区别是 Patch 只需要更新部分资源数据。请求成功返回 200 OK和被修改的资源信息。
  5. Delete
    Delete 方式见名知意,用户删除资源时使用。成功后返回 204 No Content 。
  6. Head
    Head 方式用户获取请求资源返回的头信息。
  7. Options
    Options 方式用于获取资源支持的所有 Http 方法

Status Code

成功:

200 OK : 请求成功并返回数据;
201 Created : 资源创建成功并返回资源数据;
202 Accepted : 接受请求,但无法立即完成创建行为,返回的实体中应该包含当前状态的信息,以及指向处理状态监视器或状态预测的指针,以便客户端能够获取最新状态;
204 No Content : 请求成功不返回数据,通常用于 Delete;

重定向:

重定向的新地址需要在响应头 Location 中返回
301 Moved Permanently : 被请求的资源已永久移动到新位置;
302 Found : 请求的资源现在临时从不同的 URI 响应请求;
303 See Other : 对应当前请求的响应可以在另一个 URI 上被找到,客户端应该使用 GET 方法进行请求。比如在创建已经被创建的资源时,可以返回 303;
307 Temporary Redirect : 对应当前请求的响应可以在另一个 URI 上被找到,客户端应该保持原有的请求方法进行请求;

条件请求:

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

客户端错误:

400 Bad Request : 请求体包含语法错误;
401 Unauthorized : 需要验证用户身份或认证失败 ;
403 Forbidden : 服务器拒绝执行;
404 Not Found : 找不到目标资源;
405 Method Not Allowed : 所请求的 HTTP 方法不允许当前认证用户访问;
406 Not Acceptable : 服务器不支持客户端请求的内容格式;
410 Gone : 被请求的资源已被删除,只有在确定了这种情况是永久性的时候才可以使用,否则建议使用 404 Not Found;
413 Payload Too Large : POST 或者 PUT 请求的消息实体过大;
415 Unsupported Media Type : 服务器不支持请求中提交的数据的格式;
422 Unprocessable Entity : 请求格式正确,但是由于含有语义错误,无法响应;
428 Precondition Required : 要求先决条件,如果想要请求能成功必须满足一些预设的条件;

服务端错误:

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

更多信息可查看 Api设计指北

文章同步发布在我的个人博客中,传送门Hesunfly Blog

上一篇下一篇

猜你喜欢

热点阅读