Punycode(ピュニコード)は、日本語ドメインに使われる「符号化技術」のことです。
日本語だけでなく、アルファベットに変換することで半角英数字以外をドメイン名に使えるようにする表記方法をピュニコードといいます。
例えば、Webサイトをいくつか見ていると、ドメインの部分が日本語で表記されているサイトがあります。
この日本語のドメインを英語のドメインに表記し直したのが、この記事で紹介するPunycode(ピュニコード)です。
- Punycode(ピュニコード)とは何か?
- Punycode(ピュニコード)の仕組み
- Punycode(ピュニコード)の使い方
この記事では、Webサイトを作る方や管理する方に向けて、Punycode(ピュニコード)の仕組みを分かりやすく解説したいと思います。
なお、日本語ドメインについては以下の記事でも詳しく解説しています。
関連記事:日本語ドメインは1文字の独自ドメインで取得することが可能という話
1.Punycode(ピュニコード)とは?
Punycode(ピュニコード)は、日本語のドメインを英語表記に直したものを指します。
Punycodeとは?
“Punycodeとは、国際化ドメイン名で利用される、文字列変換用のアルゴリズムである。RFC 3492として標準化されている。”
出典元:Weblio辞書「Punycode」より一部抜粋
日本語ドメインについて後ほど詳細に説明をするのですが、例えば
h**p://総務省.jp/
のようなドメインも、日本語ドメインと呼ばれるものです。
総務省の場合、http:// の後に日本語で表記されて、その後に「.jp」がついています。
このドメイン部分が日本語なので、日本語ドメインと呼ばれています。
筆者自身が所有している日本語ドメインの実例としては、禅.jpなどがあります。
この他にも、日本だけに向けた、いくつかの日本語ドメイン担っているWebサイトを運営しています。
なお、独自ドメインを取得する際には、お名前.comなどを利用して、日本語ドメインを選択することができます。
実例として、日本語のドメインに加えて「.jp」で独自ドメインを取得している事例などを、以下の記事でも詳しく解説しています。
関連記事:JPドメインだと短い独自ドメインが取得しやすいので実例を交えて分かりやすく解説
1-1. ピュニコードの使用例
例えば、このサイト「ユニコブログ」のURLが h**ps://unicorn-blog.jp/ ではなく、
h**ps://ユニコブログ.jp だったとしましょう。
このままでは、海外の日本語対応していない国やソフトウェアでは、正しく表記されません。
こうした問題を避けるために、日本語のドメインは半角英数字の英語のドメインにエンコードしているのです。
実際にPunycodeが無ければ、海外のサイトやソフトウェアが日本語対応していない場合、正しく表記されません。
こうした互換性の問題を解決してくれるのが、Punycode(ピュニコード)の役目です。
とはいえ、この説明では分かりにくいかもしれません。
誤解のないように説明をしますと、日本語以外のドメインでも、ドメイン名に半角英数字以外を使えるようにする目的で、Punycode(ピュニコード)が使用されています。
つまり、日本語以外のマイナー言語にもPunycode(ピュニコード)が使われているのです。
私たち日本人にとっては、「ピュニコード=日本語ドメイン」という印象が強いのですが、
実際には、韓国語や中国語、アラビア語、ギリシャ語などでもピュニコードが使われており多言語のドメインに対応しています。
1-2. ピュニコードの表記ルール
Punycode(ピュニコード)でエンコードされたドメインの頭部分には、必ず「xn--」がつきます。
例えば、Googleなどで「Punycode変換・逆変換」とPunycode(ピュニコード)の変換が出来るサイトを検索して、日本語のドメインを入力すると、Punycodeに変換されたドメインが表示されるので、一度確認をしてみてください。
Punycode(ピュニコード)のドメインは、すべてアルファベットで構成されています。
なお、英語以外の言語でドメイン名を記述したい場合ですが、その国の文字で記述されたドメイン名を確定的なASCIIドメイン名に変換すれば、既存のインターネット上で使用することができます。
2.Punycode(ピュニコード)の仕組み
ピュニコードの仕組みですが、大まかに言うと「英語以外の言語のドメインを半角英数字とハイフンに変換すること」を意味します。
なお、ドメインをIPアドレスに変換するDNS(Domain Name System)は、日本語に対応していません。
このため、日本語ドメインでサイトを検索すると一旦ピュニコードに変換され、DNSがIPアドレスを調べて目的のサイトを表示する流れです。
私たちがブラウザで日本語ドメインを扱う場合、ピュニコードに気づくことは、ほとんどないでしょう。
しかし、ブラウザの外で日本語ドメインを扱う場合は、ピュニコードに変換されることを知っておく必要があります。
実際、ピュニコードに変換されてしまうと、ドメインだけでサイトの種類を判断できるという日本語ドメインの利点が失われてしまいます。
このため、海外をターゲットにしたサイト運営には向いていないということがわかります。
2-1. Punycode(ピュニコード)のできた背景と歴史
Punycode(ピュニコード)ができた背景ですが、これは国際化ドメイン名と関係しています。
現在のインターネットのさまざまな仕組みは、ドメイン名がASCII文字のみで記述されていることを前提に動いています。
このため国際化ドメイン名を使って通信を行う場合、事前にドメイン名をASCII文字列で構成されるドメイン名に変換する必要があるのです。
変換に用いられる技術や処理手順は、IDNA (Internationalising Domain Name in Application) と呼ばれる技術規格で規定されています。
このIDNAですが、以下のような決まりがあります。
- ユーザーアプリケーションが国際化ドメイン名を解釈すること
- NAMEPREPという仕組みを用いて入力文字列を正規化すること
- Punycodeを用いて国際化ドメイン名をASCII文字列に変換すること
これらは、既存のDNSとの互換性を保つために規定されたものです。
なお、国際化ドメイン名を使用する場合、各アプリケーションはこのIDNAに従って国際化ドメイン名をネットワークに送信しています。
少し専門的なお話なので、この部分については特に理解が難しくても問題はありませんが、専門的に知りたい方や知識を深めたい方は、下記の日本ネットワークインフォメーションセンターの解説が役に立ちます。
参考リンク:国際化ドメイン名(一般社団法人 日本ネットワークインフォメーションセンター)
2-2. 日本語ドメインの利点
そもそも、日本語ドメインとは、URLの一部に日本語を使用したドメインのことです。
日本語ドメインは漢字だけでなく、平仮名や片仮名も使用できます。
日本語ドメインの特徴ですが、まずドメイン名が日本語であるため、一目でウェブサイトの内容がわかります。
また日本語なので、そのまま覚えやすくインパクトがあるという点が大きいです。
ドメイン名の文字列には、漢字はもちろん、ひらがなやカタカナのすべてを使用できるため、会社名や商品名、ブランドの名前などが、そのまま使用することができます。
日本語のドメイン名ですが、ローマ字のスペルミスでWebサイト訪問者が迷うことがないため、ドメイン名を覚えてもらいやすく、マーケティングや集客においても効果的です。
また、日本語ドメインの場合ですが、競争相手を日本国内に限定できます。
このため、人気の高い業種やジャンルであっても、英語のドメイン名と比べて希望の文字列を登録しやすいというメリットもあります。
実際、英語で空きがないジャンルのドメインでも、日本語の場合には空きがあるというケースも珍しくありません。
3.Punycode(ピュニコード)のアルゴリズム
国際化ドメイン名の作成には、様々なアルゴリズムが考えられています。
ピュニコードはそのうちの一つです。
やや専門的な話しになりますが、アダム・M・コステロ氏が発明した26番目のACE(アルファベットのAからZまで数える)であることから、AMC-ACE-Zと名付けられました。
なお、正式名称のPunycodeは、後にコステロ氏自身が命名し、世界中に普及しました。
ピュニコードは国際化ドメイン名の符号化方式として提案されたもののうち、後に公式に使用することが決まったものは、RFC3492外部リンクで規定されており、RFC5891外部リンクで更新されています。
このあたりの話は、非常に複雑なので、もし興味のある方は、国際化ドメイン名(IDN)について詳しく紹介をしている、一般社団法人 日本ネットワークインフォメーションセンターの資料が役に立つので、ぜひ読んでみてください。
参考リンク:Q&A – 国際化ドメイン名(日本語ドメイン名)について|JPNIC
4.Punycode(ピュニコード)の導入事例
ピュニコードの導入事例として、特に有名なサイトが総務省の日本語JPドメインです。
公的機関にも利用されているPunycode(ピュニコード)
総務省のドメインは、以下のように登録されています。
h**p://総務省.jp/
※『h**ps://www.soumu.go.jp/』にリダイレクトされます。
Punycode(ピュニコード)の活用事例
このほかにも、大手出版社、広告代理店、コンサルタント、シンクタンク、情報通信業、商社、金融機関、各種メーカーが日本語のドメインを使用しています。
ここで有名な日本語ドメインをいくつかピックアップしたので、どのような企業や団体が日本語ドメインを使っているか確認できるように、参考事例として、いくつかリンクを入れておきます。
日本語ドメインは、すぐに覚えてもらえる、会社名を入力すればサイトにアクセスできるという点でメリットが大きいです。
また、実際に名刺代わりに覚えてほしいといった、プロモーションの意を込めて、日本語ドメインを取得する方も多いようです。
この他、最近では絵文字でドメインを作成したり、ファンマ(ファンマーク)の独自ドメインを作成して推しサイトが作られたりと、色々な利用のされ方をしています。
関連記事:絵文字ドメインを取得したり作成して「ファンマ」などを利用するやり方を紹介
5.Punycode(ピュニコード)に関連したよくある質問
Punycode(ピュニコード)や日本語ドメインに関して、よく聞かれた質問を集めてみました。
質問1:どうしてピュニコード変換が必要なのですか?
ドメイン名に日本語が使われている場合、そのままではアクセスできないため、Punycode形式に変換する必要があるからです。
これらの処理ルールは、2003年3月に一連のRFCが発行され、規定されました。
質問2:ピュニコード不要のブラウザもあるのですか?
これまで説明してきたPunycodeは、実は、すでにGooglechromeなどのWebブラウザで日本語ドメインなどに対応しており、Googlechromeのツールバーにコピー&ペーストすれば、すぐにPunycodeに変換されるようになっています。
Punycodeのドメイン(第2レベルドメイン)に使用できるのは、アルファベット、数字、ハイフンだけです。日本語ドメインも実はこのルールに従って、アルファベット、数字、ハイフンの組み合わせを日本語に変換するPunycodeというルールを使っています。
現在、多くのブラウザが日本語ドメインに対応しているため、未対応のブラウザのためにpunycode変換が行われることはほとんどありません。
しかし、古いソフトや自作のソフトでURLを入力する場合や、日本語のURLではなくアルファベットのURLでメールを送りたい場合など、punyucode変換が必要な場面もあります。
質問3:日本語のドメインはどこで取得や購入できますか?
通常のドメイン取得サービスで、日本語のドメインが購入できます。
筆者の場合は
の2社でドメインを取得することが多いです。
日本語ドメインは上記以外のドメイン取得サービス会社やレンタルサーバーサービス会社から購入することも出来ます。
また、国別コードトップレベルドメインはccTLDと呼ばれ、国や地域ごとに割り当てられています。
日本に住んでいる場合であれば「.jp」以外のccTLDを購入することはできません。
ただし、一定の条件を満たせば、他国のccTLDを購入できる場合があります。
質問4:ピュニコードがあるのに、それでも日本語ドメインが使われる
Punycodeへの変換の問題もありますが、最大のメリットは日本語のドメイン名は覚えやすいというところです。
例えば、会社名や商品名を覚えるのは難しくないが、ドメインやURLをすべて覚えている人は少ないです。
けれど、実際企業や商品、サイトのタイトルやコンテンツとしっかりリンクしている日本語ドメインは、覚えやすくわかりやすいため、Webマーケティングにおいても、さまざまなメリットを享受することが可能だと考えています。
質問5:SEOにも強いってホントですか?
日本語ドメインは、日本語が分かる人にとっては、当然にURLにおける視認性も高く、そのURLと同じコンテンツを、Webサイト内で積み上げていくことで、ブランディングを統一することが出来ます。
ただ、日本語ドメインがSEOに強いかどうかについては、かなり多くの定量化されたデータを得るための検証が必要になります。
筆者自身、いくつも日本語ドメインを取得して、特化型のミニWebサイトを育て収益化していますが、日本語ドメインということがどれくらい影響するのかについて断言するには、もっと多くの定量データが必要だと考えているため、明確な回答は難しいのが正直なところです。
質問6:ピュニコード攻撃って何ですか?
正式には、ピュニコードを使用したホモグラフ攻撃といいます。
一定の周期で、この攻撃方法はSNSなどで話題になっています。
ホモグラフ攻撃は、有名なサイトに酷似しているものの、異なる文字を使って偽のサイトに誘導するドメインハイジャックの手法のことを言います。
ホモグラフ攻撃によって、詐欺や不正アクセスなど数々のインターネット犯罪が起こっています。
このような手口は、一見すると本物と偽物サイトの区別がつかないため、インターネットにある程度慣れている方でも、使用されている文字によって、見抜くのがスゴく難しい場合があります。
6.ピュニコードによって貴重な短いドメインも取得可能になった
Punycode(ピュニコード)は、日本語ドメインを表記する上で必要な仕組みであり、文字ごとに割り当てられる固有の番号を、頭に「xn--」を付加しASCII文字で表示しています。
このような符号化技術によって、私たち日本人の取得した日本語ドメインのように、英語以外で入力されたドメインも使えるようになっています。
- 日本語ドメインを表記する上で必要
- 日本語ドメインは「xn--」を付加しASCII文字で表示される
- 競合性の高いドメインも、日本語ドメインなら取得しやすい
ピュニコードは、日本語でドメインが使えるという点で、企業の商品やサービスのPRにも広く使われています。
海外から見た場合、意味の無いアルファベットの羅列にしか見えませんが、日本国内でサービスを行う上で、有利な点や使用するメリットは多々あります。
上手に活用をして、自社やサービスのPRに活用できるか検討してみましょう。
7.ピュニコードの技術に関連した記事
当ブログ(ユニコブログ®)では、Webに関する、様々な情報発信に関するノウハウや、Web用語の解説、また、その実用例をブログ記事形式で紹介しています。
これらの記事がお役に立てば幸いです。