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 모듈을 사용한 요청 파라미터 파싱
지금까지 입력한 몇 줄의 코드만 보더라도 노드에서 제공하는 기본 모듈을 사용하면 주소 문자열에 들어 있는 여러 가지 정보를 쉽게 분리할 수 있음을 알 수 있다.
'Study > Node.js' 카테고리의 다른 글
[노드JS] 이벤트 보내고 받기 (0) | 2019.03.23 |
---|---|
[노드JS] 이벤트 이해하기 (0) | 2019.03.19 |
[노드JS] 주소 문자열을 URL 객체로 변환하기 (0) | 2019.03.16 |
[노드JS] 주소 문자열과 요청 파라미터 다루기 (0) | 2019.03.16 |
[노드JS] 프로토타입 객체 만들기 (0) | 2019.03.16 |