常见的http状态码解析

请添加图片描述

1、简介

状态码的职责是当客户端向服务端发送请求时,描述返回的请求结果。通过状态码用户就可以知道服务端是正常处理了还是出现了异常,通过不同的状态码我们还可以判断异常的原因是客户端还是服务端。
请添加图片描述

状态码由三位数字组成,第一位指定了响应的类别,后两位没有分类,通过后两位可以判断该响应类别下的某种情况。响应类别有以下五种。

项目类别原因
1XXinformational(信息性状态码)接收的请求正在处理
2XXSuccess(成功状态码)请求正常处理完毕
3XXRedirection(重定向状态码)需要进行附加操作已完成请求
4XXClient Error(客户端错误状态码)服务器无法处理请求
5XXServer Error(服务器错误状态码)服务器处理请求出错

1、2XX成功

数字2开头的响应表示请求被正常处理了。

1.1 状态码200

表示客户端发来的请求在服务端被正常处理了。
在响应报文内随着状态码一起返回的信息会因为请求方法的不同二发生改变。比如,使用GET方法时,对应请求资源的实体会作为响应返回,使用HEAD方法时只会返回响应头,不返回响应体。

1.2 状态码204

表示客户端发送的请求已经被服务端成功处理,但是在返回的响应报文中不含有响应体,也不允许返回任何响应体。当服务端返回204时,浏览器的页面是不会发生更新的。该状态码一般用在只需要客户端向服务端发送信息,而不需要返回客户端新信息内容的情况下使用。

1.3 状态码206

表示客户端对服务端进行了范围请求,而服务器成功执行了这部分的GET请求。

2、 3XX重定向

数字3开头的状态码表明客户端需要执行某些操作以正确处理请求。

2.1 状态码301

永久重定向。该状态码表示请求的资源已经被分配到了新的URL,以后访问该资源需要用新的URL。如果之前的URL被保存了书签,应该按响应头中的locaiton字段提示的URL重新保存。

2.2 状态码302

临时重定向。该状态码表示请求的资源已经被临时分配到新的URL,希望客户端这字使用新的URL访问。302和301都是表示重定向,请求的资源被移动到新的URL上了,但是302是临时的移动,将来可能还会发生改变。

2.3 状态码303

该状态码也是表示重定向,与302状态码有着相同的功能,但是303状态码明确表示客户端应该使用GET方法重新获取资源,这是与302状态的区别。

2.4 状态码304

该状态码表示当客户端的请求报文中含有If-Match,If-Modified-Since,If-None-Match,If-Range,If-Unmodified-Since中任意一个字段时,服务器允许请求访问资源,但是因为请求未满足条件时直接返回304状态码,这边不了解的可以去看一下浏览器缓存的知识,主要就是浏览器请求的资源没有命中强缓存,会带上上述的某些字段向服务器发送请求,服务器会根据字段信息判断请求的资源是否命中协商缓存,如果命中协商缓存则请求未满足条件,服务器直接返回304状态码。虽然304被划分在3XX类别中,但是与重定向没有关系。

2.5 状态码307

临时重定向。该状态码与302有着相同的含义。尽管302标准禁止将POST请求变换成GET,但是实际使用是大家并不遵守。307会遵守规则,不会从POST变为GET。

Tips:

当301、302、303响应状态码返回时,几乎所有的浏览器都会把POST请求改成GET,并删除请求体,之后请求会自动再次发送。
301、302标准是禁止将POST请求改变成POST的,但是实际使用的时候大家都会这么做。

3、4XX客户端错误

3.1 状态码400

该状态码表示请求报文中存在语法错误。当这种错误发生时可以检查一下自己的请求报文是不是出错了。

3.2 状态码401

该状态码表示发送的请求需要有通过HTTP认证的认证信息。另外如果之前已经请求过一次了,再次请求还是401则表示认证失败。

3.3 状态码403

该状态码表示客户端对请求资源的访问被服务器拒绝了。未获得文件系统的访问权限,访问权限出现问题都有可能出现403。

3.4 状态码404

该状态码表示服务器上无法找到请求的资源。

4、5XX服务器错误

4.1 状态码500

该状态码表示服务端在执行请求的时候发生了错误,或者服务还没有启动好。

4.2 状态码503

该状态码表示服务器暂时处于超负载或者正在进行停机维护,现在无法处理请求。

常见的状态码就总结到这了,如果有错误的地方,欢迎指正。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值