一、基本概念和作用
HTTP 状态码(英语:HTTP Status Code),用以表示网页服务器超文本传输协议响应状态的 3 位数字代码
HTTP 状态码的作用是服务器告诉客户端当前请求响应的状态,通过状态码就能判断和分析服务器的运行状态
二、分类
状态码第一位数字决定了不同的响应状态,有如下
1:表示消息
2:表示成功
3:表示重定向
4:表示请求错误
5:表示服务器错误
1xx
代表请求已被接受,需要继续处理
100:客户端继续发送请求,这是临时响应
101:服务器根据客户端的请求切换协议
2xx
代表请求已成功被服务器接收、理解、并接受
200:请求成功
201:请求成功且服务器创建了新的资源
202:服务器接受了请求,但没有处理
203:未授权信息
204(无内容):服务器成功处理请求,但没有返回内容
205(重置内容):服务器成功处理请求,但没有返回内容
206:服务器只处理部分请求
3xx
表示要完成请求,需要进一步操作
300:针对请求,服务器可执行多种操作
301:请求的网页已永久移动到新位置
302:请求的网页临时移动
4xx
代表了客户端看起来可能发生了错误,妨碍了服务器的处理
400:服务器对请求不理解
401:请求要身份验证
403:服务器拒绝请求
404:服务器找不到请求
405:请求的方法被禁用
406:请求不被接受
407:请求需要授权代理
408:请求超时
5xx
表示服务器无法完成明显有效的请求
500:服务器内部错误
501:服务器没有请求功能
502:错误网关
503:服务器不可用
504:服务器网关超时
505:HTTP版本不受支持
三、适用场景
100:客户端在发送 POST 数据给服务器前,征询服务器情况,看服务器是否处理 POST 的数据,如果不处理,客户端则不上传 POST 数据,如果处理,则 POST 上传数据。常用于 POST 大数据传输
206:一般用来做断点续传,或者是视频文件等大文件的加载
301:永久重定向会缓存。新域名替换旧域名,旧的域名不再使用时,用户访问旧域名时用 301 就重定向到新的域名
302:临时重定向不会缓存,常用 于未登陆的用户访问用户中心重定向到登录页面
304:协商缓存,告诉客户端有缓存,直接使用缓存中的数据,返回页面的只有头部信息,是没有内容部分
400:参数有误,请求无法被服务器识别
403:告诉客户端进制访问该站点或者资源,如在外网环境下,然后访问只有内网 IP 才能访问的时候则返回
404:服务器找不到资源时,或者服务器拒绝请求又不想说明理由时
503:服务器停机维护时,主动用 503 响应请求或 nginx 设置限速,超过限速,会返回 503