HTML5 Web Storageとは何か
HTML5では、ウェブサイトはブラウザのローカルにデータを保存できる。データはname-valueペアで格納され、ウェブページは自身で格納したデータにのみアクセスができる。
localStorageとsessionStorage
ライフタイムの違い
- localStorageに格納されたデータは永続的。ウェブアプリケーションが削除する、またはユーザが自らブラウザのデータを削除するまでは、データは永続する。
- sessionStorageはウィンドウまたはデータを格納したブラウザタブと同じライフタイムを持つ。タブが完全に閉じられると、sessionStorageに格納されたデータは削除される。
スコープの違い
どちらのstorageも、オリジンが異なると格納されたオブジェクトは共有されないため、スコープはオリジン単位となる。
- sessionStorageは、同じオリジンの2つのブラウザのタブに、別々のsessionStorageデータを持つ。
- sessionStorageは、localStorageとは異なり同じオリジンの同じスクリプトでも、タブが異なる場合お互いのsessionStorageにアクセスできない。
tips
- 以前はクッキーでストレージが行われていた。
- この保存サイズの制限は、クッキーより遥かに大きく(少なくとも5MB)、高速である。
- データは決してサーバーに転送されず、クライアントが要求した場合のみ使用される。