はじめに
「Cookieの使用に同意しますか?」という通知、毎回なんとなく「同意する」を押していたぷらむんが、ITパスポートの勉強中にその正体を調べてみた話です。
こんにちわ、会社で自称マスコットキャラをやってるのに、社内で一番空気が読めない、ぷらむんです🐯
Webサイトを開くたびに出てくる「Cookieの使用に同意しますか?」というポップアップ、みなさんも見たことありますよね。ぷらむん、正直よくわからないまま毎回「同意する」を押していました。
そんな中、今日もITパスポートの過去問を解いていたら、「Cookie」という言葉に遭遇。
最近Cookieの説明をしながら、🍪をたくさん食べる人をInstagramで見たばっかりだったので、意味がこんがらがってよくわからなかったです…。
なんでそんなややこしい名前にしたんですか。そしたらプラ二郎先輩がクッキーについて教えてくれました。
ーこんな人に読んでほしいー
🟠 「Cookieの使用に同意しますか?」という通知は見るけど、正直よくわかっていない
🟠 なぜお菓子と同じ「Cookie」という名前がついているのか気になる
🟠 Cookieを削除すると何が起きるのか知りたい
🟠 あの同意バナー、そもそも何のためにあるのか気になる
【この記事が前提です】
▶ 「アーキテクチャ」って結局何?ITパスポートのEAを調べてみた
▶ ITパスポートと基本情報の違いは?どちらを勉強すべき?
【参考になるおすすめサイト】
▶ IPA ITパスポート試験 過去問題(公開問題)
▶ ITパスポート過去問道場
🐯プラ二郎先輩に「Cookieって結局なに?」と聞いてみた
🧑💻:プラ二郎先輩
「Cookie?お菓子のことしか浮かばなかったなら、由来を知ったら意外と納得できるかもね」
🧑💻:プラ二郎先輩
「ITパスポートだとこんな感じの問題で出てくるよ」
そう言って、先輩が見せてくれたのがこの問題でした。
🐯ITパスポートの「Cookie」に関する類似問題を解いてみた
Q. Webサイトが訪問者のブラウザを通じて端末に一時的に保存する、ログイン状態や閲覧履歴などの小さなデータとして、最も適切なものはどれか。
① キャッシュ
② Cookie
③ プロキシ
④ CDN(コンテンツデリバリーネットワーク)
答えを見る
正解: ②Cookie
Cookieは、Webサイトがブラウザを通じてユーザーの端末に一時的に保存する小さなデータで、ログイン状態や設定情報などを記憶するために使われます。
①キャッシュは、表示速度を上げるためにページのデータなどを一時的に保存しておく仕組み
③プロキシは、クライアントとサーバーの間に立って通信を仲介するサーバー
④CDNは、世界各地に配置したサーバーを使ってコンテンツを効率よく配信する仕組み
🧑💻:プラ二郎先輩
「正解!でも、なんでこの名前なのかは知らないでしょ」
そうなんですよ。正解はできたものの、「Cookie」ってなぜこんな名前なのか、全然説明できる気がしません。
🐯そもそも「Cookie」ってなぜお菓子の名前なの?
🧑💻:プラ二郎先輩
「実はCookieという名前、1994年にアメリカのネットスケープ社にいたエンジニアが考えたんだけど、その人が新しく思いついた言葉じゃないんだ」
「え、じゃあ元々あった言葉なんですか?」
🧑💻:プラ二郎先輩
「そう。『マジッククッキー(magic cookie)』っていう言葉が、1979年頃からUNIXやC言語の世界ですでに使われていたんだ。プログラム同士が情報をやり取りするときの、中身は空でも意味を持つ小さなデータの塊、を指す業界用語だったんだよ」
「じゃあ、なんでそれを『クッキー』って呼んでたんですか…?」
🧑💻:プラ二郎先輩
「実はそこは今もはっきりしていなくて、諸説あるんだ※。そのエンジニアは大学の授業でこの『マジッククッキー』という言葉を知って、Web用の新しい仕組みを作ったときに『これ、あの概念と似てるな』と思って、そのまま名前を借りたらしいよ」
ぷらむん、そこでようやく合点がいきました。Cookieはお菓子から発想された名前ではなく、もっと前からあったコンピュータ用語を、アメリカのネットスケープ社のエンジニアがそのまま借りてきただけだったんですね。まさか語源の語源があったとは思いませんでした。
※諸説の一つに「フォーチュンクッキー」との関連を挙げる説もありますが、なぜ「クッキー」と呼ばれ始めたか自体は正確には分かっていません。
🐯結局Cookieって何をしてるの?日常で例えると
「由来はわかったんですけど、実際どんな役割をしているのか、まだふわっとしてます…」
🧑💻:プラ二郎先輩
「例え話をすると、Cookieは、行きつけのお店でもらう会員カードみたいなものだよ」
🧑💻:プラ二郎先輩
「初めて行くお店では、店員さんはこっちのことを何も知らない。でも会員カードを見せれば、『あ、いつものお客さんですね』ってすぐ分かってもらえるでしょ。Cookieも同じで、一度ログインしたサイトに再びアクセスしたとき、ブラウザに保存されたCookieを見せることで、サイト側が『あ、このユーザーだ』と判断できるんだ」
「なるほど、だから一度ログインしたら、次にサイトを開いてもいちいちログインし直さなくていいんですね」
🧑💻:プラ二郎先輩
「そのとおり。ほかにも、ネットショッピングの『買い物かご』に商品を入れたまま他のページに移動しても中身が消えないのも、Cookieが情報を覚えておいてくれているおかげだよ」
🐯Cookieを消すとどうなるの?同意バナーって何のためにあるの?
「じゃあCookieを消しちゃうと、会員カードを失くしたみたいな状態になるんですか?」
🧑💻:プラ二郎先輩
「まさにそのイメージ。Cookieを削除すると、サイトはもう一度こちらを『初めて来た人』として扱うから、ログインし直しになったり、買い物かごの中身が消えたりするよ」
「あと、サイトを開くたびに出てくる『Cookieの使用に同意しますか?』ってやつ、あれは結局何のためにあるんですか?
Googleが全サイトに義務付けてるみたいなイメージ があったんですけど」
🧑💻:プラ二郎先輩
「そう思ってる人、結構多いんだけど、実はGoogleが独自に決めているルールじゃないんだ。EUの『ePrivacy指令』や『GDPR』っていう法律で、サイトがユーザーの端末にCookieなどで情報を保存・アクセスする際は、事前に明確な同意を得ることが義務付けられているのが根本の理由だよ※」
「じゃあ、あの通知はGoogleというより法律のせいだったんですね…」
🧑💻:プラ二郎先輩
「そういうこと。ただ、Googleは自社の広告・解析サービスを使うサイト運営者に対して、この法律に沿った同意取得を求めるポリシーを設けているから、結果的に『Googleが確認しているように見える』側面もあるんだ」
ぷらむん、怖いくせに天邪鬼で、妙に意地を張って毎回拒否していたあの「同意する」ボタンに、こんな法律的な背景があったとは知りませんでした。
※ログインの維持など、サービス提供に必須なCookieは同意の対象外とされています。
🐯振り返ってみて感じたこと
正直、最初は「Cookie=お菓子と同じ名前のなぞの通知」くらいにしか思っていませんでした。
でも調べてみると、名前の由来にはさらにその前の由来があり、あの同意バナーにもちゃんとした法律的な理由がありました。
普段何気なく押しているボタン一つにも、たどっていくとちゃんとした歴史や理由があるんだな、というのが今回の発見でした。
ー今回学んだことをまとめるとー
🟠 Cookieは、Webサイトがブラウザを通じてユーザーの端末に一時的に保存する小さなデータで、ログイン状態などを記憶するために使われる
🟠 「Cookie」という名前は、1979年頃からUNIX・C言語の世界にあった「マジッククッキー」という業界用語を、1994年にアメリカ・ネットスケープ社のエンジニアがそのまま借りて名付けたもの
🟠 「Cookieの使用に同意しますか?」という通知は、EUのePrivacy指令・GDPRという法律に基づく仕組みで、Googleが独自に決めたルールではない
🦁おわりに
PRUMのエンジニアの多くは未経験からの採用です。ぷらむんのような新人がのびのび成長できる環境が気になった方は、ぜひコーポレートサイトも覗いてみてください。
▶ PRUM採用ページ
エンジニアの方に役立つ記事をまとめたサイトも運営しています。よければこちらもどうぞ。
▶ エンジニアに役立つ記事サイト
また今度、ぷらむんの奮闘記をシェアします。ここまで読んでくれてありがとうございました🐯



