WEB担当者なら知っておきたいHTTPヘッダーの話

このブログも所属カテゴリーをテクノロジーにしているので、今日はちょっと技術的なことを書こうと思います。

 

技術的といっても別に難しい話ではなく、今回はHTTPってよく聞くけど何者なの?って方に向けて簡単に概要を書いていこうと思います。

 

普段閲覧しているWEBページは、基本的に自分のPC内に保存されているものではなく、WEBページを提供している個人または企業・団体が保有しているサーバーに保存されています。

 

なので、みなさんがWEBページを見たいときは、その都度サーバーに見たいコンテンツを要求する必要があります。

 

WEBページを表示する仕組みとして、ブラウザ側(PC)から表示したいコンテンツに関する要求をサーバー側にし、サーバー側がそれに応じることでデスクトップ等に出力されています。

 

その一連の通信方法の取り決めのことをHTTP(HyperText Transfer Protocol)といいます。ハイパーテキスト(htmlなどのコンテンツのこと)をトランスファー(通信)するためのプロトコル(取り決め)ですね。

HTTPとは

HTTPとは、Webサーバと、Webブラウザなどのクライアントがデータを送受信する際に使われる通信上の約束ごとのこと。

HTTP - インターネット用語辞典 - | OCN

 

その際、ブラウザ側からの要求を「リクエスト」、サーバー側の返答を「レスポンス」といいます。

f:id:shg-yuichi:20170416173118j:plain

よく見るHTTPステータスコード一覧とその意味を理解する | SEO HACKS公式ブログ

ブラウザが、「このページを見たいから送って!」とサーバーに要求し、サーバーが「分かった!今送るね!」と言ってブラウザ側にデータを送信するイメージです。

 

HTTPリクエスト

とはいっても、単純にこのページを見たいから送って!っと言われてもサーバー側は困ります。

 

学校で違うクラスの知らない人に、ノート見せろ!と言われても、お前誰やねん!ってなりますよね。

 

WEBの世界でも同じで、サーバー側は要求されたブラウザが信用できるものなのか、どんな属性を持ったブラウザなのか、以前来たことがあるのか、といった情報がないと簡単に自分のコンテンツを提供するわけにはいきません。

 

そこでブラウザからの要求、HTTPリクエストでは大きく分けて以下の3つの情報を合わせてサーバー側に送ります。

①HTTPリクエスト行

②HTTPヘッダー

③データ本体

 

各情報の詳細はこちら

①HTTPリクエスト行

 ・メソッド

メソッドに関しては以下の記事が参考になります。

myenigma.hatenablog.com

 ・URL

表示してほしいWEBページのURL

 ・HTTPのバージョン

 

②HTTPヘッダー

 ・ユーザーエージェント

自身のブラウザの種類やOSの情報です。

 ・リファラ

リクエスト元のページ

 ・キャッシュ情報

ページ情報の更新日付などが含まれます。

詳細はこちら

www.orixbank.co.jp

 ・クッキー

以前もリクエストしたことがあるか、といった管理情報です。

ちょっと長いですがこちらも参考までに

itpro.nikkeibp.co.jp

 ・どんな情報を受け取りたいのか

 画像の種類や文字コードなど。

③データ本体

 ・メソッドがPOSTの際のサーバに受け渡すデータ

ページ中に埋め込まれたフォームから送るデータなどのことです。

↓こういうやつ

f:id:shg-yuichi:20170417133044p:plain

 

Webformモジュールの使い方(Drupal6) | Drupalサイト制作・構築の Web Go! Go!

 

 

HTTPレスポンス

HTTPレスポンスは、HTTPリクエストで受け取った情報を元にブラウザ側に返答を送信します。このHTTPレスポンスも同じく大きく分けて3つの情報に分けることができます。

 

①レスポンス状態行

 ・状態コード(HTTPステータスコード

状態コードとは、リクエストされたページの状態に関する情報です。

詳細はこちら

www.marineroad.com

 

②HTTPヘッダー

・コンテンツタイプ

送信するデータが画像なのか、HTMLなのかといった情報です。

・再利用期限

キャッシュに関する情報で、この期限内であればブラウザはサーバーに再度リクエストせずに表示することができます。

・データの最終更新日付

送信するデータがいつ更新されたのかといった情報です。

・キャッシュ制御

キャッシュをどういう風に扱うかといった情報です。

・接続状況

毎回接続するのか、接続を持続するかといった情報。

・移動先

リダイレクト先情報です。

詳細はこちら

wa3.i-3-i.info

③データ本体

データの本体は実際にディスプレイに出力されるHTMLなどのことです。

 

まとめ

以上がHTTP通信に関する超ざっくり説明です。リクエストとレスポンスでどういった情報のやりとりがされているのか知ることで、WEBに関するリテラシーが上がるので知っておいて損はないかと思います。

 

もっと詳細に知りたいって方はこちらの記事がとても参考になります。僕もWEBに関する知識はこのWEB担当者forumさんの記事からよく仕入れています。

web-tan.forum.impressrd.jp

 

結構だーっと書いてしまったので、わかりづらくてすみません。 自己満記事になってしまいましたね。たまにはこんな感じの技術よりの記事も書いていこうと思います。