全2030文字
PR

 第3回では、HTTPでやり取りされるメッセージの中身をのぞいてみる。これはいわば、WebブラウザーとWebサーバーの「会話の中身」である。どのような会話が交わされているのかを見てみよう。

1行目でメッセージの概要を伝える

 HTTPリクエストとHTTPレスポンスのメッセージはASCIIコードのテキストで表現されるので、人間が読むこともできる。図1に示したメッセージは、Webブラウザーが、www.exampleA.co.jpというWebサーバーにindex.htmlというデータをリクエストし、それにWebサーバーが応答した、1往復のやり取りの例である。

図1●HTTPメッセージの中身の例
図1●HTTPメッセージの中身の例
人間が理解できるテキストメッセージの形でやり取りされる。メッセージの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リクエストを送る。