Web/ASP.NET

[ASP.NET] Page 클래스 속성 (Request, Response, Server 객체 등)

바구바구 2021. 4. 23. 13:41

모든 ASP.NET 웹 페이지는 System.Web.UI.Page 를 상쇽받는 사용자 정의 클래스이다. (example.aspx.cs 확인)

ASP.NET 웹 페이지는 System.Web.UI.Page 상속을 통해 캐싱 기능, 유효성 검사 기능, 추적 기능 등 여러 속성과 매서드 사용 가능

 

속성 설명
bool IsPostBack 처음 열리는 페이지(false)
컨트롤 이벤트를 처리한 뷰 상태의 정보를 담고 있는 페이지(true) 
사용자의 요청에 따라 값을 반환. 
한 번만 초기화가 이뤄져야 하는 경우, PageLoad() 에서 사용
bool EnableViewState false로 설정하면 어떤 컨트롤의 상태 정보도 유지하지 않음
HttpSessionState Session 개인 사용자를 위해 서로 다른 페이지에서 사용할 수 있는 정보를 유지 (예: 장바구니의 물품)
HttpApplicationState Application 웹 사이트에 있는 사용자 사이에 공유하고 있는 정보를 갖고 있음. (예: 페이지 방문 횟수)
Cache Cache 생성에 많은 시간이 걸리는 객체들을 저장, 재사용
HttpRequest Request 사용자 요청에 대한 정보를 포함하고 있는 객체
HttpResponse Response ASP.NET 이 사용자 웹 브라우저에 보내는 응답에 대한 정보를 포함하고 있는 HttpResponse 객체. 쿠키를 만들거나 다른 페이지로 이동할 때 사용.
HttpServerUtility Server URL 또는 페이지에 있는 HTML 마크업을 안전하게 전달하기 위해 텍스트를 인코딩하는 것과 같은 다양한 작업을 수행.
IPrincipal User 사용자 인증(authenitication)이 되었다면 이 속성은 사용자 정보로 초기화된다.

1. Request 객체

: 서버가 웹 브라우저에서 받은 사용자의 요청 정보.

속성 설명
string PhysicalApplicationPath 사용자가 요구한 페이지의 물리적 경로
string ApplicationPath 물리적 디렉터리에 대응하는 가상 디렉터리
string Path 사용자가 요구한 페이지까지 포함하는 가상 경로
Uri Url 사용자가 요구한 전체 URL 
string UserHostAddress 사용자의 IP 주소
HttpBrowserCapabilities Browser 사용자가 사용 중인 웹 브라우저에 대한 정보를 담고 있는 객체
HttpCookieCollection Cookies 사용자가 보낸 쿠키 정보를 저장 (사용자 -> 서버)
NameValueCollection QueryString GET 방식으로 전송된 페이지 매개변수를 저장

2. Response 객체 

: 서버가 웹 브라우저로 보내는 처리 결과.

속성 설명
string ContentType 사용자에게 보낼 HTML 페이지의 내용 형식을 지정하는 것. 표준 MIME 형식으로 표현
HttpCookieCollection Cookies 사용자에게 보낼 쿠키 정보 (서버 -> 사용자)
bool Buffer 페이지 버퍼링 사용 여부
매서드 설명
Write() 사용자에게 보낼 HTML 페이지에 문자열 삽입
WriteFile() 사용자에게 보낼 HTML 페이지에 파일 내용 삽입
Redirect() 다른 페이지로 이동

2-1. 페이지 버퍼링

  1. Page 객체가 실행되면서 HTML 페이지가 만들어진다.
  2. 서버 컨트롤 또는 Response 객체의 메서드를 통해 만들어진 HTML 페이지는 버퍼에 저장된다.
  3. 버퍼에 저장된 HTML 페이지는 웹 폼의 실행이 끝나면 사용자에게 전송된다.
페이지 버퍼링 관련 매서드 설명
Clear() 현재 버퍼에 있는 내용 삭제
Flush() 현재 버퍼에 있는 내용을 사용자에게 전송
End() 현재 버퍼에 있는 내용을 사용자에게 전송하고 페이지 실행 종료

3. Server 객체

: Server 객체는 클래스 HttpServerUtility 의 인스턴스로, 웹 응용 프로그램 개발에 필요한 다양한 유틸리티 기능을 모아 놓은 객체.

맴버 설명
int ScriptTimeout 요청에 대한 제한 시간 값을 설정
object CreateObject() 서버 컨트롤 객체 생성
void Excute() 요청된 페이지의 실행을 중단하고 새로운 웹 폼을 수행.
수행이 끝나면 다시 Excute() 문 다음부터 계속 수행
string, void HtmlEncode() HTML 문서 형식으로 인코딩
string, void UrlEncode() URL 형식으로 인코딩
void Transfer() Excute() 문과 같은 기능이지만 새로운 웹 폼이 종료되면 실행 종료.