이모지 도메인과 비라틴 도메인의 주소

·

메일 서버는 ASCII를 씁니다. 처음부터 그랬습니다. 도메인에 영문자 말고 다른 것이 들어갈 수 있다는 발상보다 프로토콜이 먼저였으니까요. 그래서 🎅.example이나 пошта.укр의 주소는 쓰인 그대로 이동하지 못합니다. punycode라는 변환된 형태로 이동하며, 이 도메인들에 관한 모든 것이 거기서 따라 나옵니다.

변환은 이렇게 이뤄집니다

punycode는 어떤 유니코드 이름이든 xn--로 시작하는 평범한 ASCII 문자열로 인코딩합니다. 되돌릴 수 있고 애매하지 않습니다. 같은 이모지는 언제나 같은 문자열이 됩니다.

입력하는 것실제로 이동하는 것
🎅xn--8j8h
поштаxn--80adcxbmm

punycode 변환기가 양방향 변환을 해 줍니다. 필요한 순간은 두 번입니다. 한 번은 등록업체에서 무엇으로 검색해야 하는지 알아낼 때, 또 한 번은 어딘가에서 주소를 ASCII로 요구할 때입니다.

이모지를 punycode로 변환하기

등록하기: 대개 빠져 있는 부분

⚠️
대부분의 레지스트리는 이모지를 아예 허용하지 않습니다. 흔한 존들 — .com, .net, .org, 그리고 거의 모든 국가 존 — 이 그것을 곧바로 거부합니다. 허용하는 레지스트리는 몇 곳뿐이고, 그 몇 곳도 바뀝니다. 무엇이든 결제하기 전에 해당 존의 규정을 확인하십시오. 등록업체는 레지스트리가 나중에 거절할 이름의 주문도 기꺼이 받아 갑니다.

비라틴 문자는 사정이 다르고 훨씬 쉽습니다. 키릴, 그리스, 아랍, 중국어를 비롯한 문자의 국제화 도메인은 많은 레지스트리가 지원하며 평범한 도메인처럼 움직입니다. punycode 변환은 똑같지만, 허용해 달라고 설득할 필요가 없습니다.

그다음, 이쪽으로 향하게 하기

도메인을 등록했다면 다른 도메인과 똑같이 MX 레코드 하나만 있으면 됩니다 — 정확한 값은 이쪽에 있습니다. 레코드는 등록업체 패널이 받아 주는 형태로 넣으십시오. 어떤 곳은 유니코드 이름을, 어떤 곳은 xn-- 형태를 보여 주는데, 둘은 같은 뜻입니다.

이런 주소가 깨지는 곳, 그리고 그때 할 일

메일에서는 작동하고, 폼에서는 실패합니다. 가입 폼의 검증 코드는 도메인이 example.com처럼 생겼으리라고 가정한 사람들이 썼기 때문에, 이모지 주소는 그것을 한 번도 고려한 적 없는 소프트웨어에 “잘못된 주소”로 자주 거부당합니다.

해법은 punycode 형태 그 자체입니다. 예쁜 쪽 대신 name@xn--8j8h.example로 입력하십시오. 같은 주소입니다. 어느 쪽으로 쓰든 메일 서버가 보게 될 바로 그 문자열이고, 다만 ASCII만 이해하는 검증기를 통과합니다. 예쁜 형태를 네모 상자로 그리는 오래된 휴대폰과 메일 앱도 같은 문제이고 해법도 같습니다.

ℹ️
정하기 전에 알아 둘 것. 이모지 도메인은 멋진 장난이지 좋은 기본값이 아닙니다. 그 주소가 할 일이 있다면 — 내가 통제하지 못하는 서비스에서 인증번호를 받는 일이라면 — 밋밋한 도메인이 훨씬 덜 거부당합니다.

전체 글 보기