第3回では、HTTPでやり取りされるメッセージの中身をのぞいてみる。これはいわば、WebブラウザーとWebサーバーの「会話の中身」である。どのような会話が交わされているのかを見てみよう。
1行目でメッセージの概要を伝える
HTTPリクエストとHTTPレスポンスのメッセージはASCIIコード▼のテキストで表現されるので、人間が読むこともできる。図1に示したメッセージは、Webブラウザーが、www.exampleA.co.jpというWebサーバーにindex.htmlというデータをリクエストし、それにWebサーバーが応答した、1往復のやり取りの例である。
HTTPリクエストの全体は、三つの部分に分かれる。①リクエスト行、②メッセージヘッダー、③メッセージボディである。
この中で最も大切なのは、1行目にある①のリクエスト行である。この1行で、Webサーバーにどんな処理をしてほしいかを伝えている。右図のケースでは「GET /index.html HTTP/1.1」と記述される。
先頭にある「GET」の部分はメソッドと呼ばれ、Webサーバーに対する要求を示す情報である。GETは「データを送ってほしい」という要求を伝えるときに使う。続く「/index.html」はパス名で、どこのどんな名前のデータが欲しいのかを伝えている。「/index.html」は、ルート▼にあるindex.htmlというデータを示している。最後の「HTTP/1.1」は、WebブラウザーがサポートしているHTTPのバージョンである▼。
②のメッセージヘッダーは対応している言語やエンコード方式などの詳細情報が入る。③のメッセージボディは、WebブラウザーがWebサーバーにデータを送るときなどに使う。例えばWebブラウザーは、データの受信を要求するだけでなく、データを送ることもできる。この場合「POST」というメソッドを使い、メッセージボディ部分にデータを入れてHTTPリクエストを送る。