有关4xx的状态码解释

前端小伙伴有时候联调接口的时候回在浏览器的控制台看到响应结果为4xx的状态码,一些小伙伴们就会直接截图发给后台人员,并说:’你这接口有问题‘。?其实4xx这块的问题属于客户端问题。

那我们看看常用400、401、403、404、412、417的解释

1、 400 Bad Request(错误请求),来看图

客户端向服务器请求,服务器拿到请求内容时发现请求的内容有问题,没法给你做出相对结果,就需要返回状态码400告诉客户端,你的请求内容有问题,需要修改后再次发送。

浏览器会把400当中200 ok 一样对待。不会出现错误处理。

2、401 Unauthorized (未验证),来看图

当客户端请求服务器资源时,但是服务器说了:‘你要是想得到这资源的话,需要你的身份认证,请你按照我的提出的认证方法(BASIC、DIGEST,这两种认证会向客户端返回WWW-Authenticate,想对这两中认证解更细的请查看《BASIC认证》《DIGEST认证》)来认证‘。且会返回首部字段添加 WWW-Authenticate:’验证方法‘ 以及状态码401’。

客户端拿到响应首部的 WWW-Authenticate中的验证方法之后,就会在客户端显示认证窗口,用户输入完成,客户端就会带上认证信息再次发送请求。

3、 403 Forbidden 被拒绝的访问,来看图客户端访问服务器时,服务器对客户端说:‘你的访问被我拒绝了,具体的原因我也不会不会告诉你,如果你想知道的话就看看响应实体内容吧’。

客户端拿到403以后,可以根据响应实体内容的massage进行展示提示错误原因


4、 404 Not Found 没有发现资源,来看图

客户端访问服务器时,服务器对客户端说:‘sorry 我这没有你想要的资源,或者我不想给你这个资源’

5、412 Precomdition Failed 前提失败 ,看图


这块和if-match、if-Ranges、ranges有些关系,大家放心一班情况下不会出现这个状态码,面试的时候很少会问道块。

客户端请求服务器资源的时候会在请求首部的字段中携带一个if-match值,这个值是服务器之前返回客户端资源是携带的ETag值,当服务器看到有if-match的时候就会和服务器资源的ETag(服务器上的资源都会通过某种算法来给资源生产一个唯一标识符的ETag)进行比较,如果发现if-match!==ETag,服务器就会返回状态码412。

客户端看到412的状态码就会再次发送请求

6、417 Expectation Failed 期望失败,来看图



客户端给服务器说我想要某某的资源你给给我吗,服务器看了看自己资源,想了一下这么珍贵的资源说:‘你的这个期望的资源还是不要想了我不能给你’。



转载于:https://juejin.im/post/5c22e5e46fb9a049fc03904b

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值