Cookieとは何か? なぜ我々はログインしたままでいられるの? ──「Cookieを許可しますか」の本当の意味

通販サイトも、SNS も、会社の勤怠システムも ── 普段何気なく使っているこれらのページは、ブラウザを閉じて翌日開き直しても、あなたをログインしたまま迎えてくれます。ところが、その裏側で働くサーバーは、あなたを覚え続けてくれているわけではありません。むしろ実態は逆で、サーバーはあなたのことを忘れがち ── もっと言えば、リクエストに応えるたびに記憶をリセットしてしまいます。覚えてくれているのが当たり前に見える日常は、実はかなり不思議なことなのです。

では、なぜ我々はログインしたままでいられるのでしょうか。その答えが、どのサイトでも聞かれるあの「Cookie を許可しますか」の Cookie です。こんな心当たりがあれば、この先を読んでみましょう。

  • Cookie を許可しますか」のバナーを、意味が分からないまま毎回反射で押している
  • なぜログインしたままでいられるのか、逆になぜ突然ログアウトされるのかを説明できない
  • 別の PC やスマホで開くとログアウト状態になっている理由が分からない
  • 「Cookie を削除すると直るかも」と言われたが、削除すると何が起きるのか不安だ

この記事の約束は 2 つです。① 専門用語は多用しません。② 仕組みの解説で終わらず、同意バナーをどう押せばいいか・削除すると何が起きるかという実用判断まで行きます。

疑問本記事の該当章
サーバーが「忘れがち」ってどういうこと?§1
Cookie って結局何なの?§2
ログイン状態はどうやって維持されている?§3
「Cookie を許可しますか」は何を聞いている?§4
Cookie は危険なの?§5
削除するとどうなる?FAQ Q1
💡 Tip

当サイトの総集編 URLを入力してから画面が表示されるまで では、1 回のアクセスを「1 通のリクエストの往復の旅」として描きました。本記事はその続きの疑問 ── リクエストとアクセスは毎回完結するのに、なぜサイトはあなたを覚えているのかという疑問を紐解きます。

1. サーバーは毎回あなたを忘れている ── HTTP は「覚えない」仕組み

1-1. 1 通のリクエストの旅は、毎回そこで完結してしまう

あなたがホームページを開くと、リクエストが世界を旅してサーバーに届き、答えが返ってきます(詳しくは→ URLを入力してから画面が表示されるまで)。ここで大事なのは、この往復で旅は完結するということです。次にあなたがリンクを 1 つクリックすると、それは新しい 1 通の旅であり、サーバーから見れば完全に初対面のリクエストです。

比喩で言えば、サーバーは「接客が終わった瞬間に記憶が消える窓口係」です。あなたが 1 分間に 10 回訪ねても、窓口係は 10 回とも「いらっしゃいませ、初めてのお客様ですね」と応対します。この性質はステートレス(状態を持たない)と呼ばれ、HTTP という仕組みの基本設計です。

欠陥のように聞こえますが、これはわざとです。覚えない窓口は、誰が来ても同じ手順で捌けるので、単純で、速く、世界中からの大量の客を同時に相手にできます。「覚える」仕事を最初から捨てたことが、Web がここまで巨大になれた理由の一つなのです。

1-2. それなのに、なぜ「覚えられている」体験ができるのか

すると、おかしなことになります。ログインしたままでいられるのも、カートに入れた商品が残っているのも、ダークモードの設定が保たれているのも ── 窓口係が毎回初対面なら、全部起きないはずです。

記憶のない窓口と、実際の体験との食い違い

 仕組みの建前(ステートレス)
  1 回目: あなた ──> サーバー「初めまして」
  2 回目: あなた ──> サーバー「初めまして」    △ 毎回記憶ゼロ
  3 回目: あなた ──> サーバー「初めまして」

 実際の体験
  1 回目: ログインする
  2 回目: ログインしたまま             △ なぜか覚えられている
  翌日  : まだログインしたまま

この食い違いを埋めている仕掛けが、本記事の主役 Cookie です。先に答えを 1 行で言うと ── 覚えるのはサーバーではなく、あなたのブラウザの側なのです。

