HTTP 状态码

简单来讲,HTTP 状态码的作用是服务器告诉客户端当前请求响应的状态,通过状态码就能判断和分析服务器的运行状态

image-20220604194555953

状态码的第一位数字表示状态类型,第二、三位数字表示具体的情况

1xx

表示请求已被接受,需要继续处理。这类响应是临时响应,只包含「状态行」和某些可选的响应「头信息」,并以空行结束

常见的有:

2xx

表示请求已成功被服务器接收、理解、并接受

常见的有:

3xx

表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向

常见的有:

4xx

表示客户端有错误,妨碍了服务器的处理

常见的有:

5xx

表示服务器有错误,在处理请求的过程中有错误或者异常状态发生

常见的有:

适用场景

100:客户端在发送 POST 数据给服务器前,征询服务器情况,看服务器是否处理POST的数据,如果不处理,客户端则不上传 POST 数据,如果处理,则 POST 上传数据。常用于 POST 大数据传输

206:一般用来做断点续传,或者是视频文件等大文件的加载

301:永久重定向会缓存。新域名替换旧域名,旧的域名不再使用时,用户访问旧域名时用 301 就重定向到新的域名

302:临时重定向不会缓存,常用 于未登陆的用户访问用户中心重定向到登录页面

304:协商缓存,告诉客户端有缓存,直接使用缓存中的数据,返回页面的只有头部信息,是没有内容部分

400:参数有误,请求无法被服务器识别

403:告诉客户端进制访问该站点或者资源,如在外网环境下,然后访问只有内网 IP 才能访问的时候则返回

404:服务器找不到资源时,或者服务器拒绝请求又不想说明理由时

503:服务器停机维护时,主动用 503 响应请求或 nginx 设置限速,超过限速,会返回 503

504:网关超时