URL入力からページを開くまでの流れ
- URL入力
- URLを元にページの情報の取得先のIPアドレスを検索
- URLをに記載のアドレスのサーバにメッセージを送信
- 送信先のサーバからページの情報を返信される
- ページが表示される
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の流れが少し理解できました。
参考の書籍はこちら↓
ネットワークはなぜつながるのか
コメント