Cookie Store API

安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

Cookie Store API は Cookie を管理するための非同期 API を提供し、同時に Cookie を Service Worker API から参照できるようにします。

概念と使用法

Cookie の取得や設定を行うこれまでの方法は、文字列であるキーと値のペアとして document.cookie を扱うことでした。面倒で間違えやすい上に、モダンなウェブ開発の文脈では問題のもとになります。

document.cookie インターフェイスは同期的で、シングルスレッドで、イベントループをブロックします。Cookie に書き込みを行うとき、ブラウザーがすべての Cookie の文字列を更新するまで待たなければいけません。さらに、document に依存しているので、document オブジェクトにアクセスできないサービスワーカーからは Cookie にアクセスできません。

Cookie Store API は、Cookie を管理する新しい方法を提供します。これは非同期的でプロミスベースなので、イベントループをブロックしません。document に依存していないため、サービスワーカーから利用可能です。Cookie の取得や設定を行うメソッドは、エラーメッセージにより、より多くのフィードバックを提供します。これにより、ウェブ開発者は Cookie を設定した直後に読み込みを行って設定に成功したかを確認しなくてよくなります。

インターフェイス

CookieStore

CookieStore インターフェイスは、Cookie の取得や設定を可能にします。

CookieStoreManager

CookieStoreManager インターフェイスは、サービスワーカーが Cookie 変更イベントを購読できるよう、サービスワーカーの登録を提供します。

CookieChangeEvent

change という名前の CookieChangeEvent は、スクリプトから参照可能な Cookie の変更が何か起こると、Window コンテキストの CookieStore オブジェクトで発行されます。

ExtendableCookieChangeEvent

change という名前の ExtendableCookieChangeEvent は、スクリプトから参照可能かつサービスワーカーの Cookie 変更購読リストにマッチする Cookie の変更が何か起こると、ServiceWorkerGlobalScope イベントで発行されます。

仕様書

Specification
Cookie Store API

ブラウザーの互換性

api.CookieStore

BCD tables only load in the browser

api.CookieStoreManager

BCD tables only load in the browser