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를 사용합니다.