기타 Hacker News · 2일 전

유니코드 특수문자 하나로 웹사이트 주소 줄이는 기상천외한 꼼수

핵심 요약
  • 유니코드의 전화기 기호(℡)나 번호 기호(№) 같은 단일 특수문자가 브라우저에서 실제 최상위 도메인인 .tel과 .no로 정상 인식되는 현상이 발견되었습니다.
  • DNS 서버가 아닌 웹 브라우저가 IDNA 정규화 과정을 거쳐 해당 기호를 알파벳으로 자동 변환해주기 때문에 가능하며, 다양한 특수문자 도메인 단축이 가능합니다.
  • SNS의 자동 링크 생성 미지원이나 일부 명령줄 도구의 미작동 같은 한계는 있지만 개성 있는 주소 생성이나 글자 수 절약에 활용될 수 있습니다.
요약 유니코드에는 일상적으로 자주 쓰이지 않는 온갖 특수 기호들이 포함되어 있습니다. 그중 '문자형 기호(Letterlike Symbols)' 영역에는 전화기 표시(℡)나 번호 기호(№)처럼 알파벳 여러 자가 하나로 뭉쳐진 독특한 단일 글자들이 존재합니다. 흥미로운 점은 DNS(도메인 네임 시스템)의 최상위 도메인(TLD) 중 실제로 '.tel'과 노르웨이 도메인인 '.no'가 존재한다는 사실입니다. 이에 따라 블로그 운영자는 자신의 웹사이트 주소인 'https://edent.tel/'을 'https://edent.℡/'로, 노르웨이 도메인 등록 사이트 'https://www.norid.no/'를 'https://www.norid.№/'로 입력해도 현대 웹 브라우저에서 아무런 문제 없이 정상 접속된다는 것을 확인했습니다. 이러한 현상이 가능한 이유는 DNS 서버가 해당 특수문자를 직접 해석하는 것이 아니라, 브라우저가 RFC 5895의 IDNA2008 정규화(Normalization) 과정을 거치면서 '℡'을 소문자 매핑 규칙에 따라 't', 'e', 'l' 3글자로 자동 변환해주기 때문입니다. 파이썬이나 리눅스의 curl, wget 같은 명령줄 도구에서도 정상적으로 동작하며, TLD뿐만 아니라 도메인 이름 전체에 수학용 볼드체, 필기체, 동그라미 문자 등을 섞어 쓰는 것도 가능합니다. 다만 완벽한 대체재로는 한계가 있습니다. 트위터(현 X)나 페이스북 같은 SNS에서는 해당 문자열을 유효한 웹 주소로 인식하지 않아 자동으로 하이퍼링크를 걸어주지 않으며, 'dig'나 'host' 같은 일부 DNS 전용 커맨드라인 툴에서는 NXDOMAIN 오류를 내며 해석하지 못합니다. 또한 복사·붙여넣기 과정에서 서식이 바뀌어 검색창으로 넘어가는 예외 사례도 존재합니다. 그럼에도 불구하고 ㎏(.kg 키르기스스탄), ㎖(.ml 말리), ™(.tm 투르크메니스탄), ℠(.sm 산마리노) 등 수많은 국가 코드 도메인을 단 한 글자의 특수문자로 축약할 수 있어, 개성 있는 주소를 꾸미거나 글자 수 절약, 혹은 URL 필터링 우회 등에 쓰일 수 있는 기발한 꼼수(도메인 핵)로 주목받았습니다.
해외 반응 번역
션: 버지니아의 서브도메인은 vi가 아니라 va입니다.
닉: 만약 사람들이 vi 도메인에 갇히게 된다면, esc 키를 몇 번 누른 뒤 :q! 를 입력해 빠져나오는 걸 잊지 마세요 (혹시 모르니까요).
헨드릭: 아쉽게도 ℹ️ 기호는 그냥 'i'로만 작동하는 것 같네요. 전체 '.info'로 작동했다면 정말 멋졌을 텐데요.
Sponsored · 광고