2. Cookie の正体 ── お店が渡す「会員証」

2-1. 店が覚えるのを諦めて、客に札を持たせる

記憶が消える窓口係でも、客を見分ける方法があります。客の側に札を持たせて、毎回見せてもらうことです。

Cookie はまさにこれです。あなたが初めてサイトを訪れると、サーバーは応答に「この札を持っていてください」というメモ(Cookie)を添えて返します。あなたのブラウザはその札を財布(PC の中の保管場所)にしまい、次に同じサイトへリクエストを送るとき、札を自動で添えて提示します。窓口係は記憶ゼロでも、札を見れば「ああ、この札を持っているお客様だ」と分かる ── お店が会員証を発行して、客が毎回それを見せる、という関係です。

札の実体は、短い文字列が書かれたただのメモです。プログラムではないので、札自体が何かを実行することはありません ── ここは §5 でもう一度大事になります。

2-2. 会員証のルール ── 同じ店にだけ、自動で提示される

会員証には 2 つの基本ルールがあります。

1 つ目は、発行した店にしか提示されないこと。サイト A がくれた札は、サイト A へのリクエストにだけ添えられます。八百屋の会員証を本屋で見せることはありません(── と §2 では言い切っておきます。§4 で、この原則の「抜け道」が同意バナーの正体だと分かります)。

2 つ目は、有効期限があること。札には 2 種類あって、「ブラウザを閉じたら捨てる札」(セッション Cookie)と、「指定の日付まで財布に残る札」(持続 Cookie)があります。「ログイン状態を保持する」のチェックボックスは、おおむねこの 2 種類の選択です。

会員証の往復 ── 発行から自動提示までの流れ

 初回訪問
  あなた ──「初めまして」──────────>  サイト A
  あなた <──「ようこそ。この札をどうぞ」── サイト A   △ 札の発行(Set-Cookie)

 2 回目以降
  あなた ──「こんにちは」+ [札] ──>  サイト A        △ ブラウザが自動で添える
  あなた <──「お帰りなさい」────── サイト A

 別の店へ行くとき
  あなた ──「初めまして」─────────>  サイト B        △ サイト A の札は添えられない

3. ログインが維持される仕組み ── 会員証には番号しか書いていない

3-1. 番号札と台帳 ── セッション ID の正体

「会員証を見せれば分かる」と言いましたが、札に名前やパスワードが書いてあるわけではありません。ログインの仕組みは、もう一段だけ巧妙です。

あなたがパスワードを入力してログインに成功すると、サーバーは自分の台帳に 1 行記入します ──「No.8472 のお客様 = あなたのアカウント、ログイン済み」。そして、その行番号だけを書いた番号札を渡します。以降のリクエストでブラウザが番号札を提示するたび、サーバーは台帳の No.8472 を引いて「ログイン済みのあなただ」と分かる ── この番号がセッション ID で、台帳がサーバー側のセッションです。

この方式の利点は 2 つあります。パスワードそのものは札に入っていないので、札を見られてもパスワードは漏れません(FAQ Q5)。そして、毎回パスワードを打ち直さなくても、番号札の提示だけで本人確認の続きができるのです。なお、この「番号札」はトークンと呼ばれる仕組みの一種です ── 当サイトのランダム文字列 8 種の使い分けガイドで、パスワードやハッシュとの違いを整理しています。

  1. 1ログインパスワードを確認。サーバーが台帳に 1 行記入する。
  2. 2番号札の発行行番号(セッション ID)だけを書いた札を Cookie として渡す。
  3. 3以降の訪問ブラウザが番号札を自動提示。サーバーは台帳と照合して「ログイン済み」と判定する。
  4. 4終了ログアウト(台帳の行を消す)か、札の期限切れで、初対面に戻る。

3-2. 「突然ログアウトされる」「別の PC では初対面」の謎が解ける

番号札と台帳が分かると、日常の謎が一気に解けます。

突然ログアウトされるのは、札か台帳のどちらかが失効したときです。札の期限が切れた、サーバー側が古い台帳の行を整理した、「全端末からログアウト」で台帳の行が消された、ブラウザの掃除で札を捨てた ── 理由はいろいろですが、起きていることは 1 つ。番号札と台帳の照合が成立しなくなったのです。

