HTTP 响应状态码

时间:2025-04-07 15:14:17

文章目录

  • 什么是响应状态码
  • 组成及分类
  • 常见响应状态码
    • 2**成功响应相关
    • 3**重定向相关
    • 4**客户端响应相关
    • 5**服务端响应相关

什么是响应状态码

HTTP响应状态码 (HTTP Status Code),也属于HTTP协议的一部分,用来标识响应的状态。响应状态码会随着响应消息一起被发送至客户端浏览器,浏览器根据服务器返回的响应状态码,就能知道这次HTTP请求的结果是成功还是失败了。

组成及分类

HTTP 状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字用来对状态码进行细分。

HTTP 状态码共分为 5种类型

分类 分类描述
1** 信息响应,服务器收到请求,需要请求者继续执行操作。
2** 成功响应,操作被成功接收并处理。
3** 重定向,需要进一步的操作以完成请求。
4** 客户端响应,请求包含语法错误或无法完成请求。
5** 服务器响应,服务器在处理请求的过程中发生了错误。

完整的 HTTP 响应状态码,可以参考MDN 官方文档

常见响应状态码

2**成功响应相关

2** 范围的状态码,表示服务器已成功接收到请求并进行处理。

常见的 2** 类型的状态码如下:

状态码 状态英文名称 中文描述
200 OK 请求成功。一般用于 GET 与 POST 请求
201 Created 已创建。成功请求并创建了新的资源,通常用于 POST 或 PUT 请求

3**重定向相关

3** 范围的状态码,表示表示服务器要求客户端重定向,需要客户端进一步的操作以完成资源的请求。

常见的 3** 类型的状态码如下:

状态码 状态英文名称 中文描述
301 Moved Permanently 永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替。
302 Found 临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI。
304 Not Modified 未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源(响应消息中不包含响应体)。客户端通常会缓存访问过的资源。

4**客户端响应相关

4** 范围的状态码,表示客户端的请求有非法内容,从而导致这次请求失败。

常见的 4** 类型的状态码如下:

状态码 状态英文名称 中文描述
400 Bad Request 1、语义有误,当前请求无法被服务器理解。除非进行修改,否则客户端不应该重复提交这个请求。2、请求参数有误。
401 Unauthorized 当前请求需要用户验证。
403 Forbidden 服务器已经理解请求,但是拒绝执行它。
404 Not Found 请求失败。服务器无法根据客户端的请求找到资源(网页)。
408 Request Timeout 请求超时。服务器等待客户端发送的请求时间过长,超时。

5**服务端响应相关

5** 范围的状态码,表示服务器未能正常处理客户端的请求而出现意外错误。

常见的 5** 类型的状态码如下:

状态码 状态英文名称 中文描述
500 Internal Server Error 服务器遇到了不知道如何处理的情况。
501 Not Implemented 此请求方法不被服务器支持且无法被处理。只有GET和HEAD是要求服务器支持的,它们必定不会返回此错误代码。
503 Service Unavailable 服务器没有准备好处理请求。由于超载或系统维护,服务器暂时的无法处理客户端的请求。