Node.js url 및 querystring 모듈 사용하는 방법

Node.js url 및 querystring 모듈 사용하는 방법

Node.js 개발 과정에서 URL 처리는 매우 흔한 작업입니다. urlquerystring 모듈을 사용하면, 웹 애플리케이션에서 URL을 효율적으로 파싱, 구성, 수정, 그리고 쿼리 스트링을 쉽게 다룰 수 있습니다. 이 글에서는 두 모듈의 기본 사용법과 함께 예제를 통해서 자세히 알아보겠습니다.

url 모듈

url.parse() 함수는 URL 문자열을 URL 객체로 변환합니다. 이 객체는 URL의 다양한 구성 요소(프로토콜, 호스트, 경로 등)를 속성으로 가집니다. 예를 들어, const parsedUrl = url.parse('http://example.com:8080/pathname?search=test') 코드는 주어진 URL을 파싱하여 그 구성 요소를 분석합니다.

url.format() 함수는 URL 객체를 다시 URL 문자열로 변환합니다. 이는 url.parse()의 역과정으로 볼 수 있으며, URL 객체의 속성을 수정한 후 최종 URL을 생성할 때 유용합니다.

querystring 모듈

querystring.parse() 함수는 쿼리 스트링을 파싱하여 자바스크립트 객체로 변환합니다. 이를 통해 쿼리 파라미터의 값을 쉽게 추출할 수 있습니다. 반대로, querystring.stringify() 함수는 객체를 쿼리 스트링 형태로 인코딩하여 반환합니다. 이는 서버에 쿼리를 전송할 때 특히 유용합니다.

사용 예제

다음은 urlquerystring 모듈을 사용하는 간단한 예제입니다.

// 'url' 및 'querystring' 모듈을 불러옵니다.
const url = require('url');
const querystring = require('querystring');

// 주어진 URL 문자열을 파싱하여 URL 객체로 변환합니다.
const parsedUrl = url.parse('http://example.com:8080/pathname?search=test');
console.log(parsedUrl.host); // URL의 호스트 부분을 출력합니다: 'example.com:8080'
console.log(parsedUrl.pathname); // URL의 경로 부분을 출력합니다: '/pathname'
console.log(parsedUrl.query); // URL의 쿼리 스트링 부분을 출력합니다: 'search=test'

// URL의 쿼리 스트링을 파싱하여 객체로 변환합니다.
const parsedQuery = querystring.parse(parsedUrl.query);
console.log(parsedQuery.search); // 파싱된 쿼리 객체에서 'search' 키의 값을 출력합니다: 'test'

// 객체를 쿼리 스트링 형태로 인코딩합니다.
const stringifiedQuery = querystring.stringify({ search: 'test' });
console.log(stringifiedQuery); // 객체를 쿼리 스트링으로 변환한 결과를 출력합니다: 'search=test'

이 코드는 Node.js에서 urlquerystring 모듈을 사용하여 URL을 파싱하고, 쿼리 스트링을 다루는 기본적인 방법을 보여줍니다. 먼저, url.parse()를 사용해 URL 문자열을 각 구성 요소로 분해하고, 이후 querystring.parse()를 사용하여 쿼리 스트링을 객체로 변환합니다. 마지막으로, querystring.stringify()를 사용해 객체를 다시 쿼리 스트링 형태로 변환하는 과정을 보여줍니다.

url 및 querystring 모듈 예제 코드 실행 결과 화면

이 글에서 소개한 urlquerystring 모듈의 기능을 통해, Node.js에서 URL을 효과적으로 다루는 방법에 대해 배웠습니다. 더 깊이 있는 학습을 위해서는 공식 문서를 참고하시기 바랍니다.

참고 문서

관련 이전 게시글

이 글이 도움이 되셨다면 공유 부탁 드립니다.

위로 스크롤