一、 状态码是什么?
HTTP状态码(HTTP Status Code),用来表示网页服务器超文本传输协议响应状态的3位数字代码。简单来说,http状态码的作用就是服务器返回客户端当前请求的状态,通过状态码判断、分析服务器的运行状态。
二、分类
状态码第一位数字决定了不同的响应状态 ,如:
- 1 表示消息
- 2 表示成功
- 3 表示重定向
- 4 表示请求错误
- 5 表示服务器错误
1xx
代表请求已被接收,还需要继续处理,这类响应式临时响应,只包含状态行和某些可选的响应头信息,并以空行结束
常见的有:
- 100 (客户端继续发送请求,这是临时响应):这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。服务器必须在请求完成后向客户端发送一个最终响应
- 101: 服务器根据客户端的请求切换协议
2xx
代表请求已被服务器接收、理解、并接受
常见的有:
- 200(成功):请求成功 请求说希望的响应头或数据体将随此响应返回
- 201(已创建): 请求返回并且服务器创建了新的资源
-
202(已创建):服务器已经接收请求,但尚未处理
-
204(无内容):服务器成功处理请求,但没有返回任何内容
-
206(部分内容):服务器成功处理了部分请求
3xx
代表要完成请求,需要进一步操作。 通常,这些状态代码用来重定向
常见的有:
- 302: Found 临时性重定向,表示资源临时被分配了新的 URL, 支持搜索引擎优化 首页, 个人中心, 遇到了需要登录才能操作的内容, 重定向 到 登录页
- 304: Not Modified 自从上次请求后,请求的网页内容未修改过。 服务器返回此响应时,不会返回网页内容。(协商缓存)
4xx
代表了客户端看起来可能发生了错误,妨碍了服务器的处理
常见的有:
- 400(错误请求): 服务器不理解请求的语法
-
403:告诉客户端进制访问该站点或者资源,如在外网环境下,然后访问只有内网 IP 才能访问的时候则返回
- 401(未授权): 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。
- 404(未找到): 服务器找不到请求的网页
- 408(请求超时): 服务器等候请求时发生超时
5xx
代表服务器无法完成明显有效的请求。这类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生
常见的有:
- 500(服务器内部错误):服务器遇到错误,无法完成请求
- 505(HTTP 版本不受支持): 服务器不支持请求中所用的 HTTP 协议版本