Application 객체
|
|
|
웹 어플리케이션에 접속한 모든 사용자에게 정보를 공유하기 위해 사용한다.
|
|
|
|
메소드 |
설명 |
Lock |
다른 사용자로부터 Application 객체의 속성을 변경하는 것을 막는다. |
Unlock |
다른 사용자가 Application 객체의 속성을 변경하는 것을 허가한다. |
|
이벤트 |
설명 |
Application_OnStart |
웹 어플리케이션에 최초의 사용자가 접근할 때 실행된다. |
Application_OnEnd |
웹 어플리케이션이 종료될 때 실행된다. |
|
|
|
|
|
두 이벤트는 Global.asa에서 정의되어야 한다. |
|
|
Session 객체
|
|
|
특정 사용자 세션에서만 공유되는 정보를 저장하기 위해 사용한다.
각 사용자들은 웹 어플리케이션의 모든 페이지에서 자신만의 정보를 공유할 수 있다.
|
|
|
|
프로퍼티 |
설명 |
SessionID |
사용자의 Session ID를 리턴한다. |
Timeout |
이 어플리케이션의 세션 상태에 대한 Timeout 주기를 분으로 표시한다. |
|
메소드 |
설명 |
Abandon |
세션 객체를 제거하고 그 자원들을 모두 시스템에 돌려준다. |
|
이벤트 |
설명 |
Session_OnStart |
어떤 사용자가 처음으로 웹 어플리케이션에 접속할 때 실행된다. |
Session_OnEnd |
Abandon이 호출되거나 Timeout 시간동안 사용자의 접근이 없을 때 실행된다. |
|
|
|
|
|
두 이벤트는 Global.asa에서 정의되어야 한다. |
|
|
Request 객체
|
|
|
Request 객체는 HTTP 요구 과정에서 클라이언트 브라우져로 부터 서버로 전달되는 값들을 가져온다.
Request 객체는 다음과 같은 컬렉션들을 포함한다. 컬렉션이란 한 객체의 하위 객체라고 보면 된다.
|
|
|
|
ClientCertificate |
클라이언트의 보안 인증을 위해서 필요한 필드 값들을 전달한다. |
Cookies |
클라이언트의 쿠키 값을 얻어온다.
쿠키란 클라이언트의 하드디스크에 저장할 수 있는 개인 정보이다.
예를 들자면 어떤 사용자가 이전에 웹 어플리케이션을 방문했을 때의 자취를 이 쿠키에 담을 수도 있고, 인터넷 쇼핑몰 안에서 쇼핑한 결과를 담아서 요금 지불을 할 때에 필요한 물품들의 목록 및 가격등을 담을 수도 있다. |
Form |
폼 값을 전달한다. |
QueryString |
HTTP 쿼리 문자열 안의 변수 값들을 전달한다. |
ServerVariables |
미리 결정된 환경 변수의 값들을 전달한다. |
|
|
|
|
|
ClientCertificate 컬렉션
사용자가 SSL3.0/PCT1 프로토콜을 사용하여 서버에 연결할 때(다시말해서, URL의 시작부분에 "http://"대신에 "https://"를 사용할 때), 서버는 인증 요구를 하게된다.
그때 클라이언트 브라우져는 X.509 표준에서 지정한 인증 필드들을 서버로 보내게 되는데, 이 ClientCertificate 컬렉션이 이 값들을 받아오는 역할을 한다.
|
|
|
|
문법 |
Request.ClientCertificate(Key[SubKey]) |
Key |
전달할 인증 필드의 이름이며 아래의 값들중 하나를 사용할 수 있다. |
Subject |
인증 서브젝트 정보의 서브 필드 목록을 문자열 형태로 리턴한다.
만약 SubKey가 지정되지 않았을 경우, ClientCertificate는 모든 서브 필드 목록을 컴마(,)로 구분하여 리턴한다. 예를 들면, "C=US, O=Msft, ...". |
Issuer |
인증 발행인 정보의 서브 필드 목록을 문자열 형태로 리턴한다.
만약 SubKey가 지정되지 않았을 경우, ClientCertificate는 모든 서브 필드 목록을 컴마(,)로 구분하여 리턴한다.
예를 들면, "C=US, O=Verisign, ...". |
ValidFrom |
인증 개시 날짜를 리턴한다. |
ValidUntil |
인증 만료 일자를 리턴한다. |
SerialNumber |
인증 일련 번호를 리턴한다. |
Certificate |
ASN.1 형식으로 모든 인증 내용을 담은 바이너리 스트림을 리턴한다. |
Flags |
클라이언트의 추가적인 인증 정보를 제공하는 플래그 집합이며, 아래와 같은 값들이 지정될 수 있다.
ceCertPresent - 클라이언트 인증이 존재한다.
ceUnrecognizedIssuer - 이 체인안의 가장 최근 인증은 알 수 없는 인증발행인으로 부터 발행되었다.
참고 : 위의 플래그(Flags)를 사용하려면 ASP 파일 안에 다음과 같은 파일을 포함해야 한다.
VBScript를 사용하는 경우, ASP 파일 안에 Cervbs.ins 파일을 포함시켜야 한다.
<!--#INCLUDE FILE="virtual-path\Cervbs.ins"-->
JScript를 사용하는 경우, Cerjavas.ins 파일을 같은 형식으로 포함시켜야 한다.
<!--#INCLUDE FILE="virtual-path\Cervbs.ins"-->
위 파일들은 \Inetpub\ASPSamp\Samples에 설치되어 있다. |
|
SubField |
Subject나 Issuer 같은 키에 대한 정보를 얻어오는 데에 사용하는 생략가능한 파라메터이다.
이 파라메터는 해당 키의 접미어로 추가된다.
예를 들면, "IssuerO" 또는 "SubjectCN"와 같은 형식으로 사용할 수 있다.
아래에 일반적인 SubField 값들을 나열했다. |
값 |
설명 |
C |
국가 이름의 약칭을 나타낸다. |
O |
회사또는 조직의 이름을 나타낸다. |
OU |
조직 단위의 이름을 나타낸다. |
CN |
사용자의 일반적인 이름을 나타낸다. (이 서브필드는 Subject키와 같이 사용된다.) |
L |
위치를 나타낸다. |
S |
국가나 주를 나타낸다. |
T |
개인이나 조직의 이름을 나타낸다. |
GN |
주어진 이름을 나타낸다. |
I |
초기 집합을 나타낸다. |
|
|
|
|
|
Cookies 컬렉션
|
|
|
|
문법 |
Request.Cookies(cookie)[(key)|attribute] |
Key |
전달할 인증 필드의 이름이며 아래의 값들중 하나를 사용할 수 있다. |
파라메터 |
설명 |
cookie |
전달받을 쿠키 값을 나타낸다. |
key |
생략 가능. 전달받을 쿠키 사전의 서브키를 나타낸다. |
attribute |
쿠키 자신에 대한 정보를 나타낸다.
다음과 같은 값들이 올 수 있다.
HasKeys 읽기 전용. 서브키들을 포함하는 쿠키인지를 나타낸다. |
|
|
|
|
|
Form 컬렉션
POST 메소드를 사용하는 폼들의 값을 받아오는 컬렉션이다.
|
|
|
|
문법 |
Request.Form(parameter)[(index)|.Count] |
Key |
전달할 인증 필드의 이름이며 아래의 값들중 하나를 사용할 수 있다. |
파라메터 |
설명 |
parameter |
폼문 안에 있는 구성요소의 이름을 나타낸다. |
index |
parameter에 여러 개의 값이 포함되어 있을 경우, 각 요소에 접근할 때 사용하며, index 는 1에서 Request.Form(parameter).Count사이의 정수 값이 될 수 있다. |
Count |
parameter에 여러 개의 값이 포함되어 있을 경우, 각 요소들의 총 갯수를 돌려준다. |
|
|
|
|
|
QueryString 컬렉션
HTTP 쿼리 스트링에 포함된 변수의 값을 얻어올 때 사용하는 컬렉션이다.
쿼리 스트링은 HTTP 요구에서 물음표(?) 문자에 의해서 구분되며, 쿼리 스트링 내의 변수들은 엠퍼센드(&)에 의해서 구분된다.
|
|
|
|
문법 |
Request.QueryString(variable)[(index)|.Count] |
Key |
전달할 인증 필드의 이름이며 아래의 값들중 하나를 사용할 수 있다. |
파라메터 |
설명 |
variable |
HTTP 쿼리 스트링 안에 포함된 변수의 이름을 나타낸다. |
index |
variable에 여러 개의 값이 포함되어 있을 경우, 각 요소에 접근할 때 사용한다.
index는 1에서 Request.QueryString(variable).Count 사이의 정수 값이 될 수 있다. |
Count |
parameter에 여러 개의 값이 포함되어 있을 경우, 각 요소들의 총 갯수를 돌려준다. |
|
|
|
|
|
ServerVariable 컬렉션
|
|
|
|
문법 |
Request.ServerVariable(variable) |
Key |
전달할 인증 필드의 이름이며 아래의 값들중 하나를 사용할 수 있다. |
파라메터 |
설명 |
variable |
가져올 서버의 환경 변수 이름을 나타낸다.
아래에 ServerVariable의 이름과 그 의미를 나열해 보았다. |
|
환경 변수 |
설명 |
AUTH_TYPE |
보호된 스크립트에 접근하려고 할 때, 사용자를 확인하기 위해서 사용하는 서버의 인증 메소드 |
CONTENT_LENGTH |
클라이언트로 부터 주어진 컨텐트의 길이 |
CONTENT_TYPE |
컨텐트의 데이타 타입. HTTP 의 POST와 PUT 쿼리처럼 첨가된 정보를 가진 쿼리와 같이 사용한다. |
GATEWAY_INTERFACE |
서버에서 사용하는 CGI 스펙의 버젼 |
HTTP_<HeaderName> |
HTTP 헤더인 HeaderName 안에 있는 값 |
LOGON_USER |
윈도우 NT에 로그온 하는 사용자의 계정 |
PATH_INFO |
현재 스크립트의 가상 경로를 리턴한다. |
PATH_TRANSLATED |
PATH_INFO의 절대 경로를 리턴한다. |
QUERY_STRING |
HTTP 요구에서 ? 문자 다음에 나오는 쿼리 정보 |
REMOTE_ADDR |
클라이언트 호스트의 IP주소를 리턴한다. |
REMOTE_HOST |
클라이언트 호스트의 이름을 리턴한다. |
REQUEST_METHOD |
HTTP 요구의 메소드 유형을 리턴한다. 예를 들면, GET, POST, HEAD등 |
SCRIPT_MAP |
URL의 기본 위치를 준다. |
SCRIPT_NAME |
실행중인 스크립트의 가상 경로이름을 리턴한다. |
SERVER_NAME |
서버의 IP또는 도메인 이름을 리턴한다. |
SERVER_PORT |
서버의 포트 번호를 리턴한다. |
SERVER_PORT_SECURE |
서버의 포트가 보안중이면 1, 아니면 0을 리턴한다. |
SERVER_PROTOCOL |
프로토콜의 이름과 버젼 번호를 리턴한다. |
SERVER_SOFTWARE |
웹서버의 이름과 버젼 번호를 리턴한다. |
URL |
스크립트 파일의 URL을 리턴한다. |
|
|
|
|
Response 객체
|
|
|
Response 객체는 서버에서 클라이언트로 정보를 보내는 역할을 한다.
|
|
|
|
컬렉션 |
설명 |
Cookies |
쿠키 값을 지정한다. 이 컬렉션을 이용해서 쿠키값을 설정할 수 있다. |
|
myCookies에 "안녕하세요"라는 값을 넣는 예제입니다.
<% Response.Cookies("myCookies") = "안녕하세요"%>
프로퍼티 |
설명 |
Buffer |
HTTP 출력이 버퍼인지 클라이언트 브라우져인지를 지정한다.
만약 Buffer의 값이 True이면 페이지 출력을 Buffer로 한다.
서버는 현재 페이지의 모든 ASP 스크립트가 처리되기 전까지 또는 Flush나 End메소드가 호출될 때까지 페이지를 클라이언트로 보내지 않는다. |
ContentType |
HTTP 컨텐트 타입을 지정한다.
예를 들면 컨텐트가 "text/HTML"인지 "image/GIF"인지를 지정할 경우에 사용한다.
컨텐트 타입이 지정되지 않은면 컨텐트는 "text/HTML"로 인식된다. |
Expires |
페이지의 유효 기간을 분단위로 지정한다.
만약 사용자가 페이지의 유효 기간이전에 해당 웹페이지에 접근할 경우 브라우져는 캐쉬에서 페이지를 로드한다. |
ExpiresAbsolute |
캐쉬된 페이지의 유효 기간을 날짜와 시간으로 지정한다. |
Status |
서버에서 클라이언트로 HTTP 상태값을 전달한다.
상태값은 HTTP 사양에 정의되어 있다. |
|
메소드 |
설명 |
AddHeader |
HTTP 헤더에 새로운 헤더 이름과 값을 추가한다.
이 헤더는 Request.ServerVariable()컬랙션을 사용해서 얻어올 수 있다. |
AppendToLog |
웹 서버의 로그 엔트리의 마지막에 문자열을 추가한다. |
BinaryWrite |
아무런 문자셋 변경도 없이 주어진 정보를 HTTP 출력으로 보낸다. |
Clear |
버퍼에 있는 모든 HTML 출력 내용을 지운다. |
End |
.asp의 처리를 종료하고 현재 결과를 리턴한다. |
Flush |
버퍼에 있는 내용을 즉시 보낸다. |
Redirect |
다른 Url로 페이지를 이동한다. |
Write |
현재 HTTP 출력에 문자열을 쓴다. |
|
|
|
|
Server 객체
|
|
|
Server 객체를 사용해서 서버상에 존재하는 메소드와 프로퍼티들을 사용할 수 있다.
대부분의 메소드와 프로퍼티들은 유틸리티 기능을 제공된다.
|
|
|
|
프로퍼티 |
설명 |
ScriptTimeout |
스크립트의 최대 실행 시간을 초단위로 지정한다. 기본값은 90이다. |
|
메소드 |
설명 |
CreateObject |
서버 컴포넌트의 인스턴스를 생성한다. |
HTMLEncode |
HTML을 엔코딩한다.
예를 들면, <%= Server.HTMLEncode("The paragraph tag: <P>") %>는 The paragraph tag: <P>와 같이 출력된다. |
MapPath |
웹 서버상의 가상 경로를 실제 물리적 경로로 변경한다. |
URLEncode |
URL 엔코딩 법칙에 따라 지정된 스트링을 엔코딩한다.
예를 들면, <%= Server.URLEncode("The paragraph tag: <P>") %>는 The+paragraph+tag%3A+%3CP%3E와 같이 출력된다. |
|
|
|