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. 페이지 버퍼링
- Page 객체가 실행되면서 HTML 페이지가 만들어진다.
- 서버 컨트롤 또는 Response 객체의 메서드를 통해 만들어진 HTML 페이지는 버퍼에 저장된다.
- 버퍼에 저장된 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() 문과 같은 기능이지만 새로운 웹 폼이 종료되면 실행 종료. |