国際化ドメイン名
漢字やアラビア文字など、従来の英数字中心の表記以外も使えるドメイン名。対応するアプリケーションで名前の各部分をASCII文字列へ変換し、既存のDNSの仕組みで扱えるようにする。
イマシルちゃんの解説
いろいろな国の文字で書かれた名前を、共通の受付で扱いたいとするよ。
受付が読める文字だけで書いた控えを用意すれば、元の名前と対応させられるよね。
人には読みやすい名前を見せて、受付には決められた形で伝える。
名前を変えて別人にするのではなく、同じ名前の表し方を切り替えるんだ。
より深い解説
人が読む表記とDNSで使う表記
ドメイン名は、ドットで区切られたラベルから構成される。国際化ドメイン名では、この単位で文字の検査や変換を行う。URL全体を一括して変換する仕組みではない。
| 用語 | 役割 |
|---|---|
| IDNA | アプリケーションで国際化ドメイン名を扱うための規則 |
| Punycode | Unicodeの文字列を限定された文字集合で表す符号化方式 |
| U-label | 規則の条件を満たすUnicodeによる名前の単位 |
| A-label | 対応するASCII形式の名前の単位 |
このASCII形式は、xn--という接頭辞を付けた形になる。この符号化は暗号化ではないため、名前を秘密にする機能はない。
入力から名前解決まで
- ブラウザなどが利用者の入力を受け取る。
- 適用する規則に従って文字の変換や妥当性検査を行う。
- 必要なラベルをASCII形式にする。
- DNSへ問い合わせ、得たアドレスへ通信する。
ドメイン名の表示はアプリケーションの方針に依存する。人に読みやすい文字で表示する場合も、混同を避けるために符号化後の表記を表示する場合もある。
文字の正規化と版の違い
IDNA2003ではNameprepで文字の扱いを整え、全角英数字を対応する形へ変換する。このため、見た目や文字コードが異なる入力が、同じドメイン名として扱われることがある。
IDNA2008と、ブラウザなどが用いるUnicode UTS #46の互換処理は、役割や規則が同一ではない。幅の違いや大文字・小文字などの処理を、Punycodeだけの機能と考えないことが大切である。利用できる文字には、登録を管理する事業者側の制限もある。
ドメインの分類とは別の観点
| 分類 | 着目しているもの |
|---|---|
| 国際化ドメイン名 | 名前に使う文字とその表現 |
| gTLD | .comなど、一般分野別のトップレベルドメイン |
| ccTLD | .jpなど、国や地域に対応するトップレベルドメイン |
国際化は「どの国から取得できるか」という登録資格の意味ではない。トップレベルだけでなく、その下のラベルにも使われる。
見た目が似た文字への注意
異なる文字体系に、形がよく似た文字がある。見た目だけで正規のサイトと判断すると、別のドメインへ誘導されるおそれがある。保存済みのブックマークや管理されたリンクからアクセスし、証明書やドメインの確認も組み合わせる。