Request 객체에는 5개의 컬렉션(Map과 유사), 1개의 속성, 1개의 메소드가 존재한다. (거의 컬렉션만 사용)
배 열 : 배열이름(인덱스) = 데이터 ex) arrResult(0) = "김덕영"
컬렉션 : 컬렉션이름(이름) = 데이터 ex) Request.QueryString("name") = "김덕영"
1. Collection
1 ) QueryString 컬렉션 : HTML Form 태그의 GET 방식 데이터를 얻는다.
i.e. http://www.dukyoung.net/test.asp?lastname=kim&firstname=dukyoung
lastName = Request.QueryString("lastname") 에는 "kim" 이라는 값이 저장되며,
firstName = Request.QueryString("firstname") 에는 "dukyoung" 이라는 값이 저장됩니다.
2 ) Form 컬렉션 : HTML Form 태그의 POST 방식 데이터를 얻는다.
i.e.
strName = Request.Form ("txtName")
strPassword = Request.Form ("txtPassword")
3 ) Cookies 컬렉션 : '서버가' 클라이언트 PC에 저장된 쿠키 정보를 읽어올 때 사용한다.
i.e. 사이트에 다시 접속했을 때 ID가 미리 입력되는 것이 어떻게 작동할까?
1 ) 클라이언트가 사이트에 접속 후 ID를 클라이언트 PC의 쿠키에 저장한다.
2 ) 나중에 클라이언트가 해당 사이트에 다시 접속할 때 서버는 클라이언트 PC에 저장된 ID를 Cookies 컬랙션을 이용해 읽어온다.
3 ) 서버가 페이지를 내려 보낼 때 이 쿠키를 통해 얻은 ID를 미리 적어 클라이언트에 응답을 보낸다.
id = Request.Cookies ("userid")
4 ) ClientCertificate 컬렉션
https 접속을 위해 사용자 인증 정보를 저장하는 컬렉션이다.
i.e. <%= Request.ClientCertificate("IssuerCN") %>
5 ) ServerVariables 컬렉션 : 클라이언트가 서버로 값을 전달할 때 자동으로 함께 전달되는 값들을 저장한다.
HTTP 헤더값, 웹 서버 자체의 몇 가지 환경 변수 값들을 저장한다.
servervariables.asp
<%@Language="VBScript" CODEPAGE="65001" %>
<%
Response.CharSet="utf-8"
Session.codepage="65001"
Response.codepage="65001"
Response.ContentType="text/html;charset=utf-8"
%>
<html>
<head>
<meta charset="utf-8">
<title>ServerVariables.asp</title>
</head>
<body>
<table border>
<tr>
<td><b>Server Variable</b></td>
<td><b>Value</b></td>
</tr>
<% for each strKey in Request.ServerVariables %>
<tr>
<td><%=strKey%></td>
<td><%=Request.ServerVariables(strKey)%></td>
</tr>
<% next %>
</table>
</body>
</html>
참고 : Request 객체의 ServerVariables 'Key:Value'값 모두를 하나씩 읽어올 것이기 때문에 for each in문을 사용했다. 특정 값만 가져오고 싶다면 다음과 같이 사용할 수 있다. Request.Servervariables("HTTP_USER_AGENT")
참고 : Request 객체의 컬렉션은 자주 사용되기 때문에 이름을 생략하고 사용할 수 있다.
Request.QueryString("count") 를 Request("count") 로 사용할 수 있으며,
Request.Form("count") 도 Request("count") 로 사용 가능하다.
동일한 name을 가진 것이 있다면? 우선순위는 다음과 같다.
QueryString > Form > Cookies > ClientCertificate > ServerVariables
하지만 생략하지 않고 쓰는 것이 좋다.
2. Property
1 ) TotalBytes 속성 : 클라이언트가 서버에 보낸 정보의 바이트의 전체 개수
전체 문자열이 몇 개인지보다는 어떤 컬렉션과 값이 넘어온지가 중요하기 때문에 거의 사용되지 않는다.
i.e.
<%
Dim intCount
intCount = Request.TotalBytes
%>
3. Method
1 ) BinaryRead(count) 메소드 : HTML Form 태그의 POST 방식 데이터를 'count 바이트'만큼의 데이터를 얻는다.
Request.Form 컬렉션와 충돌하기 때문에 동시에 사용하지 않는다.
'개발자 > .NET' 카테고리의 다른 글
Classic ASP TAEYO.NET 학습 입문강좌 ASP 객체 3 - Server 객체 (0) | 2020.11.02 |
---|---|
Classic ASP TAEYO.NET 학습 입문강좌 ASP 객체 2 - Response 객체 (0) | 2020.11.02 |
Classic ASP TAEYO.NET 학습 입문강좌 ASP 객체 모델 - 목록 요약 (0) | 2020.11.02 |
Classic ASP TAEYO.NET 학습 입문강좌 사용자에게 정보 얻기 2 샘플 (0) | 2020.10.29 |
Classic ASP TAEYO.NET 학습 입문강좌 사용자에게 정보 얻기 1 샘플 (0) | 2020.10.28 |