인코딩 결과
URL 인코딩 변환 원리
URL에서 사용할 수 없는 특수문자와 한글은 %XX 형식으로 인코딩됩니다
URL 인코더/디코더는 URL에 사용할 수 없는 문자를 안전하게 변환하거나 원래대로 복원하는 도구입니다.
🔒 URL 인코딩 (Encode)
• 상단 입력창에 인코딩할 텍스트나 URL을 입력하세요
• 한글, 공백, 특수문자가 자동으로 %XX 형식으로 변환됩니다
• 예: "안녕하세요" → "%EC%95%88%EB%85%95%ED%95%98%EC%84%B8%EC%9A%94"
• "복사" 버튼으로 결과를 클립보드에 복사할 수 있습니다
🔓 URL 디코딩 (Decode)
• 하단 입력창에 디코딩할 URL 인코딩된 문자열을 입력하세요
• %XX 형식의 문자가 원래 문자로 복원됩니다
• 예: "%20" → 공백, "%2F" → "/"
• 잘못된 인코딩은 자동으로 감지됩니다
📋 빠른 변환
• 입력과 동시에 실시간으로 변환 결과를 확인할 수 있습니다
• 양방향 변환이 가능하여 인코딩과 디코딩을 자유롭게 할 수 있습니다
URL 인코딩(퍼센트 인코딩, Percent-encoding)은 1994년 Tim Berners-Lee가 작성한 RFC 1738에서 처음 정의되었습니다. 이는 월드 와이드 웹의 창시자가 URL에서 안전하게 사용할 수 있는 문자 집합을 제한하면서 시작되었습니다.
초기 인터넷은 주로 영어권 중심으로 발전했고, ASCII 문자만을 사용했습니다. 하지만 URL에서도 공백, 특수문자, 그리고 ASCII 범위를 벗어나는 문자(예: 한글, 한자, 아랍어 등)를 사용할 필요성이 생겼습니다. URL은 네트워크를 통해 전송되면서 다양한 시스템을 거치는데, 일부 문자는 특별한 의미를 가지거나 호환성 문제를 일으킬 수 있었습니다.
퍼센트 인코딩 방식이 선택된 이유는 % 기호가 URL에서 예약되지 않은 문자였고, 뒤에 16진수 두 자리를 붙여 256가지 바이트를 모두 표현할 수 있었기 때문입니다. 예를 들어 공백은 %20으로, 슬래시(/)는 %2F로 표현됩니다.
2005년 RFC 3986에서 URL 인코딩 규칙이 더욱 명확히 정의되었고, URI(Uniform Resource Identifier)의 표준으로 자리잡았습니다. 오늘날 모든 웹 브라우저, 서버, 프로그래밍 언어는 URL 인코딩을 기본적으로 지원하며, 국제화된 도메인 이름(IDN)과 다국어 콘텐츠를 URL에서 사용할 수 있게 해줍니다.
💡 URL 인코딩 활용 가이드
1. Query String 파라미터
GET 요청의 쿼리 파라미터에 특수문자나 한글을 사용할 때 반드시 인코딩하세요.
예: ?name=홍길동 → ?name=%ED%99%8D%EA%B8%B8%EB%8F%99
2. encodeURI vs encodeURIComponent
- encodeURI: 전체 URL 인코딩 (://?& 등은 그대로)
- encodeURIComponent: 파라미터 값 인코딩 (모든 특수문자 인코딩)
대부분의 경우 encodeURIComponent를 사용하세요.
3. 공백 처리의 두 가지 방식
- %20: 표준 URL 인코딩
- +: 폼 데이터 전송 시 (application/x-www-form-urlencoded)
상황에 따라 올바른 방식을 선택하세요.
4. 이중 인코딩 주의
이미 인코딩된 URL을 다시 인코딩하지 않도록 주의하세요. %가 %25로 변환될 수 있습니다.
5. 보안 고려사항
사용자 입력을 URL에 포함시킬 때는 항상 인코딩하여 XSS 공격을 방지하세요.
6. API 개발 시
REST API를 개발할 때, 경로 파라미터에 특수문자가 올 수 있다면 인코딩을 고려하세요.