ブラウザとwebサーバでやりたいこと
ブラウザ:リクエストをwebサーバに送る
「ページのデータをください」
「この注文を処理してください」
webサーバ:リクエストに従って,レスポンスをブラウザに送る
「ページのデータです」
「注文データを受け付けました」
このやりとりを実現するために,相手まで運ぶ仕組みが必要.
・多数ある通信相手を識別して送信.
・途中で消えたり壊れたりすることも(電気・光の信号なルータので).
ブラウザ
URLに従ってリクエストメッセージを作る.
「hoge.htmlというファイルにあるページのデータをください」
OSのネットワーク制御用ソフトに依頼.
リクエストを送り出す
OSのネットワーク制御用ソフト(プロトコル・スタック)が,メッセージを封筒(パケット)に入れて宛名(宛先アドレス)を書く.それをLANアダプタ(イーサネットや無線LANへの変換口)に渡す.
プロトコル・スタックは通信エラーが起こった際に送り直しや通信ペースの調整も行う.
ルータ
LANアダプタからインターネット接続用ルータに届いたパケットはプロバイダに渡される.
プロバイダ
インターネットの内部.
入口はアクセス回線(電話回線,ISDN,ADSL,CATV,FTTH,専用線 etc)といった通信回線.
そこからプロバイダのPOP(Point Of Presence)というルータに集められる.郵便局に相当.
ルータは網目状につながっており,パケットが各地に配送される.
このルータ間に技術の最先端が集約.昔の電話回線や最新の光通信技術などが使われている.
ファイアウォール等
パケットが目的地のwebサーバのLANにたどり着くと,ファイアウォールにチェックされる.
危険でなかったらキャッシュサーバに渡される.再利用できるデータがあればwebサーバまで行かずにデータを渡される.
大規模サイトなら複数のwebサーバに振り分ける装置がある場合も.
これらを通って,webサーバまで送られる.
webサーバ
webサーバマシンがパケットの中身を復元し,webサーバアプリケーションに渡される.
webサーバアプリケーションはネットワーク制御用ソフト(プロトコル・スタック)の役割で,リクエストメッセージに従ってレスポンスメッセージをクライアントに送り返す.
これまでの流れを逆に辿っていき,ブラウザがデータを画面に表示する.