HTTP 401错误和HTTP 403错误的详细区别
浏览:161 时间:2023-12-2

HTTp401错误和HTTp403错误-状态代码响应描述

我们之前已经详细介绍了403HTTp错误代码。那么401(未授权)和403(禁止)状态码有什么区别呢?它们是一样的吗?让我们仔细看看!

RFC标准

401(未授权)的最新RFC标准是RFC7235:401(未授权)。状态代码表示请求尚未应用,因为它缺少目标资源的有效身份验证凭据.用户代理可以使用新的或替代的授权头字段重复请求。

403(禁止)是RFC7231中的最新定义:403(禁止)的状态代码表示服务器理解请求,但拒绝授权.如果请求中提供了身份验证凭据,服务器会认为这些凭据不足以授予访问权限。

明显的原因

如前一篇文章所述,403错误可能是登录的情况,但用户没有足够的权限访问请求的资源。例如,普通用户可能正在尝试加载管理员路由。另一方面,401错误最明显的是你根本没有登录或者提供了错误的密码。这是两个最常见的错误原因。

一个不太明显的原因

在某些情况下,事情并没有那么简单。因为限制不完全取决于登录用户的凭据,所以可能会出现403错误。例如,服务器可能锁定了特定资源,只允许从预定义范围的Ip地址进行访问,或者可能利用了地理阻挡。VpN可以绕过后者进行访问。

即使用户输入了正确的凭据,也会出现401错误。这很少见,但是如果授权头格式不正确,它将返回401。例如,您可能希望在请求头中包含一个JWT(JSONWeb令牌),它的格式是authorization : bearereyjhbgci.yjv _ adqssw5c。如果你忘记了JWT之前的“来人”这个词,你会遇到一个401错误。在用postman测试正在开发的ApI时,我自己也遇到了这个问题,但是忘记了auth header的正确语法!

友情提醒:A5官方SEO服务为您提供权威网站优化解决方案,可快速解决网站流量和排名异常,网站排名无法突破瓶颈等服务:http://www.admin5.cn/seo/zhenduan/