Request 개체 QueryString 컬렉션 – Classic ASP 내장 개체 (1)
Request 개체는 Classic ASP에서 클라이언트의 여러 가지 정보를 담고 있는 내장 개체입니다. 그 중 QueryString 컬렉션은 Get 방식으로 전송된 요소들의 값을 담고 있습니다. QueryString 컬렉션을 통해 URL 주소 뒤에 붙여 전송된 데이터를 가져올 수 있습니다. 이를 활용하여 클라이언트가 전송한 데이터를 처리하고 출력할 수 있습니다. Classic ASP에서는 Post 방식을 보다 선호하지만, Get 방식은 URL 주소로 데이터를 전달하기 때문에 데이터양 제한과 보안 취약성 등의 문제점이 있습니다.
1. Request 개체 기능
컬렉션, 프로퍼티, 메서드 | 설명 | |
컬렉션 | QueryString | 브라우저로 부터 전송된 요소들의 값 (Get 방식) |
Form | 브라우저로 부터 전송된 폼의 요소들의 값 (Post 방식) | |
ServerVariables | 서버의 환경 변수 값 | |
Cokies | 브라우저로 부터 전송된 쿠키 값 | |
ClinetCertificate | 브라우저로 부터 전송된 클라이언트 인증서에 저장된 값 | |
프로퍼티 | TotalBytes | 클라이언트가 보내는 바이트 수 |
메서드 | BynaryRead | Post 요청의 일부분으로 서버에 보내지는 데이터를 불러내는데 사용 |
2. QueryString 컬렉션 (Get 방식)
사용 예제입니다.
<form name="form1" action="02_01_Request_result.asp" method="get">
이 름 : <input type="text" name="txtName"></br>
주 소 : <input type="text" name="txtAddr"></br>
Email : <input type="text" name="txtEmail"></br></br>
<input type="submit" value="전 송"></br>
</form>
<!-- 02_01_Request_result.asp -->
<%
Response.Write "브라우저로 부터 전송된 요소들의 값 (Get 방식)" & "</br></br>"
Response.Write "이 름 : " & Request.QueryString("txtName") & "</br>"
Response.Write "주 소 : " & Request.QueryString("txtAddr") & "</br>"
Response.Write "Email : " & Request.QueryString("txtEmail") & "</br>"
Response.Write "</br>QueryString 생략 가능합니다." & "</br></br>"
Response.Write "이 름 : " & Request("txtName") & "</br>"
Response.Write "주 소 : " & Request("txtAddr") & "</br>"
Response.Write "Email : " & Request("txtEmail") & "</br>"
%>
Get 방식은 URL 주소 뒤에 정보를 붙여 전송하는 방식입니다. 경험상 크게 2가지 문제점이 있어 부득이 한 경우가 아니라면 Post 방식으로 정보를 전송하세요.
- 문제점 1) URL 주소로 전달되는 데이터양이 제한되어 있습니다. (예: 블로그 본문 처럼 데이터 양이 많은 경우는 제한으로 오류가 발생합니다.)
- 문제점 2) 보안상 많이 취약합니다. 물론 암호화 처리해서 넘겨줘도 되지만 URL 조작이 싶습니다.
다음에는 Post 컬렉션 에 대해서 알아봅시다. 이 글이 도움이 되셨다면 공유를 부탁드립니다. 다음 글에서 뵙겠습니다!