HTML5 では、Cookie よりもより柔軟で、より多くのアプリケーションデータをクライアント側(ローカル)に保存・参照できる仕組みがサポートされています。
それぞれの特徴は下記の様になります。
Cookie | Web Storage | Web SQL Database | Indexed Database API | |
---|---|---|---|---|
アクセス方式 | Key-Value | Key-Value | SQL | NoSQL |
データ形式 | Key-Value | Key-Value | 表形式 | 表形式 |
API | setCookie() getCookie |
localStorage[] sessionStorage[] |
openDatabase() executeSql() |
indexedDB.open() add() / get() |
トランザクション処理 | 不可 | 不可 | 可能 | 可能 |
難易度 | 容易 | 容易 | 複雑 | 複雑 |
サーバへのデータ送信 | 必ず発生 | 発生しない | 発生しない | 発生しない |
扱い可能データ量 | 4KB程度 | 5MB程度 | 5MB程度 | 5MB程度 |
サポート状況 | 安定して利用可能 | IE8世代以降で安定しつつある | 検討停止。廃止予定 | 普及までまだ時間がかかりそう |