パソコンは、どうやって「まえの せってい」を おぼえて いるの?

パソコンは、どうやって「前の設定」を覚えているのか ── クッキーとlocalStorageのしくみ

パソコンは、どうやって「前の設定」を覚えているのか ── クッキーとlocalStorageのしくみ

分野:技術

サイトを ひらくと、まえに えらんだ ボタンの ままに なって いる ことが あります。

だれかが、どこかに メモして いるのでしょうか。

この きじでは、その「見えない メモちょう」の しょうたいを さがして いきます。

サイトを開くと、前に選んだボタンのままになっていることがあります。

誰かが、どこかにメモしているのでしょうか。

この記事では、その「見えないメモ帳」の正体を探っていきます。

サイトを開くと、前に選んだボタンの状態を覚えてくれていることがある。誰がどこにメモしているのだろうか。

1994年、アメリカのルー・モントゥーリが「クッキー」というしくみを発明した。それから15年ほどたって、もっと多くの情報を保存できる「localStorage」というしくみも登場した。見えないデジタルのメモ帳は、実はパソコンの中に、小さなファイルとして本当に存在している。その正体をたどる。

読み方を切り替えられます。画面の上にある「よみかた」のボタンで、小学校低学年むけ小学校高学年むけ中学生むけの3つの書き方に切り替わります。むずかしいと思ったら、いつでもやさしい方に戻ってください。選んだ読み方はブラウザが覚えているので、次に別の記事を開いたときも同じ読み方で始まります。

2. クッキーの しくみ

2. クッキーのしくみ

2. クッキーのしくみと制限

クッキーは、サイトを 見る たびに、じどうで やりとりされます。この サイトの「よみかた」ボタンも、まえに えらんだ ものを おぼえて おける のは、にた しくみの おかげです

ただし、クッキーに ためて おける じょうほうは、あまり おおくは ありません。絵本えほん いっさつぶんも 入らない くらいの、小さな メモちょうです。

クッキーは、そのサイトのページを見るたびに、ブラウザからサーバーへ自動的に送られます。だからこそ、サーバー側は「あ、これは前にも来た人だ」と気づくことができるのです。

小さなメモ帳

ただし、クッキー1つに保存できる情報の量は、仕様上の目安で4096バイト(約4キロバイト)しかありません[2]。小さなメモに、必要な情報だけを書いておくイメージです。

クッキーは、そのサイトへの通信のたびに、ブラウザからサーバーへ自動的に送信される。サーバー側は、送られてきたクッキーの中身を見て、「これは前にも来た利用者だ」と判断できる[2]

小さなメモ帳

ただし、クッキー1つに保存できる情報の量は、仕様上の目安で4096バイト(約4キロバイト)に制限されている[2]。通信のたびに送信される性質上、あまり大きな情報を保存する用途には向いていない。

3. もっと おおく おぼえられる しくみ

3. もっと多く覚えられる「localStorage」

3. 2000年代に登場した「localStorage」

クッキーが うまれてから 15年ほど あと、もっと たくさんの じょうほうを おぼえて おける「localStorage (ローカルストレージ)」と いう しくみも つくられました [2]

こちらは、サーバーには おくられず、その パソコンの中だけに のこります。ちょうど、じぶんの つくえの ひきだしに メモを しまって おくのに にて います。クッキーの ように、 まいかい ほかの 人に 見せに 行く ことは ありません。

クッキーが生まれてから15年ほどあと、もっとたくさんの情報を覚えておける「localStorage(ローカルストレージ)」というしくみも作られました[2]

サーバーには送られない

localStorageに保存した情報は、クッキーとちがって、通信のたびにサーバーへ送られることはありません。その代わり、保存できる量はクッキーよりずっと多く、ブラウザによって5〜10メガバイトほどになります[2]。このサイトの「よみかた」ボタンの記憶も、実はこのlocalStorageを使っています。

標準化団体のWHATWGとW3Cにより、より多くの情報を保存できる「Web Storage」というしくみの仕様づくりが2005年ごろに始まった。2009年ごろには主要なブラウザへの実装も進み、その中の1つが「localStorage」だ[2]

サーバーには送られない

localStorageに保存した情報は、クッキーとちがって、通信のたびにサーバーへ自動送信されることはない。その代わり、保存できる量はクッキーよりずっと多く、ブラウザにもよるが5〜10メガバイトほどになる[2]。このサイトの「よみかた」ボタンの記憶にも、実はこのlocalStorageが使われている。

