本文同步本人掘金平台的原创翻译:https://juejin.cn/post/6844904025305923592
在上网的时候,收到任何的错误码都是让人沮丧的体验。尽管我们已经习惯于404页面找不到,我们在页面迷失的时候,看到可爱的占位符来娱乐我们是很常见的事情了。但是有种更令人困惑的403错误:禁止响应。
403意味着什么?简单来说:当你发起请求的时候,服务端决定了你没有权限访问。
根据RFC 7231:
403(禁止)状态码表明服务端已经明白请求,但是拒绝授权...如果请求中提供了授权的身份认证,服务端认为它们不足以授予访问权限。
403响应是属于客户端错误4xx范围的HTTP响应。这意味着你或者你的浏览器做错了什么。
如果你遇到这个,这通常意味着你已经通过服务器进行了身份验证,比如你已经登陆,但是你请求的资源希望某人具有更高的特权。
最常见的,你作为一个普通用户登陆系统,但是你尝试去获取管理员(权限的)页面。
你怎么去解决它作为一个没有访问服务器权限的用户,你实际上只有几种选择:
使用更适合的账号进行身份验证再者,根据RFC 7231
如果请求中提供了身份验证凭据,则服务器认为它们不足以授予访问权限。客户端不应该使用相同的凭证重复请求。客户端可以用新的或不同证书重复请求。
这是唯一使你立刻拥有解决此问题能力的解决方案。
如果你在一个站点上拥有多个账号,并且尝试执行通常可以访问的操作,但是这次被禁止这样做了,那么你应该尝试此方法:使用你的其他账号登陆。
你可能会发现,此选项还需要清除缓存或Cookies,以防万一其他用户登陆而导致刷新身份验证令牌失效。但是通常是不需要的操作。
作为一个令人绝望的举动,你还可以尝试禁止可能会干扰你使用网站的浏览器扩展插件。但是,这不太可能,因为403表明你已经通过身份验证,但是未获得授权。
通知网站所有者:当你想访问内容时候返回了403译者加:无法访问站点,翻墙软件也可能导致,请检查是否关闭了代理软件
如果你希望完全可以访问有问题的资源,但是仍然看到此错误,那么明智的做法就是让网站背后的团队知道 - 这可能是他们的错误。
再次引用RFC 7231:
然而,可能由于与凭证无关的原因而禁止请求。
造成这种情况意外发生的常见原因可能是服务器使用特定IP地址或地理区域允许列表或拒绝列表(名单)。
他们可能有充分的理由在严格定义的参数之外阻止你的访问,但是也可能是一个疏忽。
放弃也许你不应该能够访问该资源。这种情况是会有的。这是一个庞大的互联网,可以合理地预期某些区域对你本人是无法进入的。
你可以通过http.cat站点来反省一下,为什么你的原始请求会被禁止