目 录CONTENT

文章目录

接口状态码全解析:你的API到底在说什么?

萧瑟
2023-05-31 / 0 评论 / 1 点赞 / 280 阅读 / 2,046 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2023-08-04,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

image-1685512167601

HTTP 接口状态码是一种用于表示服务器对客户端请求的响应结果的数字编码。它们可以帮助开发者和用户了解请求是否成功,以及发生了什么错误。本文将介绍 HTTP 接口状态码的含义和分类,以及一些常见的状态码的用途和注意事项。

HTTP 接口状态码的分类

根据 RFC 2616 规范,HTTP 接口状态码分为五大类,每一类包含一系列具体的状态码。每个状态码由三位数字组成,第一位数字表示状态码的类别,后两位数字没有分类的作用。状态码类别如下:

  • 1xx(临时响应):表示服务器已接收到请求,需要请求者继续执行操作。

  • 2xx(成功):表示服务器已成功处理了请求。

  • 3xx(重定向):表示请求需要进一步的操作,通常是由于服务器的位置或内容发生了变化。

  • 4xx(客户端错误):表示请求存在语法错误或请求无法实现。

  • 5xx(服务器错误):表示服务器在处理请求时发生了内部错误。

常见的 HTTP 接口状态码

下面列举了一些常见的 HTTP 接口状态码,以及它们的含义和使用场景。

  • 200 OK:表示请求成功,服务器返回了请求的资源或结果。这是最常见的状态码,通常用于 GET、POST、PUT 或 DELETE 请求。

  • 201 Created:表示请求成功,并且服务器创建了新的资源。这通常用于 POST 或 PUT 请求,返回新创建资源的位置或标识。

  • 202 Accepted:表示请求已经被接受,但是服务器还没有处理。这意味着请求可能会在未来被执行,也可能会被拒绝。这通常用于异步或批量处理的场景。

  • 204 No Content:表示请求成功,但是服务器没有返回任何内容。这通常用于 DELETE 请求,或者不需要返回内容的 PUT 或 POST 请求。

  • 301 Moved Permanently:表示请求的资源已经永久地移动到了新的位置,服务器返回了新的资源的位置。这通常用于网页或网站改变了 URL 的情况,告诉客户端以后应该使用新的 URL 来访问资源。

  • 302 Found:表示请求的资源暂时地移动到了新的位置,服务器返回了新的资源的位置。这与 301 类似,但是不保证资源以后会一直在新的位置。客户端应该使用原始的 URL 来访问资源。

  • 304 Not Modified:表示请求的资源没有发生修改,服务器不返回任何内容。这通常用于缓存机制,告诉客户端可以继续使用缓存中的资源。客户端应该在请求中发送 If-Modified-Since 或 If-None-Match 标头来检查资源是否修改。

  • 400 Bad Request:表示请求存在语法错误或参数错误,服务器无法理解或处理请求。这通常是由于客户端发送了不符合规范或不完整的数据造成的。

  • 401 Unauthorized:表示请求需要身份验证,服务器返回了验证所需的信息。这通常是由于客户端没有提供正确的身份凭证造成的。

  • 403 Forbidden:表示服务器拒绝执行请求,即使客户端提供了有效的身份凭证。这通常是由于客户端没有访问资源的权限或者违反了服务器的规则造成的。

  • 404 Not Found:表示服务器找不到请求的资源。这通常是由于客户端发送了不存在或已删除的资源的 URL 造成的。

  • 405 Method Not Allowed:表示服务器不支持请求中使用的方法。这通常是由于客户端发送了不适合当前资源或状态的方法造成的,例如对一个静态文件发送 POST 请求。

  • 406 Not Acceptable:表示服务器无法根据请求中的 Accept 标头提供满足条件的响应。这通常是由于客户端指定了不支持或不兼容的数据格式造成的。

  • 408 Request Timeout:表示服务器在等待客户端发送完整请求时发生超时。这通常是由于网络延迟或客户端故障造成的。

  • 409 Conflict:表示服务器在处理请求时发生了冲突。这通常是由于多个客户端同时修改同一个资源造成的,并发控制问题。

  • 410 Gone:表示请求的资源已经被永久地删除,且不会再恢复。这与 404 类似,但是更明确地表明了资源已经不存在,并且不建议再次访问。

  • 413 Payload Too Large:表示请求中发送的实体数据过大,超出了服务器能够处理或接受的范围。这通常是由于客户端上传了过大的文件或数据造成

  • 500 Internal Server Error:表示服务器端错误的响应状态码,意味着所请求的服务器遇到意外的情况并阻止其执行请求。

  • 502 Bad Gateway:表示作为网关或代理的服务器,从上游服务器中接收到的响应是无效的。这通常并不意味着上游服务器已关闭(无响应网关/代理) ,而是上游服务器和网关/代理使用不一致的协议交换数据。鉴于互联网协议是相当清楚的,它往往意味着一个或两个机器已不正确或不完全编程。

  • 504 Gateway Timeout:表示因扮演网关或者代理的服务器无法在规定的时间内获得想要的响应而请求超时

往期精彩

1、微软新申请的专利:在虚拟空间内固定键盘位置,提升用户佩戴XR头显时的输入体验

2、在谷歌开放ZIP域名注册之后,有研究人员伪造了一个类似于资源管理器的钓鱼网站

3、华为计划于7月7日至7月9日在东莞召开年度开发者大会(cloud)


weixin

1

评论区