Webページを閲覧するとき裏では何が起こっているのか
さっそくゲーム作成と関係ない記事が続いていますが、テクノロジー寄りの内容なのでいいかなと思って書きます。
このサイトを立ち上げるときサーバ契約とアドイン契約をする必要があり、私はその必要性がよくわかりませんでした。その理由を理解するために、そもそもWebページをブラウザで閲覧する際に何が起こっているかを調べました。その流れを示したのが下記の図です。

私たちは端末からブラウザを通して様々なWebページを閲覧することができます。https://xxxxxx.devgamediary.comが見たい場合はその情報がDNSリゾルバ(Domain Name System Resolver)に送られます。
DNSリゾルバはいろんな人に聞きまわってhttps://xxxxxx.devgamediary.comが結局どこのサーバにあるのかを教えてくれます。なんか新入社員みたいですね。
DNSリゾルバはまずルートDNSというサーバに行って問い合わせを行います(①)。ルートDNSはトップレベルドメイン(.com、.jp、.orgなど)に紐づく情報を管理しているTLDDNSサーバのIPアドレスを知っているので教えてくれます。
続いてDNSリゾルバは教えてもらったTLDDNSサーバに行って問い合わせを行います(②)。今回で言うと.comTLDDNSになります。このサーバは担当するトップレベルドメイン(.com)に紐づくセカンドレベルドメイン(.devgamediary)を含むドメインに関する情報を管理している権威DNSサーバのIPアドレスを知っているので教えてくれます。
ついに権威DNSサーバの居所がわかったので問い合わせを行います(③)。権威DNSはずばりそのドメインが指すIPアドレスを教えてくれます。
ちなみに権威DNSサーバという名前はauthoritative DNSの日本語訳のようですが、authoritativeには日本語でいうところの権威(偉そうな感じ)のほかに「信ずべき」という意味があって、authoritative DNSはそのアドインに対して「最も正確かつ公式な情報(IPアドレス)を返してくれるDNSサーバ」ということのようです。日本語の権威という言葉を辞書で調べても、信ずべきという意味は出てこないので、なんだかいまいちなネーミングな気がしますね。
こうして、分かったIPアドレスをDNSリゾルバは端末に教えてくれますので、これ以降は端末とWebサーバとのやり取りが開始します(④)。Webサーバにhttps://xxxxxx.devgamediary.comの閲覧を要求すると、サーバはPHP言語などの処理により(今回で言えばWordPressが内部で処理を行う)、要求されたページのHTML(HyperText Markup Language)を作成され、端末側に返却されます。
上記のようにして得られたHTMLに従い、ブラウザ上ではUIが構築され、私たちはWebページを閲覧しているということのようです。
結局何のための契約?

で、結局なぜ私はサーバ契約とアドイン契約をしなければならなかった理由はこの図になります。
まずサーバ契約についてですが、Webページが見られる仕組みはWebサーバ上でアプリケーションが要求されたWebページのHTMLを生成してクライアント側に返す仕組みなので、そのような処理ができるサーバを使わせてもらう必要があります。なので、Webサイトの作成に当たってはインフラを提供してくれるホスティング業者と呼ばれる業者との契約が必要でした。
次にアドイン契約についてですが、すでに述べたようにWebページに到達するまでにはアドインをもとにIPアドレスを割り出す処理(名前解決)を行っていくので、そもそもTLDDNSサーバや権威サーバに情報がなければそのWebページに到達できません。なので、レジストラという業者(TLDDNSを管理している業者はレジストリという)に依頼して登録と管理をしてもらうために契約が必要でした。
厳密には違うところがあるかもしれませんが、だいたいはあっていると思います。ずっとインターネットは利用してきましたが、何も知らずに使ってきたんだなぁと実感しました。
