Study/Node.js

[노드JS] 요청 파라미터 확인하기

AC 2019. 3. 18. 00:27



URL 객체의 속성을 보면 주소 문자열의 여러 가지 정보가 포함되어 있다.

그 중에서도 query 속성은 요청 파라미터 정보를 가지고 있는데, 이 정보를 잘 살펴보면 여러 개의 요청 파라미터가 모두 들어있다.


웹 서버에서는 클라이언트에서 요청한 요청 파라미터를 받아 처리할 때가 많으므로 이 query 속성에 들어 있는 문자열을 다시 각각의 요청 파라미터로 분리해야 한다.



요청 파라미터는 &기호로 구분되는데 querystring 모듈을 사용하면 요청 파라미터를 쉽게 분리할 수 있다.


ch04_test1.js 파일에 다음 코드를 추가로 입력한다.



// 요청 파라미터 구분하기

var querystring = require('querystring');

var param = querystring.parse(curURL.query);


console.log('요청 파라미터 중 query의 값 : %s', param.query);

console.log('원본 요청 파라미터 : %s', querystring.stringify(param));



먼저 querystring 모듈을 사용하기 위해 require() 메소드를 호출한다. 


불러온 모듈은 querystring 변수에 할당하고 그 객체의 parse() 메소드를 호출한다. 


parse() 메소드는 요청 파라미터 문자열을 파싱하여 객체로 만들어준다. 


이 객체에는 각각의 요청 파라미터들이 속성으로 추가되어 있어 속성값을 참조하면 각각의 요청 파라미터를 사용할 수 있다.


stringify() 메소드는 객체 안에 들어 있는 요청 파라미터를 다시 하나의 문자열로 바꿀 때 사용한다.


메소드 이름 

설명 

parse() 

요청 파라미터 문자열을 파싱하여 요청 파라미터 객체로 만들어 준다. 

stringify()

요청 파라미터 객체를 문자열로 변환한다. 




파일을 다시 실행하면 steve jobs 문자열이 query 속성에 들어 있는 것을 확인할 수 있다. 


▲ querystring 모듈을 사용한 요청 파라미터 파싱


지금까지 입력한 몇 줄의 코드만 보더라도 노드에서 제공하는 기본 모듈을 사용하면 주소 문자열에 들어 있는 여러 가지 정보를 쉽게 분리할 수 있음을 알 수 있다.


LIST