Webブラウザが要求を送り,Webサーバーが応答を返す――。Webアクセスを一言で表現すると,こうなる。こうした単純なやりとりの手順や内容を決めているのが,HTTPというプロトコルである。このHTTPがWebアクセスの根幹と言える。

人が読めるテキストをやりとり

 アドレス欄にURLを入れてリターン・キーを押すと,WebブラウザはURLで指定されたデータをWebサーバーに要求する。このときWebブラウザがWebサーバーに送るのが,HTTPリクエストである。

 HTTPリクエストはテキストで出来上がっていて,人がそのまま読むことができる。通常,このHTTPリクエストは複数行にわたっている。1行が一つの項目になり,それぞれの項目が意味を持っている。つまり,HTTPリクエストの見かけは,個条書きにしたテキスト・ファイルのようなものと考えればよい。

 このHTTPリクエストを分解してみると,三つの部分に分けられる。リクエスト行,メッセージ・ヘッダー,エンティティ・ボディである(図8)。

図8●WebブラウザはHTTPリクエストでデータを要求する<br>Webページのデータを要求するため,WebブラウザはHTTPリクエストをWebサーバーに送る。もっとも重要なのは1行目にあるリクエスト行だが,以下に続くメッセージ・ヘッダーやメッセージ・ボディにもさまざまな付加情報が入る
図8●WebブラウザはHTTPリクエストでデータを要求する
Webページのデータを要求するため,WebブラウザはHTTPリクエストをWebサーバーに送る。もっとも重要なのは1行目にあるリクエスト行だが,以下に続くメッセージ・ヘッダーやメッセージ・ボディにもさまざまな付加情報が入る。
[画像のクリックで拡大表示]

 もっとも重要なのは,先頭の1行目に書かれるリクエスト行である。この1行で,Webサーバーにどんな処理をしてほしいかを伝えている。Webシステムが発案された初期のころは,このリクエスト行だけをWebサーバーに送っていたくらいだ。つまり,リクエスト行の内容さえ理解できれば,HTTPリクエストの大まかな内容がわかる。

 メッセージ・ヘッダーは,リクエスト行の次に続くテキスト列で,通常は複数行ある。ここには,Webブラウザの種類やバージョン,対応するデータ形式などの付加的な情報が書かれる。

 そして,区切りのための空白行のあと,エンティティ・ボディが続く。ここは,WebブラウザからWebサーバーにファイルなどの比較的大きなデータを送るときに用いる部分である。送るデータがないときは使われない。