
Webサイトの「Cookie」の由来は、お菓子ではなく「魔法のクッキー」だった
最近子供がクッキーの味を覚えてしまい、「○○のクッキーちょうだい!」と頻繁にリクエストされては、頭を抱える日々。

子供ながらに、ちゃんとお気に入りを「記憶」してるんだな…とぼんやり考えていたところ、ふと
…クッキーのリクエスト?特定の情報を記憶?
まさか、WebサイトのCookieの由来はお菓子のクッキーで、同じようなシチュエーションから生まれた言葉なのか?!と閃いてしまいました。
Cookieとは、Webサイトの隅っこや下に「Cookieを受け入れてください」なんてメッセージがよく出てくる、あれです。サイト側が、我々のことを「記憶」しておくための仕組みで、Ops TodayのCookie周りの設定も筆者が行っています。
結論から言うと由来はお菓子のクッキーではない事が判明し、あの閃きは何だったのか…と軽く落ち込みました。本日は、WebサイトのCookieの由来は何か?という小話です。
そのルーツは、UNIXの「魔法のクッキー」
冒頭に記載の通り、この「Cookie」という名前はお菓子のクッキーから直接取られたわけではありません。そのルーツは、現存する中で最古とも言われるOS「UNIX(ユニックス)」で使われていた「Magic Cookie(魔法のクッキー)」という用語にあります。
この「Magic Cookie」は、プログラム同士が情報をやり取りするときに使用する、特別なデータ片のこと。
まるで「開けゴマ!」の呪文のように、プログラムがこのデータを受け取ると、特定の処理が実行されたり、「この人はさっきも来た人だな」とユーザーを識別したりすることができる、いわば秘密の合言葉のようなものです。

Webブラウザへの応用
さて、このUNIXの世界で生まれた「Magic Cookie」という賢い仕組みが、なぜWebの世界にやってきたのか?話は1994年に遡ります。
当時のWebサイトは、良くも悪くも「記憶力」がゼロ。いわゆるステートレス(状態を持たない)で、ページを移動するたびに、サーバーは「はじめまして。どちら様ですか?」と、こちらのことをすっかり忘れてしまうのです。

当時、ネットスケープ・コミュニケーションズという会社に在籍していたプログラマーのルー・モントゥーリ氏は、ECサイトで「カートに商品を入れたのに、ページを移動すると中身が空になる」という、今では考えられないような問題に直面していました。
そこで彼は、UNIXの「Magic Cookie」の仕組みをWebに応用することを思いつきます。
サーバーがユーザーのブラウザに、この「魔法のクッキー」を預けておく。そしてユーザーが再びサイトを訪れたとき、ブラウザが「預かっておいたクッキーです」とサーバーに渡す。
このおかげで、サーバーは「Aさん、また来てくれたんですね!カートには例の商品が入ったままですよ」と、ユーザーの状態を覚えていられるようになったのです。

ログイン状態を保ったり、言語設定を維持したりできるのも、この健気なCookieのおかげです。
そして、このWeb版「Magic Cookie」は、いつしか単に「Cookie」と呼ばれるようになり、今やWebではなくてはならない存在になりました。
まとめ
というわけで、WebサイトのCookieの由来は、我々の「お気に入り」を覚えておいてくれる、賢くて健気な仕組みだった、というお話でした。
普段何気なく使っている言葉の裏側を覗いてみると、こんな風に昔のエンジニアたちの知恵と工夫が隠れていて、なんだかワクワクしてきませんか?
さて、Cookie(お菓子の方)を片手に今日も頑張ります!