Webページ制作は私にとって趣味のようなものだが,私の制作したWebページを見て制作を依頼してくれるような素晴らしい方も居る. 今回は依頼された案件で日本語ドメインを利用した,というお話. 依頼主さんもまさか日本語のURLが使えるとは知らず,とても面白がっていた. ここではWebページ制作者の観点から,日本語ドメインを利用した感想や注意点などを記そうと思う.
目次
TL;DR (急いでいる人向け)
この章は本記事の要所だけをかいつまんで紹介しているので,より詳しく知りたい方は次章から読み進めることをオススメする. 書いてある内容はほぼ同じ(はず)なので,ササッと知りたい方はこの章を読むだけで特に問題は無い(はず).
気をつけることにも記したが,日本語ドメインを含む国際化ドメインはIDNホモグラフ攻撃として悪用される危険性があるため,多くのWeb開発者から敬遠されがちである. ホモグラフ攻撃とは例えば"ロボット.jp"に似せて"口ボット.jp"などのドメインを悪意のある者が取得し,後者を悪意あるWebサイトのURLとして使う攻撃である. よく見ればカタカナの"ろ"が後者は漢字の"くち"である. このように酷似する文字を使用してアドレスバーに表示された文字を偽装することで,あたかも本物のサイト(ロボット.jp)であるかのように見せかける攻撃である. 対策として,一部のブラウザではアドレスバーに日本語を含む国際化ドメインを表示する代わりに,Punycodeをそのまま表示するものもある. そのため,すべてのブラウザで日本語が表示されるとも限らず,日本語が表示されない場合は訳の分からない英数字の羅列,すなわちPunycodeがそのままアドレスバーに表示されてしまう. 以上の点にも注意する必要がある.
日本語ドメインを使う上で気をつけること.
- Punycodeに変換して利用する必要がある
- メールアドレスのドメインとしては利用できない
- 日本語入力できない環境からではPunycodeでしかアクセス出来ない
- IDNホモグラフ攻撃として悪用される可能性がある
日本語ドメインを使う利点
- 覚えやすく,読みやすい
- ドメイン取得しやすい
- インパクトがある
- HTTPSも使える
その他参考サイト
日本語ドメインは当然ながら日本語が入力出来る環境でないとアクセス出来ない(Punycodeでのアクセスになってしまう). 日本語ドメインの欠点を補いつつ,メリットを得たい場合,日本語ドメインをリダイレクト用に取得することが望ましい. 例として角川書店.jpがある. "角川書店.jp"にアクセスするとメインのアドレスである"www.kadokawa.co.jp"へリダイレクトされる仕組み. これならば日本語に馴染みのある人ならば日本語ドメインでアクセス出来,日本語が入力出来ないユーザーでも難なくアクセス出来る.気をつけることにも記したが,日本語ドメインを含む国際化ドメインはIDNホモグラフ攻撃として悪用される危険性があるため,多くのWeb開発者から敬遠されがちである. ホモグラフ攻撃とは例えば"ロボット.jp"に似せて"口ボット.jp"などのドメインを悪意のある者が取得し,後者を悪意あるWebサイトのURLとして使う攻撃である. よく見ればカタカナの"ろ"が後者は漢字の"くち"である. このように酷似する文字を使用してアドレスバーに表示された文字を偽装することで,あたかも本物のサイト(ロボット.jp)であるかのように見せかける攻撃である. 対策として,一部のブラウザではアドレスバーに日本語を含む国際化ドメインを表示する代わりに,Punycodeをそのまま表示するものもある. そのため,すべてのブラウザで日本語が表示されるとも限らず,日本語が表示されない場合は訳の分からない英数字の羅列,すなわちPunycodeがそのままアドレスバーに表示されてしまう. 以上の点にも注意する必要がある.
1. まずはじめに
ドメインはバリュードメインにて取得,サーバーはさくらインターネットのレンタルサーバーを利用した. さくらインターネットでは日本語ドメインの利用は出来るがサポート対象外とのこと. とはいえ,日本語ドメインを設定してもページはちゃんと表示されるので動作は問題無いことは確認できた. また,HTTPS接続でも問題無く動作することも確認できた.
2. Punycode
ブラウザのアドレスバーには例えば"いろは.jp"などのように日本語で表示されるのだが,DNSサーバーをはじめ,裏方のサーバーやシステムではASCII文字以外の文字(日本語も含む)は扱えない. そこでブラウザはそれらのシステムでも扱えるよう,日本語のようなマルチバイト文字をASCII文字へと変換して処理を行っている. 例えば"いろは.jp"は次のような文字列へと変換され,処理される.
xn--n8j9dxd.jp
これはPunycode(ピュニコード)と呼ばれるxn--から始まる変換書式である. マルチバイト文字⇔Punycode間の変換にはwww.punycoder.comやpunycode.jsなどが利用できる.3. 日本語ドメインを利用する
さくらレンタルサーバー
手順は他社で取得した独自ドメインを設定する方法でOK. ただし,追加する"ドメイン名"にはPunycodeを入力する. 日本語からPunycodeへの変換にはwww.punycoder.comを利用しよう. 注意: さくらレンタルサーバーよくある質問にも記してある通り,日本語ドメインの場合はウェブ利用しか出来ない. これは,メールアドレスのドメインとしては利用出来ないことを意味する(例: support@いろは.jpのようなアドレスは利用出来ない). 今回の案件では仕事用のメールアドレスはすでに取得済みで,日本語ドメインはあくまでWebサイト専用に取得したものだったので問題は無かった. Webサイトのドメインと同じドメインをメールアドレスにも利用したい場合は日本語ドメインの取得を諦めよう.Google Analytics
アクセス解析に欠かせないGoogle Analytics. トラッキングIDの取得画面ではWebサイトのURLを入力する箇所がある. "Website URL"と書かれた入力フォームである. ここにはPunycodeを入力する. これで上手くアクセス解析できるようになった.TypeSquare
高品質な日本語Webフォントを提供してくれるTypeSquare. Webフォントの利用には利用するドメインの登録が必要. その際,利用するサイトのURLを入力する必要がある "サイトURL"の欄にはPunycodeを入力しよう. これでTypeSquareのWebフォントも利用できることを確認した.PageSpeed Insights
Webページのパフォーマンスに関する問題点についてアドバイスをくれるPageSpeed Insights. WebページのURLを入力する欄には日本語ドメインをそのまま入力できる(例: いろは.jp).GTmetrix
Webページのパフォーマンス,表示速度に関するあらゆる情報を解析,表示してくれるサービス"GTmetrix". これもPageSpeed Insights同様,日本語ドメインをそのまま入力できる(例: いろは.jp).Twitter Card Validator
Twitterタイムラインに表示されるカードの有用性を検証できるツール. こちらも日本語ドメインをそのまま入力できるが,先頭にhttp://やhttps://を付与する必要あり(例: https://いろは.jp).Facebook Sharing Debugger
Facebookのタイムラインに表示されるカード,Open Graphのデバッグを行えるツール. こちらは日本語ドメインをそのまま入力できる(例: いろは.jp).その他のサービス
上に挙げた例からも分かるように,日本語ドメインを他サービスに追加/登録する際はPunycodeに変換した上で追加/登録する必要があるが,検証ツールなどではそのまま日本語で入力しても特に問題は無かった. 検証ツールなど無料で利用出来るツール類なら良いが,有料のサービスで日本語ドメインを追加/登録する際は対応していない可能性も考慮して,ドメイン取得前にあらかじめその旨問い合わせておくと安心感があることは言うまでもない.話は変わるが,最近のメーラーはメール本文中のURLを自動で見つけてリンクを付与してくれる. 私はこの機能が好きだ. ただ,日本語ドメインの場合は注意が必要. 例えば"いろは.jp"と書いただけではURLとは判別されない. "http://いろは.jp"などと書くことでリンクと判別してもらえる(場合がある). もちろん,使っているメーラーやバージョンによってもその挙動は異なるので,あくまでも参考程度に.
4. 日本語ドメインを使う利点と欠点
今まで読んできて,日本語ドメインはいくらかの制約があり,利用するにもいちいちPunycodeへ変換する必要があり,少々面倒に感じる. しかし,日本語ドメインを使う利点はいくつかあると考える.
今回制作させていただいたWebページはかなり小規模なものであり,かつ取得した日本語ドメインは酷似する文字が他に見当たらないようなものだったため利用するに踏み切ったが,一部のブラウザなどではアドレスバーに日本語ではなくPunycodeそのものが表示される場合もあり,必ずしも日本語ドメインが日本語で表示されるとは限らない. また,日本語で表示されても,リソースなどの配信元はPunycodeで表示されるので,国際化ドメインに対して知識の少ない方を混乱させる可能性も十分に考えられる. その点も考慮する必要がある.
利点
その壱: 覚えやすい
日本語ドメインのメリットといえば,とにかくこれ. 日本語に馴染みのある人にとって覚えやすいURLは強みとなる. "hennnasouko"とローマ字で書かれるよりも"変な倉庫"と日本語で書かれていたほうが読みやすいこと間違いないからだ("変な倉庫"とはつまりこのブログのタイトル"The Strange Storage"の直訳である).その弐: 取得しやすい
普通の(ASCII文字の)ドメインだと自分の取りたいドメイン名がすでに取得されていて悔しい思いをすることが良くある. しかし,日本語ドメインならば取得されていないドメインがかなり沢山あるため,比較的自分好みのドメインを取得し易い点が挙げられる.その参: 人目を引く
Googleの検索結果などには小さくそのWebサイトのURLが表示されるが,そこが日本語だとちょっとおもしろい. ということで人目を引く効果があるとわたくしは勝手に思っている.欠点
その壱: Punycodeに変換する必要がある
これはすでに記した通りだが,Google Analyticsやその他Webサービスにドメインを登録する際に日本語のままではなくPunycodeへ変換して登録する必要があることは手間であり欠点のひとつとなる.その弐: 言語環境に依存する
これは利点その壱の悪い側面である. 日本語に馴染みのある人には覚えやすく入力しやすいアドレスであることに間違いないが,日本語を入力出来ない環境のユーザーからすればアクセスしにくいアドレスであることを忘れてはならない. 日本語が入力出来ない環境からそのアドレスへアクセスするにはPunycodeを入力するしか方法が無く,却って利便性を損なってしまう. どんな人がアクセスするWebサイトなのか,という点も考慮して日本語ドメインを取得するべし.
日本語ドメインをリダイレクト専用に取得するというのもアリ. 例えば,WebサイトのURLは"storange.jp"だが,"変な倉庫.jp"という日本語ドメインも取得し,こちらでアクセスされた場合は"storange.jp"へリダイレクトする,というような使い方. これならば,あらゆる人にとってアクセスしやすく,日本語ドメインのメリットも得られるWebサイトとなるのでオススメ. 代表例として角川書店.jpなどがある.
その参: セキュリティリスクとして敬遠される
日本語ドメインとはすなわち,マルチバイト文字(ASCII文字:英数字以外の文字)をドメインとして使うことが出来ることを意味する. このようなマルチバイト文字のドメインは"国際化ドメイン"と呼ばれ,当然日本語以外の言語の文字も利用できる仕組みになっている(そして裏方ではPunycodeとして扱われる). この国際化ドメインは悪用されたケースもあり,セキュリティに敏感な方やWeb製作者からは敬遠されがちである(これは"IDNホモグラフ攻撃"と呼ばれる). ホモグラフ攻撃とは例えば"ロボット.jp"に似せて"口ボット.jp"などのドメインを悪意のある者が取得し,後者を悪意あるページのURLとして使う攻撃である. よく見ればカタカナの"ろ"が後者は漢字の"くち"である. このように酷似する文字を使用してアドレスバーに表示された文字を偽装することで,あたかも本物のサイト(ロボット.jp)であるように見せかける攻撃である.今回制作させていただいたWebページはかなり小規模なものであり,かつ取得した日本語ドメインは酷似する文字が他に見当たらないようなものだったため利用するに踏み切ったが,一部のブラウザなどではアドレスバーに日本語ではなくPunycodeそのものが表示される場合もあり,必ずしも日本語ドメインが日本語で表示されるとは限らない. また,日本語で表示されても,リソースなどの配信元はPunycodeで表示されるので,国際化ドメインに対して知識の少ない方を混乱させる可能性も十分に考えられる. その点も考慮する必要がある.
以上,日本語ドメインを取得する/使う上での注意点などをまとめてみた. 日本語.jpや使おう.jpといった日本語ドメインの利用をサポートしてくれるWebサイトもあるので,それらも参考にしながら日本語ドメインを効果的に利用できればと思う.
4294407814258372192
https://www.storange.jp/2017/10/blog-post.html
https://www.storange.jp/2017/10/blog-post.html
日本語ドメインを使う
2017-10-21T22:21:00+09:00
https://www.storange.jp/2017/10/blog-post.html
Hideyuki Tabata
Hideyuki Tabata
200
200
72
72