홈으로 돌아가기 개발자 URL 인코더

URL 인코더

URL 인코딩/디코딩

URL 인코더 사용 방법

URL 인코딩/디코딩 무료 온라인 도구, 회원가입 없음, 광고 없음. 지금 바로 무료로 사용하세요.

URL 인코딩이 필요한 경우는?

URL은 제한된 ASCII 문자 집합만 포함할 수 있습니다. 공백, 한국어 문자, 구두점, 비ASCII 문자는 URL에서 안전하게 전송되려면 퍼센트(%XX) 시퀀스로 인코딩해야 합니다. 한국어 콘텐츠를 다루는 웹 서비스에서 특히 중요합니다.

인코딩 규칙: 문자(A-Z, a-z), 숫자(0-9), -_.~ 문자는 인코딩하지 않습니다. 그 외는 문자의 UTF-8 바이트 값을 나타내는 두 자리 16진법으로 % 뒤에 인코딩됩니다. 한국어 문자 하나는 UTF-8에서 3바이트(6자리 16진법)입니다.

JavaScript에서 encodeURI와 encodeURIComponent의 차이는?

encodeURI는 전체 URL을 인코딩하며 URL에서 의미 있는 구조 문자(/, ?, &, #, :)는 인코딩하지 않습니다. encodeURIComponent는 문자, 숫자, -_.~* 외 모든 것을 인코딩합니다. 개별 매개변수 값에는 항상 encodeURIComponent를 사용하세요.

공백을 위한 +와 %20의 차이는?

둘 다 URL 인코딩에서 공백을 나타내지만 다른 맥락에서 사용됩니다. %20은 모든 URL 구성요소에서 올바른 공백 표현입니다. 더하기 기호는 application/x-www-form-urlencoded(HTML 폼 데이터)에서만 공백을 나타냅니다. URL 경로 세그먼트에는 사용하지 마세요.

이중 인코딩이 문제가 되는 이유는?

URL에 %252F가 포함되어 있다면 이는 /를 인코딩한 %2F를 다시 인코딩한 것입니다. 한 번 디코딩하면 %2F, 두 번 디코딩하면 /가 됩니다. 이중 인코딩은 URL을 여러 번 인코딩할 때 발생합니다. 서버가 URL을 여러 번 디코딩하면 path traversal 공격과 같은 보안 취약점이 될 수 있습니다.

URL 경로 세그먼트에서 어떤 문자를 인코딩해야 하나요?

URL에서 특별한 의미를 갖는 예약 문자는 인코딩해야 합니다: 공백(%20), #(%23), %(%25), ?(%3F) 등. 슬래시 /는 경로 구분자입니다. 경로 세그먼트에서 리터럴 슬래시는 %2F로 인코딩하세요.

퓨니코드(Punycode)란 무엇인가요?

퓨니코드는 비ASCII 문자가 있는 국제화 도메인 이름(IDN)을 ASCII 호환 인코딩으로 변환합니다. 예를 들어 한글 도메인 '코리아.한국'은 퓨니코드로 변환되어 전송됩니다. 이는 URL 경로와 쿼리에 사용되는 퍼센트 인코딩과 다른 방식입니다.

URL 인코딩 vs Base64 vs HTML 엔티티

URL 인코딩(퍼센트 인코딩)은 데이터를 URL에 안전하게 만듭니다. Base64는 이진 데이터를 텍스트 맥락(이메일, JSON)에 안전하게 만듭니다. HTML 엔티티는 특수 문자를 HTML에 안전하게 만듭니다: &는 &, <는 <. 각각 제한된 문자 집합에서 데이터를 표현하는 동일한 문제를 해결하지만 다른 대상 맥락에 적합합니다.

☕ Buy me a coffee