どうもゴンザレスです。
はてなブログProに申し込むとはてなブログを独自ドメインで運用できます。独自ドメインの設定方法はたくさんのブログで解説されているのですが、その設定過程の各作業が技術的にどのような位置づけなのかを整理します。
ですので、訳が分からなくても設定できさえすれば良いという方は別のサイトを参考にされる方が効率が良いと思います。
以下、私の推察もあるので間違っている部分はご指摘いただけると嬉しいとして、一通り読んでいただくと各設定の意味がイメージできるはずです。
前提として、私は
・はてなブログProで
・お名前.comにて独自ドメインを取得
しています。
この条件にて説明を進行します。
ドメインとは
ドメインは、ホームページの住所のようなもの、と多くのページで紹介されています。個人的には、コンピュータ目線で言うとIPアドレスが住所、人間目線で言うとドメインが住所、という感じです。コンピュータ同士の通信はIPアドレスを住所として行います。下の図のように、送信元コンピュータAが送信先コンピュータBにデータを送りたいとするとBのIPアドレスが分かればよいということです。
しかし、人間からするとIPアドレスは数字の羅列(xxx.yyy.zzz.ttt)で覚えにくいですよね。それでドメインを使おうという訳です。
もっと分かりやすく言うと、Googleの検索画面にアクセスするときはURLに「http://www.google.co.jp」(人間目線)と打ち込みます(Google Chromeを立ち上げると勝手にこのページに行ったりもしますが)。でも実は「http://172.217.31.163」(コンピュータ目線)でも所望のページを表示できます。
ドメインは「www.google.co.jp」の部分になります。←後出しでスミマセン。
さらに言うと、コンピュータは人間が欲しているドメインに対応するIPアドレスを何らかの方法で見つけてきて、IPアドレスでもって通信します。
続けて、コンピュータはどのようにしてドメインに対応するIPアドレスを見つけるのか見ていきます。
DNS(ドメインネームシステム)
DNS、たまに聞く言葉かと思います。ドメインネームシステム(DNS)と言って、ドメインに対応するIPアドレスを見つけてくれるシステムのことです。
コンピュータAが、あるドメインを持っているコンピュータBに通信しようとするとき、DNSを使ってドメインに対応するIPアドレスを見つけて、そのIPアドレスで通信するというわけです。
具体的に見ていきます。
www.gonzales.tokyo
です。
www・・・ホスト名
tokyo・・・トップレベルドメイン
と分けることができます。
トップレベルドメイン、セカンドレベルドメイン、・・・は単純にドメインを右側からドット「.」で区切ってあるものをそう呼ぶ、というだけです。
つまり、DNSを使って「www.gonzales.tokyo」に対応するIPアドレスを見つけることができれば本ブログを見られるということです。
ブラウザがゴンザレスのはてなブログを見つけるまで
あるコンピュータAのブラウザから本ブログを見るとき、ブラウザはインターネットワービスプロバイダ(ISP)のDNSサーバー(フルリゾルバと言ったりしますが気にしなくていいです)に、「www.gonzales.tokyo」に対応するIPアドレスを教えてください、とお願いします。
すると、ISPのDNSサーバーは「www.gonzales.tokyo」に対応するIPアドレスを探し始めます。
その手順は以下です。
まずは、ルートサーバにトップレベルドメイン「.tokyo」についてよく知っているサーバーのIPアドレスを聞だします。ちなみに、ルートサーバーには「.jp」「.com」「.net」などそれぞれのトップレベルドメインについてよく知っているサーバーのIPアドレスが登録されています。
こんな風なイメージで。
「.jp」・・・aaa.bbb.ccc.ddd
「.com」・・・eee.fff.ggg.hhh
「.net」・・・iii.jjj.kkk.lll
そして、「.tokyo」についてよく知っているサーバーのIPアドレスが聞きだせたら、今度はこのサーバーに「.gonzales.tokyo」についてよく知っているサーバーのIPアドレスを教えてください、とお願いします。おそらくここで、お名前.comのサーバーが詳しいです、となると思います。(お名前.com管轄のサーバーだと思ったのは、お名前.comでドメインを取得する時に、gonzalesと検索して候補に上がってきたもののひとつを選択したからです。もしも、gonzales以外の任意の文字列で検索可能で、任意の文字列に対してドメインを取得できるとしたら、外部管轄のサーバーでは難しい。ドメイン取得の段階でお名前.comが新規でドメインを作る、と考えたからです。間違っていたらすみません。)
私は独自ドメインを取得する時、お名前.comにて「gonzales.tokyo」を購入しましたが、これは言い換えると「.tokyoについてよく知っているサーバーに、.gonzales.tokyoについてはお名前.comのサーバーに聞くように伝えてね!」というデータ登録をしたことと考えられます。
※お名前.comはレジストラと言って、上記のようにサーバーのデータベースにドメイン情報を登録することができます。
あとは、「.gonzales.tokyo」についてよく知っているサーバー(お名前.comが管理??)に「www.gonzales.tokyo」に対応するIPアドレスを教えてください、とお願いします。
ここで、お名前.comにもう一つ設定したことを思い出してください。下の画像のような設定をしましたよね?
CNAMEとは、画像の例で説明すると、「www.gonzales.tokyo」については「hatenablog.com」を参照してくださいね、という意味です。
つまり、「.gonzales.tokyo」についてよく知っているサーバーは、「www.gonzales.tokyo」については「hatenablog.com」というドメインに問い合わせてください、と返してくる訳です。
ということは、またISPのDNSサーバーは、「hatenablog.com」というドメインに対応するIPアドレスは何なのか調べにいきます。
まずはルートサーバーですね。ルートサーバーに「.com」についてよく知っているサーバーのIPアドレスを聞きます。今度はこのIPアドレスを使って「.com」についてよく知っているサーバーに通信して「hatenablog.com」というドメインに対応するIPアドレスは何ですか、と聞きます。
ここでやっと、ISPのDNSサーバーは「hatenablog.com」というドメインに対応するIPアドレス(例えば、nnn.mmm.ooo.ppp)を入手することになります。
そして、ISPのDNSサーバーは、入手したIPアドレス(nnn.mmm.ooo.ppp)をコンピュータAのブラウザに返します。
やっとIPアドレス(nnn.mmm.ooo.ppp)を手に入れたコンピュータAのブラウザは、「nnn.mmm.ooo.ppp」(hatenablog.com)に対して、「www.gonzales.tokyo」のブログを見せてください、とお願いします。
すると、、、
はてなブログの「設定」→「詳細設定」で下の画像のような設定をしましたよね。
hatenablog.com内で「www.gonzales.tokyo」というドメインを聞かれたときはこのアカウントのブログを表示すれば良いな、となってブラウザにその結果を返してくれます。
※おそらくはてなブログ内では、「gonzales1919.hatenablog.com」(独自ドメインを設定しない場合のドメイン)というドメインで管理されていて、上の画像のように独自ドメイン(www.gonzales.tokyo)を設定すると「gonzales1919.hatenablog.com」と紐付くのだと思います。
簡潔に絵で書くと
まとめ
今回は、多くの人の独自ドメイン設定解説記事を参考にさせていただいて設定自体は簡単に済んだのですが、そのひとつひとつの作業が何を意味しているのか理解できていなかったので、そのあたりを全体の辻褄が合うように自分なりに考察しました。
ですので、間違いもあるかもしれませんので詳しい方がおられましたらコメント等でご指摘いただけると助かります。
疑問等も気軽に書き込んでください。すべて勉強になりますので!
最後まで読んでいただきありがとうございました。