ASP에서의 Request, Response 객체 more..
active server 객체는 active server page 환경을 구성하고 있는 component들 중,
기본적으로 제공하는 중요한 객체들을 의미한다.
그 가운데 웹 사이트에서 일어나는 요청과 응답에 대한 것이 request와 response 객체이다.
이 두 가지 객체의 활용에 대해 알아보자.
Request 객체
클라이언트에서 어떤 페잊를 요청하면 서버로 요청 정보를 전송하는데,
이렇게 전송된 데이터가 저장되는 곳이 바로 request 객체이다.
request 객체는 다음과 같은 collection, attributes, method들을 갖고 있다.
ClientCertificate [collection]: 클라이언트가 전송한 인증서
ClientCertificate collection은 사용자의 인증을 위한 디지털 인증정보의 내용을 조사한다.
그다지 많이 쓰이지 않는 collection이다.
사용법: Request.ClientCertificatte( key )
Cookies [collection]: 클라이언트가 전송한 cookie 값
Cookie는 사용자의 시스템에 간단한 정보를 저장하여,
필요할 때마다 해당 정보를 읽어오기 위해 사용한다.
사용법: Request.Cookies( cookie 변수 )[(하위 coookie 변수) | .(속성) ]
Form [collection]: 클라이언트가 전송한 form element 값
서버로 데이터를 전달하는 방법은 get, post의 두 가지 방식이 있다.
get 방식은 QueryString collection이 해당 데이터를 받고,
post 방식은 Form collection이 해당 데이터를 받는다.
각 방식에 대한 설명은 QueryString collection에서 다루도록 한다.
사용법: Request.Form( 변수 )
form으로 데이터를 전달하기 위해 form을 정의한다.
(예제)
<form method="post" action="login.asp">
<input type="text" name="id"><br />
<input type="password" name="pass"><br />
<input type="submit" value="LOGIN">
</form>
이제 웹 페이지에서 ID와 비밀번호를 입력하고 LOGIN 버튼을 클릭하면
login.asp를 불러와 처리를 한다. 이때 login.asp에서 값을 받을 때 다음과 같이 받는다.
ID: <%= Request.Form("id") %><br />
PASS: <%= Request.Form("pass") %>
QueryString [collection]: HTTP query string에 있는 변수 값
앞서 언급했지만 form collection이 post 방식으로 전송된 데이터를 저장하는 것이라면,
QueryString collection은 get 방식으로 전송된 데이터를 저장하는 역할을 한다.
따라서 form collection와 querystring collection의 사용법은 비슷하다.
사용법: Request.QueryString( 변수 )
여기서 post 방식과 get 방식의 차이점을 설명한다.
post 방식은 HTTP header 속에 감춰서 전송되므로 보안이 필요한 정보 전송에 사용된다.
get 방식은 이름과 값 형태로 URL로 그대로 전송되므로 다른 사용자에게 그대로 노출된다.
또한 post는 무한하게 전송이 가능하지만, get은 최대 4,096 바이트까지 전송이 가능하다.
ServerVariables [collection]: HTTP와 환경변수 값
ServerVariables collection에서는 사용자가 서버로 전송한 정보들이 저장되어 있다.
사용법: Request.ServerVariables( 서버환경변수 )
쓸만한 서버 환경 변수들은 다음과 같다.
ALL_HTTP: 클라이언트에서 전송한 모든 HTTP header 출력
ALL_RAW: 클라이언트에서 전송한 모든 header 가져오기
AUTH_TYPE: 서버가 사용하는 인증방식 출력
AUTH_USER: RAW format에서 인증한 사용자의 이름 가져오기
AUTH_PASSWORD: 기본 인증 보안을 통해 클라이언트의 인증 값 출력
HTTP_USER_AGENT: 클라이언트의 브라우저 정보 출력
QUERY_STRING: URL에서의 query 문자열 반환
REMOTE_ADDR: 클라이언트의 IP 주소 출력
REMOTE_HOST: 클라이언트의 host 이름 출력
REQUEST_METHOD: 요구 메소드 반환
SERVER_NAME: 서버 host 이름, DNS 별명, IP 주소 반환
SERVER_PORT: 서버 port 정보 반환
URL: url 반환
TotalByte [attributes]: 클라이언트가 전송한 총 바이트 수
TotalByte 속성은 클라이언트가 보내는 총 바이트 수를 알기 위해 사용한다.
사용법: Request.TotalBytes
BinaryRead [method]: 클라이언트가 전송한 데이터 검색
Response 객체
사용자가 어떤 요청을 하였을 때 서버가 이에 대한 응답을 보내기 위해서는
response 객체를 사용한다.
response 객체는 다음과 같은 collection, attributes, method를 가지고 있다.
Cookies [collection]: 브라우저에 보내는 cookie 값
request 객체에서는 cookies가 해당 cookie를 읽기(read) 위한 용도로 사용된다.
response 객체에서의 cookies는 해당 cookie를 쓰기(write) 위해 사용한다.
사용법: Response.Cookies( cookie 변수 )[(하위 cookie 변수) | .(속성)] = (할당할 값)
Buffer [attribute]: ASP의 결과가 완성될 때까지 buffer에 저장할 것인지에 대한 지정
Buffer 속성은 사용자가 요청한 결과를 처리하고 응답하기 전에,
해당 결과를 buffer에 저장할 것인지 하지 않을 것인지를 지정하는 속성이다.
사용법: Response.Buffer = [TRUE | FALSE]
CacheControl [attribute]: proxy server아 ASP의 결과를 캐시할 것인지에 대한 지정
서버와 사용자 사이에 페이지 응답 시간을 단축시키기 위하여 해당 웹 페이지를 캐시하도록
구성되는 proxy server가 있다. CacheControl은 이런 캐시 여부를 지정하는 속성이다.
사용법: Response.CacheControl = [TRUE | FALSE]
Charset [attribute]: Contents Type header에 문자 집합 이름 추가
ContentType [attribute]: HTTP contents 형식 지정
ContentType은 HTTP contents 형식을 지정하는 역할을 한다.
다시 말해 서버가 사용자에게 파일을 보낼 경우 해당 파일의 type을 지정한다.
기본 값은 "text/html"이다.
사용법: Response.ContentType = [(contents type)]
Expires [attribute]: 캐시된 페이지의 만료 기간 지정
브라우저에 캐시된 페이지의 만료 기간을 지정하는 역할을 한다.
페이지가 만료되기 전에 같은 페이지가 호출되면 캐시된 페이지가 호출된다.
사용법: Response.Expires = [(날짜)]
ExpiresAbsolute [attribute]: 캐시된 페이지의 만교 날짜와 시간 지정
이것은 Expires와 거의 동일하지만, 날짜뿐 아니라 시간까지 지정할 수 있다.
사용법: Response.ExpiresAbsolute = [(날짜) (시간)]
IsClientConnected [attribute]: 클라이언트과 서버가 연결되었는지 여부
Status [attribute]: HTTP 상태 값
AddHeader [method]: header의 값 설정
AppendToLog [method]: 요청에 대한 서버의 log 기록
BinaryWrite [method]: HTTP 출력에 텍스트 전송
Clear [method]: 모든 HTML 결과 내용 삭제
End [method]: 진행되는 처리를 중단하고 현재의 결과를 브라우저에 전송
Flush [method]: buffer된 출력을 즉시 브라우저에 보냄
Redirect [method]: 브라우저를 다른 URL로 연결
사용자가 서버에 웹 페이지를 요청하면 일반적으로 해당 웹 페이지를 전송한다.
하지만 redirect method를 사용하면 웹 페이지 대신 지정한 URL로 이동시킬 수 있다.
사용법: Response.Redirect( URL )
Write [method]: 문자열 출력
일반적인 문자열을 출력한다.
사용법: Response.Write( 출력할 문자열 )
댓글 없음:
댓글 쓰기