언제 쓰나
URL 의 쿼리스트링에 한글·공백·특수문자를 안전하게 끼워야 할 때. 또는
서버 로그에서 본 %E3%81%82%E3%81%84 같은 문자열을 사람이 읽는 형태로
풀어볼 때.
componentURI vs uri
두 가지 인코딩 범위가 있습니다.
- componentURI —
encodeURIComponent와 같습니다.: / ? # & =같은 reserved 문자도 이스케이프합니다. 쿼리 값·경로 조각·POST 본문에 안전. - uri —
encodeURI와 같습니다. reserved 문자는 그대로 두고 공백· 비-ASCII 만 이스케이프합니다. 전체 URL 문자열을 재정렬하지 않을 때.
대부분의 경우 componentURI 를 쓰면 됩니다. URL 한 줄을 통째로 안전하게
만들고 싶을 때만 uri 모드.
디코딩
%xx 시퀀스가 아닌 잘못된 입력이 섞이면 디코딩이 실패합니다. 이때는
오류 메시지가 나오고, 어디서 문제가 났는지 직접 확인할 수 있도록 입력
원문을 그대로 두고 표시만 멈춥니다.
입력은 어디로 가나요?
URL 인코딩·디코딩 계산은 브라우저 안에서만 이루어집니다. 입력 문자열은 어디로도 전송되거나 저장되지 않고, 탭을 닫으면 사라집니다.