[ASP] 내장객체 정리

Web

http://taeyo.net/lecture/에 있는 강의를 제가 알기 쉽게 정리한 내용입니다.


▶ 내장객체모델

* Server

 asp.dll에서 제공되지 않는 외부객체를 사용하기 위해서는 Server.CreateObject 메소드를 이용해서,

 객체의 인스턴스생성 후 사용할 수 있다.

 ex) 데이터베이스 접속을 위해서 MS에서 제공하는 ADO(ActiveX Data Object)

    파일시스템에 읽고 쓰기위한 FileSystemObject

* Request

 5개의 컬렉션, 1개의 속성, 1개의 메소드로 구성됨

 - 컬렉션

 QueryString: Get방식 인자

 Form: Post방식 인자

 Cookie: 쿠키

 ServerVariable: HTTP해더값, 서버자체변수 등

  ex) Request.ServerVariable("REMOTE_ADDR")

 ClientCertificate

 

 - 속성

 TotalBytes: 클라이언트에서 서버측으로 전송한 바이트 전체 개수에 대한 정보

 

 - 메소드 

 BinaryRead: count한 byte만큼 데이터를 읽어들인다.


 - 우선순위

 QueryString > Form > Cookie > ClientCertificate > ServerVariable


 - Request() / Request.QueryString() / Request.Form() 비교

 Request(): 컬렉션을 우선순위에 따라 순회하면서 요청한 인자를 겁색한다.

 Request.QueryString(): Get방식으로 넘겨준 인자를 검색한다.

 Request.Form(): Post방식으로 넘겨준 인자를 검색한다.

 

 Request() 방식은 어떤방식으로 인자를 넘겨줄지 모르는 경우는 유용하나,

 소스코드가 직관적이지 못하며, 성능상 QueryString(), Form()에 비해서 떨어진다.

 

* Response

 1개의 컬렉션, 9개의 속성, 8개의 메소드로 구성되어 있다.

 - 컬렉션

 Cookies

 

 - 속성

 Buffer

 CacheControl

 Charset

 ContentType

 Expires

 ExpiresAbsolute

 IsClientConnected

 Pics

 Status

 

 - 속성

 AddHeader

 AppendToLog

 BinaryWrite

 Clear

 End

 Flush

 Redirect

 Write


* Session

 2개의 컬렉션, 5개의 속성, 3개의 메소드, 2개의 이벤트로 구성되어 있다.

 - 컬렉션

 Contents: application/session 내에서 script 상에서 선언된 변수

 StaticObjects: application/session 내에서 HTML <object> tag를 이용해서 선언된 변수


 - 속성

 CodePage: 

 LCID: 지역을 구분할 수 있는 정수를 지정 또는 반환. 이를 이용해서 일시, 통화 등을 표현할 수 있다..

 SessionID: 서버에 의해서 생성된 유니크한 Session id. 사용자의 유니크 id를 반환.

 Timeout: Application에서의 Session 객체 유지시간

 

 - 메소드

 Abandon: 해당 User의 Session 삭제

 Contents.Remove: Contents 중 입력한 key 변수 삭제

 Contents.RemoveAll(): Contents 전체 변수 삭제


* Application

 2개의 컬렉션, 4개의 메소드, 2개의 이벤트로 구성되어 있다.


 Application 개체는 Event가 존재하며, 제공되는 Event에는 OnStart, OnEnd가 있다.

 제어하는 파일은 global.asp이다.

 Event는 application의 시작/종료시점, Session의 시작/종료시점으로 각각 4가지 구분된다.

  

 Application 객체는 전역변수로서 사용될 수도 있다.

 전역변수는 여러명의 사용자가 동시에 접근할 수 있기에 이를 제어하기 위한 임계영역을 지정하는 메소드가 필요하겠죠?

 이와 같은 역활을 하는 메소드가 Lock, UnLock 이다.


 - 컬렉션

 Contents

 StaticObjects

  

 - 메소드

 Contents.Remove

 Contents.RemoveAll()

 Lock

 Unlock

 

 - 이벤트

 Application_OnEnd

 Application_OnStart


* ASPError

 ASP 3.0, IIS5 이후 부터 지원한다.

 9개의 속성으로 구성되어 있다.

 

 - 속성

 ASPCode

 ASPDescription

 Category

 Column

 Description

 File

 Line

 Number

 Source


▶ 참조

http://taeyo.net/lecture/

http://www.w3schools.com/asp/asp_ref_session.asp