デザイン・コーディング

HTTPヘッダーとは?情報の種類と見方を解説!

Webページを閲覧してる間は、HTTP通信と呼ばれる通信が行われることで、指定のWebページが表示されます。HTTP通信において、やりとりされている情報はWebページに表示されるデータ本体だけではありません。

表示はされませんが、実は裏側で、HTTPヘッダーとよばれるテキストデータも送受信されています。HTTPヘッダーの情報は、Web担当者にとっても重要な情報ですので、ここではHTTPヘッダーの見方について解説します。

https

目次

HTTPリクエスト(ブラウザ→サーバーに送信)とは

HTTP通信のHTTPとは、WebページのURLを示すhttp://・・・のHTTPです。このHTTP通信では、ブラウザからサーバーに対して依頼を行う「HTTPリクエスト」と、それに応えてサーバーがブラウザに返す返答「HTTPレスポンス」から成り立っています。

まずはHTTPリクエストの中身から詳しく見ていきましょう。HTTPリクエストは次の3つのパートから構成されます。

HTTPリクエスト

HTTPリクエストの1行目には、「メソッド」「URL」「WebブラウザがサポートしているHTTPのバージョン情報」の3つの情報が伝えられます。もっとも基本的な情報をまずやり取りしているということが言えます。

HTTPヘッダー

2行目以降のHTTPヘッダーには、主に次のような情報が含まれています。たとえば、Webサイトのアクセス解析を行うソフトなどは、このHTTPヘッダーの情報を収集することで解析を行っています。

User-Agent(ユーザーエージェント)

ユーザーエージェントは、ブラウザの種類やOS情報、検索エンジンクローラの名前などを示します。

Referer(リファラ)

どのページから生したリクエストなのかを伝えます。

Cookie(クッキー)

ブラウザを特定するための小さなデータがCookieです。このCookieはHTTPヘッダーに含まれてサーバーに送信されています。

Accept、Accept-Language、Accept-Encoding、Accept-Charset

どのようなデータを受け取りたいのか、言語、文字コード、画像の種類などの情報が含まれています。多言語対応のサイトがある場合、サーバーはこの情報を元に適切な言語で返したりすることができます。

If-Modified-Since / If-None-Match

ブラウザに保存されているローカルキャッシュが変更されているかどうかを問い合わせています。

データ本体

フォームなどから、メソッドに「POST」が指定されている場合、ここでフォームの内容が送信されます。送るデータがない場合もあります。

HTTPレスポンス(サーバー→ブラウザに送信)とは

サーバーからブラウザに返す返答「HTTPレスポンス」には、「レスポンス状態」「HTTPヘッダー」「データ本体」の3つのパートから構成されます。

cookie

レスポンス状態

HTTPレスポンスの1行目には、成功したとかエラーになったといった処理結果が示されます。この状態は3桁の数字で示されるため「HTTPステータスコード」とも呼ばれます。知っておくべき主要なHTTPステータスコードの意味を挙げておきます。

200番台は成功
 200:OK、データを送ります

300番台はリダイレクト
 301:新しい場所から取得してください
 304:変更されていません(一度見ているのでデータ本体は送らない)

400番台はクライアント側のエラー
 401:ユーザー認証が必要です
 404:見つかりませんでした

500番台はサーバー側のエラー
 500:内部エラー

この中で、HTTPステータスコードの404は最も有名なのではないでしょうか。Webページにアクセスした際に、そのページがないことを表示するメッセージとして、「404 Not Found」という言葉が使われることがよくありますが、この404は、HTTPステータスコードを表しているのです。

HTTPヘッダー

ステータス行に続くHTTPヘッダーには、Webサーバーがより詳細な情報をWebブラウザに伝えています。たとえば次のような情報が入っています。

HTTPのバージョン

HTTPという通信手段には、1.0や1.1など複数のバージョンが存在し、どのバージョンを使用して通信するかをサーバー側から教えてくれます。

Content-Type

データがHTMLか画像か、文字コードなどといった情報を教えてくれます。

Expires

ブラウザが取得したデータを、サーバーに問い合わずに再利用してよい期間、つまりコンテンツの有効期限に関する情報を教えてくれます。

Last-Modified / ETag

データの最終更新日時と更新チェック情報を教えてくれます。

Location

リクエストと違う場所からデータを取得した場合の新しい場所のURL。いわゆるリダイレクト先を示す情報です。

データ本体

ブラウザに表示されるWebサイト、HTMLソースコードや画像などのデータです。

HTTPヘッダーの閲覧方法

ここまでお読みいただき、Webページが表示される際には、通常、表示されないような情報もたくさんあることが、おわかりいただけたかと思います。しかしながら、これらHTTPヘッダーやHTTPステータスコードは、ブラウザのWeb開発ツールあるいはアドオンなどを使って、だれでも簡単に見ることができます。

たとえばFireFoxユーザーなら「Live HTTP Headers」をインストールすれば、分かりやすい形でHTTPヘッダー情報をのぞき見ることができます。ご興味のある方は、是非ご覧になってみてください。

Live HTTP Headers
https://addons.mozilla.jp/firefox/details/3829

関連記事

この記事の著者

itra
ITRA株式会社

官公庁や大手企業を中心とした大規模なWebサイトを総合的にプロデュースするWeb制作会社。デザインからシステム、サーバーまでWebサイトに関わるお客様の悩みを解決します。

初めて使う人にも使いやすく、セキュリティレベルの高いCMSパッケージ「iCMS」

詳しくはこちら
itra