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アクセスを実現するためのプロトコル WebブラウザとWebサーバー・ソフトが,データをやりとりするためにHTTPを使う。 [画像のクリックで拡大表示] |
この五つのステップの中でHTTPが使われているのが,(2)の「データの要求」と(4)の「データの返信」の部分である。
IPやイーサに包まれて運ばれる
次に,HTTPが通信全体の枠組みの中でどの部分に位置するのかを見てみよう。HTTPと他のプロトコルの関係を確認する(図1-2)。
図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の位置付けである。