尽管我们已经习惯了404 Not Found页面,但即使遇到了404,看到可爱的占位符页面我们的心情也会得到舒缓,但更令人困惑的错误之一是403:禁止响应。
这是什么意思?
简而言之:服务器已经确定不允许你访问所请求的内容。
根据RFC 7231:403(禁止)状态码表示服务器理解了请求但拒绝对其进行授权...如果请求中提供了身份验证凭据,则服务器认为它们不足以授予访问权限。403响应属于HTTP响应的4xx范围:客户端错误。这意味着你或你的浏览器做错了什么。如果遇到这种情况,通常意味着你已经通过服务器进行了身份验证,即已经登录,但是所请求的资源需要更高权限的用户才能访问。最常见的情况是,你可能以标准用户身份登录,但是你却不能访问管理层页面。
要如何解决?
1. 作为无法访问服务器的用户,你实际上只有几个选择:使用更合适的帐户进行身份验证,同样,根据RFC 7231:如果请求中提供了身份验证凭据,则服务器认为它们不足以授予访问权限。客户端不应使用相同的凭据自动重复该请求。客户可以用新的或不同的证书重复请求。这是唯一能让你立即解决的方案。
2. 通知网站所有者:如果你想访问资源,但是仍然得到403错误,那么明智的做法是让站点背后的开发团队知道,这可能是他们的错误。再一次来自RFC 7231说明:出于与凭据无关的原因,可能会禁止请求。造成这种情况意外发生的常见原因可能是服务器使用特定IP地址或地理区域的允许列表或拒绝列表。他们可能有充分的理由在严格定义的参数之外阻止你的访问,但这也可能是一个疏忽。
3. 放弃:放弃访问该资源。