403 Forbidden错误的浏览器行为

时间:2009-11-04 15:46:09

标签: browser standards header http-status-code-403

当用户尝试访问他们无权访问的资源时,我的服务器返回403禁止错误。除了标题之外,服务器还会写一条描述错误的小消息。

在Firefox中,错误消息会很好地显示,并且用户知道发生了什么。

在Internet Explorer中,邮件被隐藏并替换为403 Forbidden标准错误页面。

是否有任何特定规则允许我在所有浏览器中显示错误消息,同时仍将状态设置为403 Forbidden?

以下是此状态的RFC信息:

  

服务器理解请求,但是   拒绝履行它。   授权无济于事   请求不应重复。如果   请求方法不是HEAD和   服务器希望公开为什么   请求尚未完成,它   应该描述原因   拒绝实体。如果是服务器   不希望提供这些信息   可供客户使用,状态   可以使用代码404(未找到)   代替。

好像我应该设置一条消息,但IE不会显示它。

2 个答案:

答案 0 :(得分:6)

尝试将403页面放大(即更多字节)。一些浏览器假设一个简短的错误页面是Web服务器的默认页面,并决定显示自己的,可能是更有帮助的文本。

More info

答案 1 :(得分:0)

错误处理的实现取决于浏览器。在HTTP中,如果您只是要返回403错误,那么您必须依赖用户代理(浏览器的技术名称,错误消息的收件人可能不是浏览器)来处理它认为合适的方式。

如果您不喜欢浏览器处理403错误的方式,并希望确保所有浏览器的用户体验一致,那么请将用户重定向到您自己的“权限被拒绝”页面。您可以构建一个页面,向他们解释为什么权限被拒绝以及他们可以对此做些什么。它对任何浏览器都是一致的。