Lesson1では,「HTTPとは何か」を確認しよう。最初に,Webアクセスの流れの中で,HTTPがどの部分に使われているかを見ていく。次に,パソコンの中のどんなソフトがHTTPを使うのかを明らかにする。いつ,どこで,どんなソフトが,何のためにHTTPを使うのかといった,基本を押さえよう。

ブラウザとサーバーの間で使う

 HTTPは,Webアクセスにおいて,WebブラウザとWebサーバーの間でデータをやりとりするためのプロトコルである。これをWebアクセスの流れで確認しよう。

 Webアクセスの流れは全部で五つのステップがある(図1-1)。最初に,ユーザーがWebブラウザの画面上のリンクをクリックする(同(1))。するとWebブラウザは,サーバーに対してデータを要求する(同(2))。この要求に従って,サーバー上で動くWebサーバー・ソフトが目的のデータを見つけ(同(3)),そのデータをWebブラウザに返信する(同(4))。そして最終的にWebブラウザが,受け取ったデータを適切な場所に配置する(同(5))。以上の流れになる。

図1-1●HTTPはWebアクセスを実現するためのプロトコル
図1-1●HTTPはWebアクセスを実現するためのプロトコル
WebブラウザとWebサーバー・ソフトが,データをやりとりするためにHTTPを使う。
[画像のクリックで拡大表示]

 この五つのステップの中でHTTPが使われているのが,(2)の「データの要求」と(4)の「データの返信」の部分である。

IPやイーサに包まれて運ばれる

 次に,HTTPが通信全体の枠組みの中でどの部分に位置するのかを見てみよう。HTTPと他のプロトコルの関係を確認する(図1-2)。

図1-2●HTTPのメッセージは下位プロトコルによって選ばれる
図1-2●HTTPのメッセージは下位プロトコルによって運ばれる
Webブラウザは,WebでデータをやりとりするにあたってHTTPメッセージを作る。このHTTPメッセージは,TCP,IP,イーサネットなどの下位プロトコルによって運ばれる。
[画像のクリックで拡大表示]

 ユーザーがブラウザに表示されているリンクをクリックすると,Webブラウザはまず,HTTPの形式に則って「○○というデータを下さい」といったメッセージを作る。このメッセージは,パソコン内にあるTCPを処理するソフトに渡される。

 するとTCP処理ソフトは,Webブラウザが作ったHTTPのメッセージをTCPパケットのデータ部分に入れ,TCPパケットをIP処理ソフトに渡す。続いてIP処理ソフトは,TCPパケットをIPパケットのデータ部分に入れ,このIPパケットをイーサネットに渡す

 最終的にイーサネットは,IP処理ソフトから受け取ったIPパケットをMACフレームのデータ部分に入れ,このMACフレームをLANアダプタにつながるケーブルに送り出す。以上が,送信時の流れである。

ブラウザが必要なデータを伝える

 受信側は,送信側の流れと逆になる。Webサーバーは,データが到着するとMACフレームからIPパケットを取り出す。さらにIPパケットからTCPパケットを取り出す。そして最終的に,TCPパケットからWebブラウザが作ったHTTPメッセージを取り出す。Webサーバー・ソフトは,このメッセージを見てWebブラウザがどんなデータを要求しているのかを理解する。

 以上が,WebブラウザからWebサーバー・ソフトへデータを要求する流れである。図1-1の(2)にあたる部分を詳しく見たわけだ。

 WebブラウザやWebサーバー・ソフトにとってみると,自分たち以外のメンバー(TCP,IP,イーサネット)は,HTTPのメッセージを運ぶための手段として使う格好になる。つまり,WebブラウザとWebサーバー・ソフトの役割は,HTTPメッセージを使って必要なデータを伝え,Web画面を正しく表示すること。メッセージを目的地まで運んだり,メッセージの到着を確認したりするのは,イーサネット,IP,TCPといった他のメンバーの仕事である。

 Lesson1のポイントをまとめておこう。HTTPは,WebブラウザとWebサーバー・ソフトが,データをやりとりするためのプロトコルである。両者が作るHTTP形式のメッセージは,TCP,IP,イーサネットといった下位レイヤーのプロトコルを使って運ばれる。これが,ネットワークにおけるHTTPの位置付けである。