Request

Request 객체
웹브라우저에서 사용자에 의해 정보를 전달받아 올 때 사용하는 객체

1. QueryString 컬렉션
Request.QueryString("변수")
HTTP 쿼리 스트링에 포함된 변수의 값을 얻어 오는 컬렉션입니다. '쿼리 스트링이 뭐지?'하시는 분이 계실텐데. 쿼리 스트링이라는 말은 질의 문자열을 의미하는데 보통 하이퍼링크로 보낼 때 뒤에 물음표(?)를 붙이고 각 변수마다 엠퍼센드(&)로 구분하게 되어있습니다.
위의 예제의 <a href = "Check.asp?asp=90%25">90%</a>에서 '?'뒤에 변수가 오고 '=' 다음에 오는 것이 그 변수의 쿼리 스트링 값이 되는 것입니다. 이러한 하이퍼링크의 형태로 보내지는 방식을 GET 방식이라고 합니다. QueryString 컬렉션은 GET 방식으로 서버로 보내진 데이터를 받아오는 역할을 합니다.

2. Form
Request.Form("변수")
GET 방식과는 달리 전달되는 데이터가 인코딩되어 서버로 보내지는 것을 POST 방식이라고 합니다. 이러한 POST 방식을 사용하는 데이터를 받아오는 컬렉션입니다.
※Request.QueryString("변수")이나 Request.Form("변수") Request("변수")와 같이 생략하셔도 무방합니다.

3. Cookies 컬렉션
Request.Cookies("변수")
쿠키라고 들어 보셨나요? 뭐라구요? 먹는 거라구요. 하하. 물론, 먹는 과자이름도 쿠키가 있죠. QueryString이나 Form 컬렉션은 하나의 브라우저의 요청에만 사용가능하고, 값이 계속 바뀌는 반면에 쿠키는 지속적으로 데이터를 저장할 수 있습니다. 특히 쿠키는 기본적으로 서버가 아닌 클라이언트에 저장됩니다. 이러한 쿠키의 여러 가지 사용법은 좀 있다가 다음의 Response 객체에서 살펴볼께요.

4. ServerVariable 컬렉션
Request.ServerVariable("변수")
ServerVariable 컬렉션은 참 유용한 일을 하지요. 많은 환경변수들이 있지만, 자주 쓰는 것만 보면 <4>와 같습니다.
< 4> ServerVariable 컬렉션의 자주 쓰이는 환경변수
환경변수
설명
REMOTE_ADDR
클라이언트 호스트의 IP주소
REMOTE_HOST
클라이언트 호스트의 이름
SERVER_NAME
서버의 IP 또는 도메인 이름
HTTP_USER_AGENT
사용자의 브라우저 종류

상대방의 IP 주소와 호스트 이름을 출력하는 예제입니다.
당신의 IP <%=Request.ServerVariable("REMOTE_ADDR")%>입니다.<BR>
당신의 Host Name <%=Request.ServerVariable("REMOTE_HOST")%>입니다.
보통 익스플로어와 넷스케이프는 클라이언트 스크립트에 따라 잘 동작할 수도 있고 그렇지 않을 수도 있습니다. 그래서 브라우저의 종류에 따라서 웹페이지를 달리 생성할 때도 있습니다. 다음 예제는 ServerVariable를 이용해서 브라우저 타입을 알아오는 방법입니다.
<%If InStr(Request.ServerVariables("HTTP_USER_AGENT"), "MSIE") Then%>
MS Explore입니다.
<%ElseIf InStr(Request.ServerVariables("HTTP_USER_AGENT"), "Nav") Then%>
Netscape입니다.
<%End If%>
다음과 같이 ServerVariable 컬렉션을 사용하지 않고, 자바스크립트를 써서 할 수도 있습니다. 되도록 자바스크립트와 같은 클라이언트 사이트 스크립트를 쓰는 것이 서버에 부하를 줄일 수 있다고 합니다. 그래서, 꼭 필요하지 않으면 서버의 자원을 낭비하지 않고 클라이언트 사이드 스크립트를 쓰는 것이 효율적입니다.
<script LANGUAGE="JavaScript">
var ver = navigator.appVersion;
if (ver.indexOf("MSIE") != -1)
window.location.href="http://www.asp.co.kr/Explore.html"
else if(navigator.userAgent.indexOf("Mozilla/3.0") != -1)
window.location.href="http://www.asp.co.kr/Netscape3html"
else if(navigator.userAgent.indexOf("Mozilla/4.0") != -1)
window.location.href="http://www.asp.co.kr/Netscape4.html"
</script>
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Previous
Next Post »