URL에 인코딩이 필요한 이유

퍼센트 인코딩의 의미와 필요한 시점을 알아봅니다

URL의 예약 문자

URL에서 /는 경로, ?는 쿼리 시작, =는 키와 값, &는 매개변수를 구분합니다. 데이터 안에 이런 문자가 있으면 URL 구조로 잘못 해석될 수 있습니다.

퍼센트 인코딩(URL 인코딩)

특수 문자를 %와 두 자리 16진수 코드로 바꿉니다.

salt & pepper → salt%20%26%20pepper

공백은 %20, &%26, =%3D가 됩니다.

어떤 문자를 인코딩하나요?

RFC 3986의 비예약 문자인 영문자, 숫자, - _ . ~는 그대로 안전합니다. 공백, 예약 문자, é나 한글 같은 비ASCII 문자는 데이터로 쓸 때 인코딩해야 합니다.

encodeURI와 encodeURIComponent

  • encodeURI(): URL 구조 문자를 보존하며 전체 URL을 인코딩합니다.
  • encodeURIComponent(): 매개변수 하나를 인코딩하며 ?, &, =도 변환합니다.

Votilo Tools URL 인코더는 쿼리 매개변수 값에 맞는 encodeURIComponent를 사용합니다.