PR

 今回からネットワーク・アプリケーションで使われる代表的なプロトコルについて解説をしていきます。まずはHTTP(hypertext transfer protocol)を取り上げます。インターネットの代名詞でもあるWWWで使うプロトコルです。

研究所データの閲覧用に開発

 WWW(world wide web)は1989年にヨーロッパの原子核研究所CERNセルンで開発された技術です。CERNでは大規模な実験施設の計画書や報告書など、テキストや青写真、画像が混ざった文書を多国籍のスタッフが集まった研究チームで共有する必要がありました。WWWはこうした目的を実現する手段として作られたのです。

 WWWは、文書の中に他の文書のありかを示す“リンク”を取り入れたハイパーテキスト形式の文書が基になっています。リンクをたどっていくことで必要な関連文書が簡単に手に入れられるようにしたしくみなのです。

 WWWブラウザはリンクをクリックするとリンク先のハイパーテキスト文書をサーバーに問い合わせて取得します。このときに使うプロトコルがHTTPです。HTTPの最初のバージョンはHTTP/0.9で、単純なデータの転送だけをサポートしていました。HTTP/1.0で、どんなデータかを示し、データの種類を区別して送る機能が追加され、データの独立性が高まりました。

 現在も使われているHTTP/1.1では、プロキシと呼ばれる中間ノードの規定や、キャッシュと呼ばれる一時的なコピーの保持方法、永続的接続と呼ばれるコネクションを有効に利用する機能が追加されました(pict.1)。

拡大表示
 HTTP/1.0までは,一つひとつの文書やファイルごとにクライアントからサーバー対してTCPコネクションを張り,応答を受け取るとそのコネクションを切断するという手段をとっていました。しかし,TCPはコネクションの確立に時間がかかるうえに,コネクションを確立した後,データを最初はゆっくりと転送するウインドウ制御機能が働くので,データの転送効率が低くなりがちでした。
 そこでHTTP/1.1は,1度のコネクション確立で複数の文書の要求を送れるように拡張されました。こうすることでデータ転送効率を大きく向上させ,サーバー側の負荷も軽減しました。図では宅配ピザを1枚注文するたびに電話をかけ直すHTTP/1.0に対して,HTTP/1.1を1回の電話でまとめて注文できる方法に例えています。