別の PC やスマホでログアウト状態になっているのは、札が「そのブラウザの財布」に入っているからです。財布が違えば札もない ── だから新しい端末では、もう一度パスワードからやり直しになります。同じ PC でもブラウザを変えると初対面になるのは、財布がブラウザごとに別だからです。

💡 Tip

台帳を持っている側 ── つまりサーバーとは結局何者なのか ── は、それだけで 1 本の記事になるテーマです。別の記事で扱う予定です。

4. 「Cookie を許可しますか」の正体 ── 広告会社の会員証

4-1. そのサイト専用の札だけなら、バナーは要らなかった

ここまでの会員証は、すべて「そのサイト専用」でした。サイト A の札はサイト A にしか提示されない ── この範囲で使われる Cookie は first-party Cookie(そのサイト自身の札)と呼ばれ、ログインもカートも設定の記憶もこれで動いています。正直なところ、世界にこれしか無ければ、あの同意バナーは生まれなかったでしょう。

4-2. サイトをまたいで同じ札を見せてしまう ── third-party Cookie と追跡

問題は、ページの中身が「そのサイト」だけで作られていないことです。多くのページには、広告枠やアクセス解析の部品として、よその会社(多くは広告会社)のパーツが埋め込まれています。ページを開くと、ブラウザはその部品を取りに広告会社のサーバーへもリクエストを送ります ── そして §2 のルールどおり、広告会社が発行した札は、広告会社へのリクエストに添えられます

ここに落とし穴があります。ニュースサイトにも、レシピサイトにも、通販サイトにも同じ広告会社の部品が埋まっていたら? あなたはどのサイトを開いても、同じ 1 枚の「広告会社の会員証」を見せて回ることになります。広告会社の台帳には「No.551 の人: ニュース → レシピ → 通販の靴のページ」と行動の足取りが溜まっていく ── 「昨日見た商品の広告が、別のサイトでも追いかけてくる」現象の正体がこれで、こうしたサイトをまたぐ札が third-party Cookie です。

first-party と third-party ── 札の見せ先の違い

 first-party(そのサイト自身の札)
  ニュースサイト ──> [ニュースの札]      △ そのサイトの中だけで完結する
  通販サイト   ──> [通販の札]

 third-party(広告会社の札)
  ニュースサイト ┐
  レシピサイト  ├── どのページでも ──> [同じ広告会社の札]
  通販サイト   ┘                      △ サイトをまたいで足取りが繋がる

「Cookie を許可しますか」のバナーが聞いているのは、主にここです。そのサイト専用の札(ログインや設定に必要なもの)は大抵「必須」として扱われていて、実際に選ばされているのは、広告・分析用の札を受け取るかどうかです。だから「拒否」を押しても、サイトの主要な機能は普通に使えます(FAQ Q3)。

なお、この追跡の仕組みには逆風が吹いていて、ブラウザ各社は third-party Cookie を段階的に制限・廃止する方向に動いています。札の原則(発行したサイトにだけ提示する)に立ち返る流れ、と覚えておけば十分です。

5. Cookie は危険なのか ── 札そのものは無害であり、危ないのは札の扱い

5-1. 線引き ── 無害な面と、注意する面

「Cookie = 危険なもの」というイメージは半分誤解で、半分は本当です。HTTPS 記事と同じく、線引きの表で整理します。

安心していい ✅注意が要る ❌
札の正体ただの短いメモ。プログラムではないので、ウイルスのように何かを実行することはない──
提示先発行したサイトにしか提示されない(first-party)──
経路上の盗み見札は秘密の箱(HTTPS)の中で運ばれ、途中では読まれない──
番号札の盗難──番号札を他人に使われると、パスワード無しであなたとしてログインされる ── 共有 PC でログアウトし忘れる危険の正体
行動の記録──広告会社の札(third-party)はサイトをまたいだ足取りの記録になる(§4)
削除の影響──札を全部捨てると、全サイトで初対面に戻る(FAQ Q1)

5-2. 実用判断のまとめ

表を日常の行動に翻訳すると、次の 3 つになります。

