クライアント側での永続化について考えてみた〜cookieとlocalStorageとsessionStorage

当たり前だが、画面遷移をすると、javascriptの変数は消えてしまう。グローバル変数といえども、画面遷移をすると消えてしまう。

画面遷移をしても、遷移する前のデータを利用するためには、下記2つの方法が考えられる。

  1. 遷移するタイミングでサーバへデータを送信して、遷移した画面でサーバからデータを取ってくる。
  2. クライアント側の永続化の仕組みを利用する

これまでは、cookieを使用していたのだが、HMTL5とかあるようなので、クライアントサイドでの永続化の方法を自分なりに整理してみた*1

整理した結果がこれ。

実際に、簡単なアプリを作って、試してみた。

検証アプリへのリンク

ブラウザによって実装が異なるので、全てのブラウザにおいて上記整理が正しい訳ではないが、それは実際に検証アプリで試してみればいいかなと。

各ブラウザでの対応状況は、それぞれの公式ページを参照すれば良い。

MicrosoftのDOMストレージについての解説ページ
MDN Docs

*1:クッキーの場合、厳密にはドメインだけが一致していれば良かったかもしれない。また、iモードブラウザ2.0の端末では、ディレクトリの制限が追加されていたと思う。