ClassicASP [Request Object] QueryString & Form
페이지 정보
본문
Request Object는 주로 사용자로부터 정보를 전달 받을때 사용되는 개체입니다.
Request 라는 말은 "요청하다" 이지만 이것은 서버측에서 요청한다는 의미입니다.
즉, 사용자가 서버로 보내오는 요청이나 데이터를 얻어내는 역할을 하는 것이 바로 이 Request 개체가 담당하는 역할이지요.
이 개체가 가지고 있는 주요기능은 다음 표와 같습니다
Request.QueryString("str")
각각의 페이지를 작성해서 웹 서버의 디렉토리에 올리고 Form.htm 부터 로딩해서 살펴보면, 각각의 폼안의 컨트롤에 입력한 값이 Result.asp에 제대로 찍혀나오는 것을 볼 수 있을 것입니다.
중요한 것은 폼안의 컨트롤들의 이름과 Request.QueryString 할 때의 이름이 같아야 한다는 겁니다.
그렇지 않으면 그 값으로 NULL이 나오게 되기에 문제가 될 수 있습니다.
만일, 위처럼 GET 방식으로 데이터를 전송한다면반드시 ASP 측에서는 Request 개체의 QueryString로 그 값을 받아야 합니다. QueryString 이란 메소드가 바로 GET 방식으로 넘어오는 데이터를 서버측에서 얻어내는 역할을 합니다.
하지만, GET 방식으로 넘어오는 데이터들은 그다지 보안에 좋지 못합니다.
이러한 데이터들은 브라우저의 URL바에 그 넘어오는 값이 모두 노출되기 때문입니다.
Request.Form("str")
폼을 통해서 데이터를 전송할 경우 폼의 Method를 POST 로 지정하면, 해당 데이터들이 URL의 꼬리에 붙어서 전송되는 것(브라우저의 URL바에 다 보임)이 아니라 HTTP 헤더안에 포함되어져 오기에 조금은 보안적인 데이터 전송방법입니다.
관련자료
http://taeyo.net/lecture/3_beginner_Objects/Request.htm
Request 라는 말은 "요청하다" 이지만 이것은 서버측에서 요청한다는 의미입니다.
즉, 사용자가 서버로 보내오는 요청이나 데이터를 얻어내는 역할을 하는 것이 바로 이 Request 개체가 담당하는 역할이지요.
이 개체가 가지고 있는 주요기능은 다음 표와 같습니다
Collection (컬렉션) | |
ClientCertificate | 사용자가 페이지나 리소스를 액세스할 때 서버로 전달한 클라이언트 증명서에 있는 모든 필드와 엔트리값(읽기 전용) |
Cookies | 사용자의 시스템에서 요청과 함께 전달된 모든 쿠키값 |
Form | 폼 요청으로 전송된(POST 사용) 모든 HTML 컨트롤 요소 값 |
QueryString | 사용자 요청에서 URL에 추가된 모든 이름/값 쌍들이나, GET 방식이 사용된 폼에 있는 HTML 컨트롤 요소값들(읽기 전용) |
ServerVariables | 클라이언트로부터 이들의 요청과 함께 전달된 모든 HTTP 헤더 값들과 웹 서버의 여러 가지 환경 변수값들(읽기 전용) |
Property (속성) | |
TotalBytes | 사용자에 의해 전송된 요청의 본문에 있는 바이트들의 총 수(읽기전용) |
Method (메소드) | |
BinaryRead(count) | 데이터가 POST 요청의 일부로 서버로 전송될 때, 사용자 요청으로부터 count 바이트의 데이터를 얻어낸다. 이것은 Variant 배열로 반환되며 ASP 코드가 이미 Request.Form 컬렉션을 참조했으면 이 메소드는 사용될 수 없다. 마찬가지로 여러분이 BinaryRead 메쏘드를 사용했으면 Request.Form 컬렉션도 사용할 수 없게 된다. 둘 중에 하나만이 사용 |
Request.QueryString("str")
각각의 페이지를 작성해서 웹 서버의 디렉토리에 올리고 Form.htm 부터 로딩해서 살펴보면, 각각의 폼안의 컨트롤에 입력한 값이 Result.asp에 제대로 찍혀나오는 것을 볼 수 있을 것입니다.
중요한 것은 폼안의 컨트롤들의 이름과 Request.QueryString 할 때의 이름이 같아야 한다는 겁니다.
그렇지 않으면 그 값으로 NULL이 나오게 되기에 문제가 될 수 있습니다.
만일, 위처럼 GET 방식으로 데이터를 전송한다면반드시 ASP 측에서는 Request 개체의 QueryString로 그 값을 받아야 합니다. QueryString 이란 메소드가 바로 GET 방식으로 넘어오는 데이터를 서버측에서 얻어내는 역할을 합니다.
하지만, GET 방식으로 넘어오는 데이터들은 그다지 보안에 좋지 못합니다.
이러한 데이터들은 브라우저의 URL바에 그 넘어오는 값이 모두 노출되기 때문입니다.
Request.Form("str")
폼을 통해서 데이터를 전송할 경우 폼의 Method를 POST 로 지정하면, 해당 데이터들이 URL의 꼬리에 붙어서 전송되는 것(브라우저의 URL바에 다 보임)이 아니라 HTTP 헤더안에 포함되어져 오기에 조금은 보안적인 데이터 전송방법입니다.
관련자료
http://taeyo.net/lecture/3_beginner_Objects/Request.htm
댓글목록
등록된 댓글이 없습니다.