[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

ピュニコード (Punycode)

pointこの用語のポイント

pointドメイン名にアルファベット以外を使うための仕組みだよ

pointアルファベット以外の文字を内部的にアルファベットに変換するよ

pointもしくは、その変換で使うアルファベット以外の文字とアルファベットの対応表だよ

スポンサーリンク

簡単に書くよ

ピュニコード (Punycode)とは

ドメイン名にアルファベット以外を使えるようにするための仕組み
であり

「ほげ.example.com」→「xn--18j4d.example.com」のように、ドメイン名に含まれるアルファベット以外の文字を内部的にアルファベットに変換する仕組み
です。
あるいは

ドメイン名に含まれるアルファベット以外の文字を内部的にアルファベットに変換する際に使う、アルファベット以外(日本語とか)の文字とアルファベットの対応表
です。

image piyo

詳しく書くよ

順番に見ていきましょう。

ドメイン名は「IPアドレスに付けた人間様向けの名前」ね。

Punycode

ドメイン名は、基本的にアルファベットのみで構成されています。
例えば「hoge.example.com」のような形です。

Punycode2

昔は、ドメイン名にはアルファベットしか使えませんでした。
技術の進歩と共に、今ではアルファベット以外も使えるようになっています。
例えば「ほげ.example.com」のような、日本語を含むドメイン名も使えます。

Punycode3

この「ドメイン名にアルファベット以外を使う」を実現するための仕組み(のひとつ)が「Punycode」です。

実はですね。
コンピュータさんは、いまだにアルファベットしか分かりません。
日本語とかは「何これ?模様?」なのです。

Punycode4

例えば

http://hoge.example.com

は理解できます。
「『http://hoge.example.com』のホームページが見たいのね?」と理解して、ホームページのファイルをもらってきてくれます。

Punycode5

それに対して

http://ほげ.example.com

は理解できません。
「『http://??.example.com』のホームページが見たいのね?」と解釈します。

「ほげ」の部分が「??」になっていますね。
これでは、ホームページのファイルをもらいに行けません。

Punycode6

この問題を解決するためにコンピュータさんは、人間様の目に見えないところで、ドメイン名のアルファベット以外をアルファベットに変換しています。

例えば「ほげ」に対応するアルファベットが「xn--18j4d」だったとしましょう。

人間様が

http://ほげ.example.com

と入力しました。

Punycode7

これが内部的に

http://xn--18j4d.example.com

に変換されます。

Punycode8

変換された後のドメイン名はアルファベットだけで構成されています。
コンピュータさんが理解できます。

Punycode9

このような「内部的にアルファベットに変換することでドメイン名に半角英数字以外を使えるようにする仕組み」が「Punycode」です。

あるいは

「ほげ」と「xn--18j4d」

のような、変換で使う対応表を指して「Punycode」と呼ぶ場合もあります。

もしくは

http://xn--18j4d.example.com

のような、アルファベットに変換済みの(アルファベット以外を使った)ドメイン名の書き方を指して「Punycode表記」と呼んだりもします。

なお、アルファベット以外を使ったドメイン名とPunycode表記のドメイン名は実質的に同じです。

http://ほげ.example.com



http://xn--18j4d.example.com

は、どちらを書いても同じ場所を見にいきます。
「ほげ」の部分が内部では「xn--18j4d」に変換されるからです。

昔のWebブラウザ(ホームページを見るときに使うソフト)は、Punycodeの仕組みに対応していないものも(多分)ありました。
そのため、アルファベット以外のドメイン名を書く際には、古いWebブラウザを使っている人を考慮して「ほげ」ではなく「xn--18j4d」と書く人も多かったようです。

最近のWebブラウザは、内部的に変換してくれるはずです。
あまり気にしなくて大丈夫だと思います。

image piyo2

一言でまとめるよ

まぁ「Punycode」って単語が出てきたら「ドメイン名にアルファベット以外を使うための仕組みなんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク