블로그로 돌아가기
Tips 2026-04-05

URL 인코딩 실수와 해결법: 모든 개발자가 피해야 할 함정

웹 애플리케이션에서 버그를 유발하는 URL 인코딩 실수를 발견하고 올바른 처리 방법을 배우세요.

URL 인코딩(퍼센트 인코딩)은 간단해 보이지만 가장 흔한 버그 원인 중 하나입니다.

encodeURI vs encodeURIComponent

가장 흔한 실수는 잘못된 인코딩 함수를 사용하는 것입니다:

// encodeURI — 전체 URI 인코딩, :, /, ?, &, = 보존

encodeURI(url);

// encodeURIComponent — URI 컴포넌트 인코딩

encodeURIComponent(value);

경험 법칙: 쿼리 파라미터 값에는 encodeURIComponent를 사용하세요.

이중 인코딩 함정

이미 인코딩된 문자열을 다시 인코딩하는 것은 교활한 버그입니다:

const encoded = encodeURIComponent('hello world'); // "hello%20world"

const double = encodeURIComponent(encoded); // "hello%2520world"

국제 문자

const url = new URL('https://example.com');

url.searchParams.set('q', 'test');

URL 인코더/디코더 도구로 URL을 안전하게 인코딩하고 디코딩하세요.