なぜURLでページが開けるのか

URL入力からページを開くまでの流れ

  1. URL入力
  2. URLを元にページの情報の取得先のIPアドレスを検索
  3. URLをに記載のアドレスのサーバにメッセージを送信
  4. 送信先のサーバからページの情報を返信される
  5. ページが表示される

URLを元にIPアドレスを取得する仕組み

httpのメッセージを送信する前に、URLのままサーバを探すのではなく、IPアドレスに変えてからサーバを探さなくてはならない。

なぜ、URLのままではなくIPアドレスなのか、

URLのままだと容量が大きくて効率が悪いから、IPアドレスだと32桁の2進数で4バイトだけど、アドレスのままだと最大255バイトになってしまう。URLを入力するときは人間が理解できるURLで、それを内部では4バイトの数字に変えることで素早くページを開くことができる。

ではIPアドレスに変えるのはどこでやっているのか、

OSのsocketライブラリがネームリゾリューション(名前解決)を実行している。

ブラウザ→socket→OSプロトコルスタック→DNSサーバの順で処理が実行される

socketライブラリはOSに組み込まれている。

これでブラウザがリクエストメッセージを送るためのIPアドレスを取得することができる。

細かい中身は色々とあるようだが、おおまかな流れはこのようになっている。

この流れでさらに一つ疑問が出る、DNSサーバのIPアドレスはどこで取得してくるのか?

答えは、DNSサーバのI PアドレスはOSに設定されている。

単純な答えでした。

windowsの設定確認はこちら
https://faq.interlink.or.jp/faq2/View/wcDisplayContent.aspx?sso_step=1&id=639

macのDNSの確認はこちら
https://gori-works.jp/internet/mac-dns-settings/

上記のように確認すれば出てくる模様。


いまいち理解していなかったDNSとHTTPの流れが少し理解できました。

参考の書籍はこちら↓
ネットワークはなぜつながるのか

コメント

タイトルとURLをコピーしました