언어: 한국어

tools / punycode

punycode/

국제화 도메인 이름(IDN)과 xn--로 시작하는 Punycode를 서로 변환합니다. 한 줄에 도메인이나 URL 하나씩, 여러 개를 한꺼번에 붙여넣을 수 있습니다.

도메인

Punycode

자주 묻는 질문

Punycode란 무엇이고, 국제화 도메인은 왜 xn--로 시작하나요?

도메인 이름 시스템(DNS)은 영문자, 숫자, 하이픈만 인식합니다. Punycode는 한글, 중국어, 악센트 문자 같은 다른 문자를 이 문자들로 인코딩하고 앞에 xn--를 붙이는 방식으로, 예를 들어 中文.com은 xn--fiq228c.com이 되고 bücher.de는 xn--bcher-kva.de가 됩니다. 주소창에는 원래 도메인이 보이지만 실제 DNS 조회와 요청에는 xn-- 형태가 쓰입니다.

DNS 레코드, Nginx, SSL 인증서를 설정할 때 어느 형태를 써야 하나요?

대부분의 관리 화면과 설정 파일은 xn-- 형태를 요구합니다. DNS 레코드, Nginx의 server_name, 인증서 신청서의 도메인이 모두 그렇습니다. 일부 관리 화면은 원래 문자를 그대로 입력해도 알아서 변환해 줍니다. 확실하지 않으면 xn-- 형태를 쓰는 것이 가장 안전합니다.

전체 URL을 그대로 붙여넣어도 되나요?

됩니다. 한 줄에 하나씩 넣으세요. 도구는 호스트 이름 부분만 변환하며, 프로토콜, 사용자 이름, 포트, 경로, 쿼리는 그대로 둡니다. 경로와 쿼리의 ASCII가 아닌 문자는 변환하지 않는데, 그 부분은 퍼센트 인코딩을 쓰기 때문입니다. 이 사이트의 URL 인코딩 / 디코딩 도구를 쓰세요.

변환 후 글자가 모두 소문자가 되고 전각 문자가 사라진 이유는 무엇인가요?

도메인 이름은 대소문자를 구분하지 않으므로 먼저 모두 소문자로 바꿉니다. 전각 영문자와 숫자는 일반 문자로 바꾸고, 마침표 。와 전각 마침표도 구분하는 점으로 취급합니다. 그래서 中文。COM과 中文.com은 같은 결과가 나옵니다.

"레이블당 63자 제한을 넘습니다"라는 안내는 무슨 뜻인가요?

DNS는 도메인 이름의 각 레이블(점과 점 사이 부분)을 최대 63자, 도메인 전체를 최대 253자로 제한하며, 여기서는 변환 후의 xn-- 형태로 셉니다. 레이블에 ASCII가 아닌 문자가 많고 서로 다를수록 변환 후의 길이가 길어지며, 이 제한을 넘는 도메인은 등록하거나 조회할 수 없습니다.

복원할 때 "올바른 Punycode가 아닙니다"라고 나오면 어떻게 하나요?

xn-- 뒤의 내용이 인코딩 규칙에 맞지 않는다는 뜻입니다. 복사하다가 몇 글자가 빠졌거나 공백, 따옴표 같은 문자가 섞인 경우가 흔합니다. xn--로 시작하는 레이블만 복원하고 나머지는 그대로 출력하므로 한 줄을 통째로 붙여넣어도 되며, 오류가 난 줄은 아래에 줄 번호로 표시됩니다.

다른 도구와 변환 결과가 다릅니다. 어느 쪽이 맞나요?

브라우저를 기준으로 하세요. 이 도구는 흔한 중국어, 일본어, 러시아어, 그리스어, 독일어 도메인에서 브라우저 주소창과 같은 결과를 냅니다. 예를 들어 독일어 ß는 그대로 두고 xn--zca로 인코딩하는데, 옛 규칙을 따르는 일부 도구는 ss로 바꿔서 다른 도메인이 나옵니다.

입력한 도메인이 서버로 전송되나요?

아니요. 변환은 모두 브라우저 안에서 이루어지며, 입력한 내용은 어떤 서버로도 전송되지 않고 이 도메인이 등록되어 있는지 조회하지도 않습니다.