HTTPについて
HTTPの役割
WebサーバとWebブラウザは、HTTP(Hyper Text Transfer Protocol)と呼ばれるプロトコル(手順)に従ってWebページを送受信します。HTTPは、通信に必要な内容を含む「HTTPヘッダ」と、HTMLコンテンツを含む「HTTPボディ」で構成されます。郵便物に例えると、封筒に書いてある宛先や差出人の情報がHTTPヘッダ、封筒の中身がHTTPボディ、となります。
HTTPボディはWebブラウザの描写結果としてユーザーの目に直接触れますが、HTTPヘッダをユーザが見ることはありません。下記はFireFoxのHTTPFoxというプラグインを使って表示したHTTPヘッダの内容です。HTMLファイル以外にも、画像やCSS・JavaScriptなど様々なデータがやり取りされていることに気づくでしょう。
なお、HTTPヘッダとHTMLヘッダは名前が似ているために混同されることが多いですが別物です。注意しましょう。
HTTPの要求ヘッダと応答ヘッダ
HTTPヘッダには、WebブラウザからWebサーバにコンテンツを要求するときに送信される要求ヘッダと、WebサーバからWebブラウザから配信されるコンテンツと一緒に送られる応答ヘッダ、の2種類があります。
URL
Webサイトにアクセスするには、そのサイトのURLが必要となります。URLとは「Uniformed Resource Locater」の略称で、Webページにアクセスするための「アドレス(住所)」とも言えます。郵便物に誤った住所を記載すると宛先不明で戻ってくるように、不適切なURLをWebブラウザに入力してもWebサイトへアクセスできません。下記はURLの構成です。
参照元(referer)
アクセス解析で「どのページから訪問してきたのか?」「どんなキーワードで検索されたのか?」といったことを調べるときに使われるのが参照元(リファラー/Referer)と呼ばれるリンク元ページのURLです。利用者がページAにあるリンクをクリックしてページBに移動(遷移)した場合、ページBの参照元はページAとなります。
参照元はHTTPの要求ヘッダに含まれるため、Webサーバは要求されたページがどこから参照されたのかを知ることができます。
Cookieについて
Cookieの動作原理
Cookieとは、WebサーバがWebブラウザに保存できる情報(もしくは情報を入れる枠)のことです。
Cookieを使うことで、Webサーバはアクセスしてくる無数のWebブラウザを「色分け」することができます。これにより、会員ページのように利用者ごとにカスタマイズされたWebページを配信したり、ショッピングカートのように利用者の行動(カート投入)を保持することが可能となります。
実際には、セキュリティ上の理由からCookieの中に情報を直接記録せずにサーバ側で必要な情報を保持します。
ファーストパーティCookieとサードパーティCookie
サイト運営者には便利な技術とも言えるCookieですが、自分の知らないところで情報のやりとりが発生していることに違和感を感じるユーザーも少なくありません。なぜなら、Cookieを利用すれば、複数のWebサイトにまたがったユーザーの行動を、ユーザーが意識しない『第三者』が追跡することが可能となります。
だからといって、すべてのCookieを無効にしてしまうと、ショッピングカートなどWebサイトの機能が使えなくなってしまうため、自分がアクセスしたサイト(ドメイン)で発行されるCookieをファーストパーティCookie、それ以外のサーバ(ドメイン)でやり取りされるCookieをサードパーティCookie、と区別し、ユーザーが利用できるCookieを選択できるようになりました。これにより、ユーザーはWebサイトを利用するために必要なCookieだけを許可することができます。
各ブラウザの標準状態におけるサードパーティCookieの受け入れ可否は次の通りです。
- ChromeとFirefox:(現時点では)サードパーティCookieを受け入れ
- インターネットエクスプローラ:P3Pという規格に従ったサードパーティCookieのみ受け入れ
- Safari:デフォルトでサードパーティCookieを拒否





