EVERYDAY TOOLS GUIDE

URL 인코딩 가이드: 값만 인코딩하고 이중 인코딩을 피하는 법

URL 인코딩은 한글이나 특수문자를 안전하게 전달하기 위한 표현 방식입니다. 핵심은 URL 전체가 아니라 필요한 값만 인코딩하는 것입니다.

인코딩할 대상은 보통 쿼리 값입니다

예를 들어 https://example.com/search?q=온라인 도구에서 인코딩 대상은 온라인 도구라는 값입니다. 주소 전체를 한 번에 인코딩하면 :, /, ? 같은 URL 구조 문자까지 바뀌어 주소로 동작하지 않을 수 있습니다.

공백과 더하기 기호는 같은 뜻이 아닐 수 있습니다

URL 구성 요소에서 공백은 일반적으로 %20입니다. 반면 HTML 폼 방식에서는 +가 공백으로 쓰이기도 합니다. 입력값에 실제 더하기 기호가 필요하다면 어떤 방식으로 전송되는지 확인해야 합니다.

이중 인코딩은 이렇게 생깁니다

원문: 온라인 도구
1회 인코딩: %EC%98%A8%EB%9D%BC%EC%9D%B8%20%EB%8F%84%EA%B5%AC
2회 인코딩: %25EC%2598%25A8...

이미 %EC처럼 퍼센트 인코딩된 값을 다시 인코딩하면 %%25로 바뀝니다. API나 링크가 깨졌다면 값을 한 번만 인코딩했는지 먼저 확인하세요.

디코딩 후에는 원문과 비교하세요

복원된 값이 깨지면 문자 인코딩이 UTF-8인지, 잘린 % 표기가 없는지 확인합니다. 민감한 토큰이 URL에 들어갔다면 브라우저 기록·공유 링크에 남을 수 있으므로 사용을 피하는 것이 좋습니다.