4. その メモちょうは、どこに あるの?

4. そのメモ帳は、どこにあるのか

4. デジタルのメモ帳の、本当の置き場所

クッキーも localStorageも、じつは くうきの ように 見えない ところに あるのでは ありません。

パソコンの中の、ブラウザ せんようの ばしょに、 ちいさな ファイルとして、ほんとうに ほぞんされて います [3]

クッキーもlocalStorageも、実は空気のように見えないところにあるのではありません。

パソコンの中の、ブラウザ専用のフォルダに、小さなファイルとして、本当に保存されています[3]。多くの場合、データベースの形式で整理されて入っています。

クッキーもlocalStorageも、実は空気のように見えないところにあるのではない。

パソコンの中の、ブラウザ専用のフォルダに、実際にファイルとして保存されている[3]。多くのブラウザでは、SQLiteというデータベース形式でこれらの情報を管理している[3]。「見えないデジタルのメモ帳」は、比喩ではなく、パソコンのどこかに本当に置いてあるメモ帳だったのだ。

じぶんでも やって みる

自分でも調べてみたくなったら

自分でも調べてみたくなったら

じぶんでも、このサイトの「よみかた」きのうを たしかめて みましょう。

あんぜんな ばしょで できる こと

  • この きじで「よみかた」を きりかえてから、べつの ページに 行って みる。 もどっても おなじ よみかたに なって いるか たしかめて みましょう。
  • 大人と いっしょに、じぶんの つかって いる ブラウザの せっていで、クッキーが どのくらい たまって いるか 見せて もらう。
メモの すすめ

きょう 出て きた ことばを 1つだけ ノートに 書いて おきましょう。「クッキーは 1994年に うまれた」だけで じゅうぶんです。

自分でも、このサイトの「よみかた」機能を確かめてみましょう。

今日できること

  • この記事で「よみかた」を切りかえてから、別のページに行ってみる。戻っても同じ読みかたになっているか確かめてみましょう。
  • 大人といっしょに、自分の使っているブラウザの設定で、クッキーがどのくらいたまっているか見せてもらう。
メモのすすめ

気になった言葉を1つだけ書いておくと、あとで調べる入口になります。「マジッククッキーって、もともと何のことだったの?」だけでも十分です。

クッキーとlocalStorageという視点を持つと、ふだん使っているサイトの動きがより興味深く見えてきます。

手を動かして確かめる

  • この記事で「よみかた」を切りかえたあと、ブラウザを再起動してから同じページを開いてみる。設定が保存されたままか確かめてみましょう。
  • 自分の使っているブラウザの開発者ツールで、Application(またはストレージ)タブを開いてみる。大人といっしょに、Cookieやローカルストレージの中身をのぞいてみましょう。

一次情報にあたる

WHATWGのHTML仕様には、Web Storageの技術的な定義が詳しくまとめられている。

メモのすすめ

気になった数字や言葉を1つだけノートに記録しておきましょう。「クッキーは4キロバイトまで」という一文でもかまいません。

しらべた もとの じょうほう

参考にした情報源

参考にした情報源と、その使い方

この記事は、下にあげた公開情報をもとに書いています。文章や図を無断で転載してはいません。もっと正確に知りたいときは、必ず下の出典にあたってください。リンク先の内容や、リンク先で起きたことについて、当サイトは責任を負いません。

出典について:Wikipedia、MDN Web Docs(ブラウザ標準技術の公式解説)、技術解説記事を使っています。

  1. Web Storage API - MDN Web Docs。 https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API (localStorage・sessionStorageの技術的なしくみ、クッキーとの保存容量・送信方法の違いについての公式解説)
  2. ブラウザストレージの種類とその役割:Cookie、localStorage、IndexedDBなどの概要と特徴 - 株式会社一創。 https://www.issoh.co.jp/tech/details/9666/ (クッキーやlocalStorageが、パソコン内のブラウザ専用フォルダにSQLiteなどのデータベース形式で実際に保存されていることについての解説)

なおした ところ

更新履歴

更新履歴(改版の記録)

  •  初版を公開。

このサイトでは、公開した記事の本文は原則として書き直しません。誤りが見つかったときや、内容が古くなったときだけ手を入れ、その理由をこの欄に残します。