퓨니코드 - 유니코드 도메인 (한글도메인)

퓨니코드(puny code)

영어가 아닌 유니코드 문자열을 도메인 이름으로 사용할 경우,
실제 DNS에선 해당 문자열을 퓨니코드로 변환하여 작동한다.

이 기능을 이용해 영어가 아닌 도메인 이름을 사용할 수 있다.
(한국어, 중국어, 일본어 등등~)


예를 들어, 사용자가 브라우저에 "도메인.kr"을 입력하면,
실제로는 "xn--hq1bm8jm9l.kr"로 작동한다.

다른 예시들)
도메인.한국 -> xn--hq1bm8jm9l.xn--3e0b707e
domain.한국 -> domain.xn--3e0b707e



* 퓨니코드임을 알아보는 방법은, 맨 앞에 "xn--" 이 붙어있는지 확인하는 것이다.
(도메인 이름 등록시, 세번째와 네번째 자리에 '-'가 들어오지 못하는 경우가 많다)

* 실 사용자는 웹 브라우저에 퓨니코드를 입력하지 않고 유니코드 문자열을 입력하면 된다.
대부분 브라우저에서는 퓨니코드를 입력하든 유니코드 문자열을 입력하든 같은 페이지로 연결된다.

* 퓨니코드를 사용하는 이메일 주소는 정상작동하지 않을 가능성이 있다.
"이메일주소@회사메일.한국" 과 같은 퓨니코드 이메일 주소는 사용하지 않는 것이 좋다.

SMTP를 처음 설계할때 퓨니코드를 고려하지 않았기 때문에, 최신 규약을 지키는 메일서버가 아니면 퓨니코드로 된 메일주소를 처리하지 못할 수 있다.
> 이메일 주소는 가급적 영어와 보편적인 특수문자('.' '-')만 쓰자
> 내 자신의 메일서버가 퓨니코드를 지원해도, 상대방 메일서버가 퓨니코드를 지원하지 않을 수 있다.

* nslookup 질의 혹은 dig 질의시에는 퓨니코드로 변환해서 질의를 해야 한다.




[레퍼런스]
RFC3492 - 퓨니코드 정의
https://tools.ietf.org/html/rfc3492

KISA - 퓨니코드 변환기
https://xn--3e0bx5euxnjje69i70af08bea817g.xn--3e0b707e/jsp/resources/domainInfo/punyCode.jsp

퓨니코드 변환기
https://github.com/bestiejs/punycode.js

댓글