IE中“显示友好的HTTP错误消息”选项的目的是什么

时间:2012-11-19 14:25:24

标签: javascript jsp

在我的web.xml中创建了错误页面标记,使用404错误代码重定向页面。在IE中,如果取消选中“显示友好的HTTP错误消息”。然后只有它工作正常并显示重定向页面。如果该选项已启用,则会出现“页面不显示”错误。任何人都告诉我在IE Internet Option中使用“显示友好的HTTP错误消息”选项。(工具 - > Internet选项 - >高级 - >浏览(显示友好的HTTP错误消息)

2 个答案:

答案 0 :(得分:8)

IE实现了此功能,因为大多数用户不知道404意味着什么,只是进一步混淆了他们。不幸的是,开发人员意味着有用的信息或更好的实现会被用户屏蔽。杰夫阿特伍德有一个不错的writeup大约404页。他的一个建议是:

  

您必须使自定义的404页面大于512字节,   否则IE将假设它是标准的Web服务器404消息和   用它自己的友好版本替换它。

因此,请尝试将404页面设置为超过512个字节,然后查看是否将其显示给用户。

答案 1 :(得分:2)

HTTP响应由HTTP标头和HTTP主体组成。第一个头包含HTTP响应代码,它是一组定义的数字代码,用于表达某种含义。某些状态代码使客户端执行某些特定操作,而其他状任何响应都可能另外包含HTTP正文,通常是实际页面。

302响应代码指示客户端尝试获取另一个URL(也包含在标题中) 404响应表示正在请求的页面不存在。这意味着“错误” 有关详情,请参阅http://en.wikipedia.org/wiki/Http_status_codes

在任何一种情况下,如果响应还包含HTTP正文,则浏览器可能会或可能不会以某种方式使用它。它取决于它。通常,302重定向响应不包含正文,而404错误响应包含一些HTML页面,表示“抱歉,出错了”。通常,这只是标准丑陋的默认Apache错误文档。

如果关闭IE选项,IE将只显示从服务器收到的错误页面。如果该选项打开,如果它收到404错误似乎无用,它将提供自己漂亮的“有用”错误页面。

现在重要的部分:
请勿使用404页面“重定向”!它们的意思是“错误”,而非“重定向”。使用302响应和HTTP Location标头重定向,而不是HTML元标记或Javascript黑客。