2011-04-08 4 views
0

가짜 URL을 실행하면 http://localhost:1166/urldoesnotexist, HttpModule 내에서 response.StatusCode가 200 (OK)으로 표시됩니다. 나는 그것이 404 (Not Found)를 돌려 주길 기대하고 있었다. 응답이 브라우저에 전달 된 후 그러나HttpModule에서 잘못된 HttpStatus 코드가 반환되었습니다.

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 페이지입니다. - 어느 쪽이 맞습니까

누구든지 제게 왜 response.StatusCode가 가짜 URL을 200으로 반환하는지 설명해 주시겠습니까?

답변

0

서버에서 보낸 실제 상태 코드는 무엇입니까? 피들러와 같은 다른 도구를 사용하는 경우

404 페이지를 보낼 때 페이지가 많이 나옵니다. "페이지를 찾을 수 없습니다."라는 검색을하면 많이 찾을 수 있습니다. 요즘에는 페이지 수가 적고 많은 수가 있습니다. 유용한 페이지 대략 404 페이지 (평균 웹 사이트의 부분에 아닙니다, 수색 엔진의 부분에 개선).

+0

내가 멀리 있었을 때 죄송합니다 답장하는 동안 나를 데려갔습니다. Fiddler가 나에게 HTTP/1.1 404를 찾을 수 없음을 보여줍니다. 내 질문에 왜 HTTP 모듈 응답 코드가 잘못된 URL에 대해 200 준다? – Spock

관련 문제