当我执行假网址http://localhost:1166/urldoesnotexist时,在我的HttpModule中我得到response.StatusCode为200(OK)。我原以为它会返回404(未找到)。请参阅以下代码
public class HttpPeformanceMonitorModule : IHttpModule
{
public void Init(HttpApplication context)
{
context.EndRequest += (sender, e) => TraceRequestEnd(sender, "PageLifeCycleTimer", "Begin - End Request");
}
private void TraceRequestEnd(object sender, string timerKey, string title)
{
HttpContext httpContext = ((HttpApplication)sender).Context;
if (response.StatusCode == 200) //for "http://localhost:1166/urldoesnotexist" I get Status Code 200!!!!
{
//do stuff...
}
}
}
但是,一旦将响应传递到浏览器,我在页面上看到的最后一个结果就是404 Page Not found。 - 哪个是正确的
任何人都可以解释一下为什么response.StatusCode为假网址返回200?
答案 0 :(得分:0)
服务器发送的实际状态代码是什么,例如如果你使用其他工具,如fiddler。
当他们发送404时,很多页面会发送200.你可以通过搜索“找不到页面”找到很多,虽然现在它们的数量更少,而且有用的数量更多页面关于 404页面(搜索引擎方面的改进,而不是普通网站的改进)。