至少在IE 9上,通常情况下,浏览器决定不显示Web浏览器所服务的实体主体,而是显示自己的自定义页面。它似乎是为了一些错误,如403,404,500等。
但是,有时,将显示服务器发送的实体主体。
它用于确定是否显示响应的条件是什么?
我做了什么:我构建了一个次要的网络服务器,它通过查询字符串获取一个关于返回什么代码的参数,并返回(状态代码为code
) :
<!DOCTYPE html>
<html>
<head></head>
<body>
<h1>Response {code}</h1>
Hi. I'm an <em>HTML document</em>. I should be the response of a code {code}.
</body></html>
我是通过/my-page?code=400
,/my-page?code=500
等来调用的。有时候我会看到这个页面,有时候我没有。 Chrome会验证正在发送的状态代码。 (并显示页面。)
答案 0 :(得分:3)
这显然已经被设计破坏了。条件:
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Main\ErrorThresholds
另请注意默认值:
响应代码[403,405,410]的默认阈值为256字节,响应代码[400,404,406,408,409,500,501,505]的默认阈值为512字节。如果其中一个状态代码缺少注册表项,则其阈值默认为512字节。
http://blogs.msdn.com/b/ieinternals/archive/2010/08/19/http-error-pages-in-internet-explorer.aspx