PR

 HTTPは、Webでのデータのやりとりに特化したプロトコルだ。例えばWebブラウザーでWebサーバーにアクセスする場合、WebブラウザーがWebサイトを構成するHTMLなどのファイルを要求し、Webサーバーが要求されたファイルを返信する。Webブラウザーが送るのがリクエストメッセージ、それに応じてWebサーバーが返すのがレスポンスメッセージである(図3-1)。

図3-1●HTTP通信の基本
図3-1●HTTP通信の基本
クライアントがリクエストメッセージを送り、それに応じたレスポンスメッセージをWebサーバーが返す。リクエストメッセージに含まれるメソッドはWebサーバーで実行したいアクションを指定する。レスポンスメッセージにはレスポンスの意味を表す3桁の数字であるステータスコードが含まれる。例えば、GETメソッドでWebページをリクエストすると、リクエストが成功した場合はOKを表す200というステータスコードとWebページの内容が返ってくる。
[画像のクリックで拡大表示]

 HTTPでは、リクエストメッセージは基本的には「メソッド」「アクセス先」「HTTPのバージョン」「リクエストヘッダー」の4種類の情報を含む。メソッドはコンピューターに対する指示を表すもので、Webサイトの閲覧の際にはGETというメソッドを使う。

 アクセス先としては、Webサーバー内のファイルの位置(パス)を記述する。ファイル名を省略すると、Webサーバーがデフォルトで設定したファイルを指定したことになる。「index.html」や「index.htm」であることが多い。そのWebサイトのトップページにアクセスしたい場合には、階層の一番上を表す「/」を指定する。

 リクエストヘッダーに含まれるホストの指定は、HTTP/1.1から追加された。HTTP/1.1は同じIPアドレスを複数のドメインで共有するバーチャルドメインに対応しているので、ホスト名でWebサイトを区別する必要がある。

 一方、レスポンスメッセージには、HTTPのバージョンに加えて「ステータスコード」とその説明、「レスポンスヘッダー」「レスポンスボディー」が含まれる。ステータスコードはリクエストの結果を表すもの。レスポンスヘッダーには、返信するファイルの種類(コンテントタイプ)などの情報が含まれる。レスポンスボディーの部分にはHTMLなどのファイルを格納する。

 Webブラウザーは、受け取ったHTMLの内容からWebページに必要な画像などのファイルを知り、そうしたファイルをさらにHTTPでWebサーバーに要求する。