localStorageとCookieの違い

localStorageとCookieは、ウェブブラウザでデータを保存するための2つの主要なメカニズムですが、いくつかの重要な違いがあります。

localStorage

Cookie

サイズ

各ドメインごと/5MB程度

各クッキーごと/4KB
※クッキー自体は数十個まで

送信

サーバーにデータを自動的に送信することない

HTTPリクエストごとにサーバーに自動的に送信される

有効期限

データはブラウザを閉じても保持され、明示的に削除しない限り永続的に保存される

有効期限を設定できる

サポートされるデータ型

文字列
JavaScriptのJSON.stringifyとJSON.parseを使用してオブジェクトを保存することもできる

文字列
オブジェクトを保存するためには、文字列に変換して保存し、取り出す際に再び解析する必要がある

セキュリティ

同じオリジン内のJavaScriptコードからのみアクセスできる
他のドメインからはアクセスできない
クロスサイトスクリプティング(XSS)攻撃に対して脆弱

ドメインおよびパスの指定によって制御される
オリジンをまたいで共有されることがある

要するに、localStorageは比較的大量のデータを保存するのに適しており、クライアント側でデータを操作する場合に便利です。一方、Cookieはサーバーとの通信やセッショントラッキングに使用されることが多く、特定の期限を持つデータを保存するのに適しています。

トップへ