インターネットの仕組み 第一回 ブラウザとサーバの通信

 
 ども。たりきです。
 一般の方向けに,インターネットの仕組みを解説してみようという試みの第一回です。
 解りづらいよ!という場合はコメントでツッコんでくれると改善します。
 
 では,第一回。WEB ページ閲覧の仕組み。
 
 みなさんは WEB ページを見るとき,ブラウザというものを利用していると思います。インターネットエクスプローラや,FirefoxChromeOpera など,様々なブラウザがあります。
 これらのブラウザは,WEB ページを見るときに同じ約束事にしたがって通信をしています。
 その通信を見てみましょう。
 
 まず,ブラウザであるページを表示させようとします。リンクをクリックしたり,お気に入りやブックマークからページを選択したり,URL 表示欄に URL を入力したりすると,ブラウザはまず表示させようとしたページのアドレスを解釈します。
 アドレスの解釈は DNS というサーバが持っているサーバ名と IP アドレスの対応表を見ることで行います。こうすることで,WEB ページを持っているサーバがどこにあるかを調べているのです。
 サーバが見つかれば,「このページをください」というリクエストを送信します。すると,サーバはそのリクエストを受け取って,ページを返してくれます。ブラウザは帰ってきたページの内容を解釈して,綺麗な WEB ページを表示する,というわけです。
 このようにして WEB ページを受け取ったら,通信を終えます。
 
 この一連の流れがワンセットになって,WEB ページが表示されます。WEB ページ内に画像があれば,またアドレスを解釈して*1,リクエストを送信して,画像を受け取り,通信を終える,という流れを繰り返します。
 
 この流れ,まるで通販みたいですね。
 
 通販の場合,カタログを見て「これが欲しいな」と思ったとき,まずカタログに記載の販売店を調べます。これが,DNS へのサーバのアドレス問い合わせに相当します。
 続いて,電話やハガキなどで,商品を注文します。これが,ブラウザからサーバへのリクエストに相当します。
 そして,商品が届きます。これが,サーバからブラウザへの WEB ページの返答に相当します。
 一つの買い物につき一回のやり取り。これが,WEB ページの表示と同じものになります。
 もし,商品を見て,さらに欲しいものが増えたときは,また同じように販売店を調べ,電話やハガキで注文し,商品を受け取る,という流れを繰り返します。
 
 ポイントは,一回のやりとりで一度話が途切れる,ということです。販売店は顧客データを持つだろう,と言われるかも知れませんが,ここでは無視してください。一般のスーパーやコンビニと同様に,客と店が一期一会だと思ってください。
 毎回通信が終了してしまうので,サーバはブラウザとどんな話をしていたか覚えていません。なので,たとえば Amazon で買い物をするとき,買い物かごに入れた商品も覚えていられません。
 では,どうやって買い物かごに入れた商品を覚えているのでしょうか。
 
 その仕組みが,Cookie というものです。
 
 Cookie は,サーバにアクセスしたときに発行されます。ブラウザが Cookie を受け取ると,同じサーバにアクセスするときは,リクエストと一緒に Cookie も送信します。
 サーバは Cookie の値を覚えておくことで,ブラウザを識別することができるようになります。そして,サーバの内部で,Cookie の値とセットにして,買い物かごの中身を覚えています。
 この仕組みを使えば,買い物かごの中身を覚えておいて,かつ,ブラウザを識別することができ,一度通信が切られてもしばらくは Cookie を覚えていることで再度通信があったときに前回の通信の内容を思い出すことができる,というわけです。
 
 先ほどの通販の例えですと,Cookie は会員証のようなものになります。会員証に印刷されている会員番号を示すことで,購入金額に応じてポイントが溜まる,といったものを見かけたことがある方も多いと思います。
 
 さて,会員証をなくした場合はどうなるでしょうか。Cookie を送信しない,あるいは送信できない場合がこれに相当します。
 もうおわかりですね。Cookie がないと,サーバは前回の通信を思い出すことができません。会員証の場合ですと,ポイントがどれだけあったかわからなくなります。
 つまり,通信の継続性がなくなる,というわけです。
 
 
 いかがでしょうか。WEB ページを表示するときの流れがご理解いただけたでしょうか。
 DNS サーバに問い合わせてアドレスを解決するのは,サーバとはじめて通信するときになります。
 それ以降の,「リクエストする」「返答をもらう」の繰り返しが,「HTTP」という約束事になります。
 ハガキを書くとき,表面に郵便番号と宛先住所,受取人氏名を書き,裏面に本文を書く,というお約束があるように,ブラウザで WEB ページを見るときも「HTTP」というお約束があります。
 HTTP は,「リクエストする」「返答をもらう」というワンセットだけで通信が終わります。これだと不便なので,Cookie という仕組みを使って,前の通信で例えばどんなものを買い物かごに入れたか思い出せるようにしています。
 華やかなインターネットの世界も,ごくごく簡単な「リクエスト」と「応答」の繰り返しで成り立っているというわけです。
 
 
 ○まとめ
 
 ブラウザとサーバは,HTTP という仕組みで通信している。
 ブラウザとサーバは,「リクエスト」と「応答」のワンセットごとに,通信を終了している。
 前回までの通信の状態を覚えておけるように,Cookie という仕組みがある。
 Cookie を送信しない,または送信できない場合もある。
 

*1:何度も同じサーバにアクセスする場合は,一時的にパソコンがサーバとアドレスの関係を覚えています。