HTTP状态码

当发送http请求时,我们可根据响应状态码来判定该次请求的成功与否,失败与否,若失败,失败的原因是什么!前提是,你造访的服务器要按道上的规矩办事,不会把响应状态码设置的乱七八遭的。下面列举了一些重要的http状态码,并列举了实际应用场景。其中红色部分,比较常见,需要着重记忆理解,能在实际开发中游刃有余。

总的来说,1xx is INFORMATIONAL, 2xx is SUCCESS, 3xx is REDIRECTION, 4xx CLIENT_ERROR, and 5xx is SERVER_ERROR

1xx

1xx开头的表示该请求已经被接受,但是还要继续处理。额。。。这个用的非常少,HTTP/1.0本来是没有1xx的定义,所以,为了不对客户端产生困扰,暂且封存这个状态码的使用吧。

状态码状态信息描述举例
100Continue请求已接受,请继续发送请求如果不继续请求,会返回request timeout(408)哦
101Switching Protocols服务器将转换另一种协议比如客户端要求upgrade:Http/1.1,服务端会根据要求切换协议

2xx

2xx是成功系列,当你发现2开头,唔~~可以长舒一口气了。

状态码状态信息描述举例
200ok一切正常,响应头和数据体都在改次响应中。最常见

201

created成功创建文档,文档的url见响应头Location中

与200的区别在于location

202accepted已经接收请求,并正在处理。处理结果未知。需要异步处理的情况

 3xx

3xx代表一种重定向,当你发现3开头的时候,原先url标识的资源不存在了,需要转移到新的url进行请求。

状态码状态信息描述举例
300multiple choice资源在别的地址,但是有多个url,location中有优先推荐地址。 

301

moved permanently资源永久改变,location中有新的地址 
302moved temporarily资源临时改变,location中有新的地址 
304not modified客户端用本地缓存。识别缓存是否和服务端一致,请求头ETag,Cache-Control,If-Modified-Since,Expires等等。客户端请求过该资源,且该资源未改变,直接使用本地缓存。
305use proxy资源在别的地址,地址未代理服务器,location指向的是代理服务器 

4xx

4xx说明是客户端出了问题,在你请求的时候,要么url不对,要么方法不对,要么请求体参数不对,总之一句话,请求的人发生了问题。

状态码状态信息描述举例
400bad request请求错误。比如参数错误,服务器无法理解。

 401

unauthorized未经授权,服务器不给你提供服务。没有权限验证信息/或者权限信息错误,服务器不想继续搭理你
403forbidden服务器找到资源了,但是拒绝处理。有权限信息,但是分析发现你的权限不够处理该文件。(与401对比一下)
404not found无法定位资源。你这个url服务器找不到啊
405method not allowedd请求方法对资源不适用。这个url要用post,你却用了get,服务器拒绝你。
406not acceptable资源与客户端的mime类型不兼容客户端accept头显示能处理text/html,请求的资源却是audio/mp4,给你你也用不了,浪费网费,拒绝你
407proxy authentication require需要代理服务器授权和401类似,但是要去大总管代理服务器处领个门卡
408request timeout服务器在等待你,客户端一直没发送请求。这个我发现在1xx中讲过了
409conflict资源冲突。比如现在资源版本号是5,你的put请求只允许修改版本号为2,冲突。
410gone资源永久不可用,且不能重定向。404无法找到,但可能以后会有哦。410是网站管理员告诉你,别期待了,永久作废了。比如限时活动的页面。
413request entity too large顾名思义,请求体内容太大了服务器不想处理1m以上的请求体,你发送一个1.1m的过来??拒绝你
414request-uri too longuri太长服务器不想接收100个字符以上的uri,你发送一个101字符的uri???拒绝你
415unsupported media type请求体格式,服务器不支持服务器只看的懂片片,你发送一本日文话剧过来??拒绝你
416requested range not satisfiable服务器不能满足客户端的Range头要求客户端要求range:123-432,服务器发现资源总共才23字节,你却要从123字节开始,这是漫天要价啊,拒绝你。
421there are too many connetions from your internet address同一个ip在该服务器建立的链接太多啦最常见是一大批人通过同一个代理服务器访问目标服务器,服务器一看,嗯。。。?,这么猖狂,拒绝你。

5xx,6xx

5xx和6xx都是服务器错误,服务器说,这是我的锅。

状态码状态信息描述举例
500internal server error服务器内部错误。一般情况下是,开发人员代码抛异常了。最令人胆战心惊的数字。

501

not implemented服务器无法识别的请求方法服务器只支持get和head请求,但是你来了个post,服务器说:我能力不够。
502bad gateway网关返回的错误。无法在该网关下的上游服务器获取有效的应答负载均衡下的服务器全挂了,网关服务器,嗯。。。?
503service unavailable服务器负荷过重或者维护中,无法应答。服务器正在接待100名顾客,当你去的时候,发现他所有接待线程占满了,并没有空搭理你。于是你就回来了。
504gateway timeout网关或代理,不能及时从上游服务器获得应答。服务器接收了你的请求,但是处理这个请求要花费三天三夜,网关等不到答复,就回来告诉你,服务器没回答你。
505http version not supported服务器不支持请求中所指明的http版本 
600unparseable response headers原站没有返回响应头,只有响应体 
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值