文章目录
- 什么是响应状态码
- 组成及分类
- 常见响应状态码
- 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 | 服务器没有准备好处理请求。由于超载或系统维护,服务器暂时的无法处理客户端的请求。 |