『ネットワークはなぜつながるのか』感想
『ネットワークはなぜつながるのか』の面白いと思ったところのメモ。
要約とかはしていないです…
本の内容としては、メッセージがブラウザからwebサーバに届くまでを詳細に説明してくれている。
メインフレームより前の部分で動いているイメージ。フロントエンドからどんな感じでデータがバックエンドにきてるかの勉強になる。
①HTTPリクエストメッセージ(p26)
みたいなURLの場合、「note.com」の部分がWebサーバのドメイン名を表す。その下のmembershipというファイルに表示している内容を表すためのコーディングされたものが入っているようにみえる。httpsの部分がプロトコルを表す。
ちなみに、p414に書いているのだが、htmlドキュメントを読み取る場合でも、WEBサーバで公開されているのは、仮想的なディレクトリらしく、実際のディレクトリとは異なる。それぞれを対応づけている感じ。
なので、membershipというファイルに表示している内容を表すためのコーディングされたものが入っているように見えるが、実際にはもっと他のものが色々入っている感じになりそう。
②サーバアプリケーションの構造(p393)
興味を持ったのは、クライアントサーバシステムについてで、サーバ側の動きとして、窓口のある場所からそれぞれの用事のある場所に分かれていくく….というところ。全部のプログラムで窓口を作る必要があると作成が大変なので…的な。
アプリが余計なものを作らなくて良いように、まとめて作れるとこはまとめて作っておく発想という理解。
③ソケット(p96)
p96の部分の図が個人的に好きで、たくさんの種類のあるアプリ(メール、ブラウザなど)の部分、いくつかの共通事項をまとめたプロトコルのあるOSの部分、ハードの部分と分かれているイメージ。
ソケットを作ったりデータを送ったりはOSの機能の一つのプロトコルスタックの働き。なので、アプリはプロトコルスタックの機能を持つOSの機能を使うだけのイメージか?
④パケットが通る道筋(p434)
どの機能の段階でどのように認識されているのかを絵で表している部分が好き。理由は、バケットが電気信号になった箇所やATMセルがバケットになる箇所が視覚的に理解できるから。
基本情報の勉強をしていると、MACヘッダを付与した後にどうするのかがあまりわかっていなかったので、勉強になる…
⑤リクエストメッセージの意味を解釈して要求に応える(p417)
流れとしては、
①URIのファイル名からプログラムかを判断して、プログラムの場合、OSに起動を依頼。
②リクエストメッセージからデータを取り出し、起動しているプログラムに渡す。
③プログラムがデータを処理して返す
という形。WordPressとかのPHPがどんな感じで動いているのかが全く想像できていなかったので、少しわかった気がした。
感想
ネットワークとアプリのつながりの部分の理解が曖昧だったので、その部分が少しわかった気がする。
あと、クライアントとWEBサーバの部分を集中的に読んでしまって、光ファイバの部分やハブの部分が結局あまり読めていないことに気づいたので、また再度読み直してみる。
個人的に、論理から物理になったり物理が論理になったりするところが好きなので、定期的に読んでいて、以下のような動画も好きです…
(物理的にはどうなっているのかも気になる…)