HTTPヘッダーを知っていますか?

2010.01.19

IT・WEB

HTTPヘッダーを知っていますか?

安田 英久
株式会社インプレスビジネスメディア Web担当者Forum編集長

今日は、少し技術的な話ですが、Web担当者も知っておくといい知識を。テーマは「HTTPヘッダー」です。知らなくてもWebサイトは作れますが、知っておくとサイト上での仕組み作りの視野が広がるかもしれません。

ブラウザでWebページを表示するときに、ブラウザはWebサーバーと通信しています。そのときに使われるのが「HTTP」というルールです。

HTTPは「HTTPリクエスト」と「HTTPレスポンス」に分けて考えます。ブラウザがサーバーに「このページを見たい」と頼む通信が「HTTPリクエスト」で、そのリクエストに応えてサーバーがブラウザに返す通信が「HTTPレスポンス」です。

HTTPリクエスト

まず、ブラウザサーバーの「HTTPリクエスト」から説明しましょう。

HTTPリクエストはブラウザが送るものですから、HTTPリクエストを作るのはブラウザです。サーバーは、受け取ったHTTPリクエストの内容からどんな情報を返すかを判断します。

HTTPリクエストには「HTTPリクエスト行」「HTTPヘッダー」「データ本体」の3つのパートがあります。

・HTTPリクエストの1行目が、リクエスト内容を示す「HTTPリクエスト行」です。ここには、「メソッド」「URL」「HTTPのバージョン」の3つの情報が含まれています。

「メソッド」はWebではほとんどの場合「GET」で、この場合、HTTPリクエストでは「データ本体」は送られません。メソッドが「POST」の場合(フォームから情報を送信するなどでmethod="POST"が指定されている場合)は、HTTPヘッダーの後にデータ本体が続きます。

・2行目以降が「HTTPヘッダー」で、次のようなものが代表的です。

 ・ユーザーエージェント名(User-Agent)
ブラウザの種類やOSの情報。アクセスしているのがブラウザではなく検索エンジンのクローラの場合、「Googlebot」などの名前が入ります。

 ・リファラ(Referer)
どのページから発生したリクエストなのかを示します。よく知られているのは、ページAにあるリンクをクリックしてページBに行った場合に、ページBへのHTTPリクエストにリファラーとしてページAが入ることです。ほかにも、ページCを表示する際にページ内で使われている画像をリクエストする際に、画像のHTTPリクエストにリファラーとしてページCが入っています。

 ・更新されていたら(If-Modified-Since)/同じでなければ(If-None-Match)
ブラウザは、一度表示したデータを「ローカルキャッシュ」として保存しておき、同じデータは何度も通信して取得しなくてもいいようにしています。そのときに、ローカルキャッシュのデータが変更されていないかチェックするために、ファイルの変更日付や管理情報をリクエストに含めておきます。すると、「更新されていなければその旨教えて」という意味になります。

Ads by Google

この記事が気に入ったらいいね!しよう
INSIGHT NOW!の最新記事をお届けします

安田 英久

株式会社インプレスビジネスメディア Web担当者Forum編集長

企業のウェブサイト活用やウェブマーケティングに関するメディア「Web担当者Forum」(http://web-tan.forum.impressrd.jp/)を運営しています。

フォロー フォローして安田 英久の新着記事を受け取る

一歩先を行く最新ビジネス記事を受け取る

ログイン

この機能をご利用いただくにはログインが必要です。

ご登録いただいたメールアドレス、パスワードを入力してログインしてください。

パスワードをお忘れの方

フェイスブックのアカウントでもログインできます。

INSIGHT NOW!のご利用規約プライバシーポリシーーが適用されます。
INSIGHT NOW!が無断でタイムラインに投稿することはありません。