2010-04-23 2 views
4

어딘가에 읽으면 응답 헤더를 제거 할 수 없습니다. 이 점을 감안할 때 표준 ASP.NET 웹 양식 응용 프로그램에서 응답 헤더가 처음에 추가되는 곳이 궁금합니다. 예를 들면 다음과 같습니다.ASP.NET 웹 양식에 응답 헤더가 생성되는 시점은 언제입니까?

Date Fri, 23 Apr 2010 16:25:56 GMT 
Server Microsoft-IIS/6.0 
X-Powered-By ASP.NET 
Cache-Control private 

그런 일을 막을 수 있습니까? 후속 헤더가 이전 헤더보다 우선 적용됩니까? 제 질문이 의미가 있습니까?

답변

3

언급 한 헤더는 IIS에 의해 자동으로 추가됩니다. 변경 방법은 Serverfault here에 게시 된 질문에 있습니다.

하지만 언제 당신의 질문에 답하기 위해, 나는 당신이 잘못 읽은 것을 기억하고 있다고 생각합니다.

나는 당신이 어떤 HTTP 헤더를 수정할 수 없다는 말을 믿는다. 콘텐츠는 브라우저으로 다시 전송됩니다. 이는 Rendering 이벤트에서 발생하거나 Response.Write 또는 Response.Redirect 메서드를 사용하는 즉시 발생합니다.

편집 - 한 Response.Redirect를를 사용하여 쿠키를 수정 ... 전송 된 헤더 oncew 할 수없는 여러 가지, 등

참조가 부수적으로

추가 이러한 링크 :

Why do I get "Cannot redirect after HTTP headers have been sent" when I call Response.Redirect()?

http://www.bing.com/search?q=HTTP+headershave+been+sent&src=IE-SearchBox&FORM=IE8SRC

추가 더

그리고 마지막으로 - 더 나은 대답. httpheaders가 전송 된 페이지 수명주기의 이벤트를 찾고있었습니다. 사실, HttpApplication 객체에 의해 전송됩니다. 이 직전에 발생하는 이벤트는 PreSendRequestHeaders event/this article입니다.

+0

이제 끝났습니다. 한 가지 대답에 대한 편집만으로 충분합니다. – David

2

X-Powered-By: ASP.NET 헤더가 IIS에 의해 추가되었습니다. HTTP 헤더 탭에서 '사용자 지정 HTTP 헤더'를 편집하여 전역 또는 사이트 단위로 제거 할 수 있습니다.

+0

답변 해 주셔서 감사합니다. 매우 도움이되었지만 아직 더 완전한 답을 찾고 있습니다. – Jones

관련 문제