1 つ目 ── 共有 PC・他人の端末では、使い終わったら必ずログアウトする。ログアウトは台帳の行を消す操作なので、札が残っていても無効になります。閉じるだけでは札が財布に残ることがあります。

2 つ目 ── 同意バナーは、内容を選べるなら「必須のみ」や「拒否」で構いません。そのサイト専用の札は残るため、ログインも買い物も普通にできます。

3 つ目 ── Cookie 自体を怖がる必要はありません。札はメモであってプログラムではなく、経路上は秘密の箱が守っています。気を付けるべきは「札を物理的に他人に触らせない」ことと「どのサイトに足取りを見せるか」の 2 点だけです。

まとめ ── 4 行エッセンス

  • サーバーは毎回忘れる: HTTP はステートレス ── 窓口係の記憶は接客のたびに消える。覚えない設計だから速くて大規模にできる
  • Cookie は会員証: 覚えるのはブラウザの側。サイトが発行した札を財布に保管し、同じサイトにだけ自動で提示する
  • ログインは番号札と台帳: 札には行番号(セッション ID)だけ。パスワードは入っておらず、照合が切れたときが「ログアウトされた」とき
  • 同意バナーの本題は広告会社の札: そのサイト専用の札は必須扱い。選ばされているのはサイトをまたぐ追跡の可否で、拒否しても主要機能は使える

シリーズで読み繋ぐなら ── リクエストの旅の全体像は総集編、札を経路上で守る箱は HTTPS 記事、番号札(トークン)とパスワード・ハッシュの違いはランダム文字列ガイドへ。

FAQ

Q1. Cookie を全部削除するとどうなりますか?

A. すべてのサイトで「初対面」に戻ります ── 具体的には、全サイトからログアウトされ、カートの中身や「次回から表示しない」などの設定が消え、同意バナーがまた出るようになります。壊れるものはなく、もう一度ログインし直せば元どおり使えます。「サイトの調子が悪いとき Cookie 削除を試す」と言われるのは、古い札と台帳の食い違いをリセットできるからです。

Q2. シークレットモード(プライベートブラウズ)では何が起きていますか?

A. 「期間限定の名札」で過ごすモードです。シークレットウィンドウの中で受け取った会員証や番号札は、すべて有効期限が「ウィンドウを閉じるまで」の名札になり、閉じた瞬間にまとめて失効します ── だから履歴も札も端末に残りません。ただし、名札を付けている間の見え方は普段と同じです。そのウィンドウでログインすれば、名札にはあなたの名前が載り、サイトの台帳からは普段どおりあなただと分かります。旅の途中(ネットワーク)から見えるものも変わりません。「匿名になる」のではなく、あなたの端末に何も残らないことだけが変わるのです。

Q3. 同意バナーで「拒否」を押すと、サイトは使えなくなりますか?

A. ほとんどの場合、普通に使えます。バナーが選ばせているのは主に広告・分析用の札(third-party)で、ログインやカートに使うそのサイト専用の札は「必須」として拒否の対象外になっているのが一般的です(§4)。拒否したのに広告が出続けることはありますが、それは「あなたの足取りに合わせていない広告」が出ているだけです。

Q4. Cookie とキャッシュは何が違いますか? よく一緒に削除されますが。

A. 役割が別物です。Cookie は「あなたが誰か」を伝える会員証で、キャッシュは「一度受け取った荷物(画像など)の使い回し」です。削除したときの影響も違っていて、Cookie を消すとログアウトされ、キャッシュを消すと表示が一時的に遅くなります。キャッシュの仕組み ──「更新したのに反映されない」の正体 ── は、それだけで 1 本の記事になるテーマなので、今後の記事で扱う予定です。

Q5. Cookie の中にパスワードそのものが入っているのですか?

A. 入っていません。§3 で見たとおり、札に書かれているのは台帳の行番号(セッション ID)だけで、パスワードはログインの瞬間に確認へ使われた後、札には載りません。ただし「パスワードが入っていないから安全」とは言い切れません ── 番号札そのものが盗まれれば、有効期限内はあなたとして振る舞えてしまいます。札を守る基本は、共有 PC でのログアウトと、端末自体に他人を触らせないことです。

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です