我正在尝试404回复。请在asp.net web api控制器中考虑以下内容:
// GET api/values
public IHttpActionResult Get()
{
return NotFound();
}
因此,当我转到http://localhost:51922/api/values
时,它会返回一个没有内容的404响应(显然这也绕过了内置的asp.net 404响应)。在IE11中,我得到了浏览器提供的默认未找到页面:但在Chrome中我只得到一个空白页面。在开发工具中,您可以看到Chrome获得了404响应,但之后根本没有显示任何内容。
许多较早的评论如this表示,如果响应小于512字节,Chrome会显示自己的默认404页面,但在我的测试中似乎不再是真的(响应为358B)。即使内容为空,Chrome现在是否只显示404响应内容?
我曾经读过,有时最好不要发送自定义404页面,因为每个浏览器都有默认的404消息,用户理解它们的含义,并且页面通常只是咀嚼网络流量,同时不向用户提供有用的信息。当然,意见不同,但如果某些浏览器没有任何默认的404页面,那么我们别无选择,只能发送自定义的404页面。