常见的响应状态码都是什么?什么含义

HTTP 响应状态码由 3 位数字组成,首位数字定义了状态码的类别,RFC 标准将其分为 5 大类,常见状态码及含义如下:

  1. 1xx:信息性状态码(临时响应)
    表示服务器已接收请求,正在处理,这类状态码很少直接在浏览器中看到。
    100 Continue:服务器提示客户端可以继续发送请求体(常用于 POST 大请求时的预检)。
    101 Switching Protocols:服务器同意客户端的协议切换请求(如 HTTP 切换到 WebSocket)。
  2. 2xx:成功状态码
    表示请求被服务器成功接收、理解并处理。
    200 OK:最常见的成功状态码,请求成功,响应体返回请求的资源(如 HTML 页面、JSON 数据)。
    201 Created:请求成功并创建了新资源(常用于 POST 请求,如创建用户、订单),响应头通常会携带 Location 字段指向新资源地址。
    204 No Content:请求成功,但响应体无内容(常用于 DELETE 请求或只需要更新状态的操作),浏览器页面不会刷新。
    206 Partial Content:服务器成功处理了范围请求(如断点续传、视频分段播放),只返回了资源的部分内容。
  3. 3xx:重定向状态码
    表示客户端需要进一步操作才能完成请求,通常用于资源地址变更或负载均衡。
    301 Moved Permanently:永久重定向,请求的资源已被永久移动到新地址,浏览器会缓存新地址,后续请求直接访问新地址(如网站域名更换)。
    302 Found:临时重定向,资源临时移动到新地址,浏览器不会缓存新地址(如未登录用户访问需要权限的页面,跳转到登录页)。
    304 Not Modified:协商缓存命中,资源自上次请求后未被修改,服务器不返回资源体,客户端直接使用本地缓存(节省带宽)。
    307 Temporary Redirect:临时重定向,与 302 类似,但严格要求客户端使用原请求方法(如 POST 请求不会被转为 GET)。
  4. 4xx:客户端错误状态码
    表示请求存在语法错误或资源不存在,问题出在客户端。
    400 Bad Request:请求报文格式错误,服务器无法解析(如参数格式错误、请求头不合法)。
    401 Unauthorized:请求需要身份验证,客户端未携带或携带了无效的身份凭证(如未登录、Token 过期)。
    403 Forbidden:服务器拒绝请求,客户端权限不足(即使身份验证通过也无法访问,如普通用户访问管理员接口)。
    404 Not Found:最常见的客户端错误,请求的资源不存在(如访问了错误的 URL、页面被删除)。
    405 Method Not Allowed:请求使用的 HTTP 方法不被目标资源支持(如用 POST 请求访问只允许 GET 的接口)。
    408 Request Timeout:服务器等待请求的时间过长,主动断开连接。
    429 Too Many Requests:客户端在短时间内发送了过多请求,触发了服务器的限流策略(如 API 调用频率超限)。
  5. 5xx:服务器错误状态码
    表示服务器在处理请求时发生了意外错误,问题出在服务器端。
    500 Internal Server Error:通用服务器内部错误,服务器执行请求时遇到了未预期的情况(如代码 Bug、数据库连接失败)。
    502 Bad Gateway:网关 / 代理服务器收到了上游服务器的无效响应(如反向代理后端的应用服务器宕机)。
    503 Service Unavailable:服务器暂时无法提供服务(如服务器维护、过载),通常是临时性的。
    504 Gateway Timeout:网关 / 代理服务器等待上游服务器响应的时间过长,超时返回。
posted @ 2025-12-23 15:30  BabyUnique  阅读(0)  评论(0)    收藏  举报