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

図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サーバーに要求する。

この先は有料会員の登録が必要です。「日経NETWORK」定期購読者もログインしてお読みいただけます。有料会員(月額プラン)は初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら