[1] Web には次の著者が一部または全部を制御できるストレージがあります。
[23] セッションを超えて持続するもの、しないもの、 明示的なストレージとしての性質が強いもの、キャッシュとしての性質が強いもの、 サイトごとの設定に属するものなど色々あります。
[14] プラグインや HTC がストレージを用意していることがあります。
[2] この他に HTTPキャッシュや AppCache があります。 とりわけクッキーや実体タグは、永続性が強いものです。
[15] pushState
や replaceState
も一時ストレージとして機能します。
[12] Blob URL Store、大域オブジェクト、JavaScript の呼び出しスタックなども、 広い意味で一時ストレージと言えるかもしれません。 expando を考慮すると任意の JavaScript オブジェクトは、この意味のストレージです。 しかし、これらは極めて永続性に乏しいものです。
[3] ストレージの管理のための Web API として、 Storage Standard があります。
[27] かつて Quota Management API も提案されていました。
[22] キャッシュは、古くからメモリーキャッシュとディスクキャッシュの両方が実装されています。 Webブラウザーはアクセス頻度やディスクの空き容量などを考慮して両者を適宜使い分けています。
[26] プラグインやブラウザー拡張は、他に独自のストレージを持っていることがあります。
[18] 関係する仕様書上の概念として、ストレージミューテックスがあります。
[6] 利用者エージェントは、悪意ある著者がディスクを無駄遣いすることを防ぐため、 Web Storage ストレージ領域上の利用できる最大量を制限するべきです >>5。
[7] 利用者エージェントは、 example.com
に対して a.example.com
のようにサブドメインを使って上限を回避できないようにするべきです >>5。
つまりサイト単位を考慮した制限が必要です。
[11] 予測可能性を考慮し、圧縮していない状態でのサイズで制限するべきです >>5。
[10] HTML Standard は各起源に5MBを割り当てることを提案しつつ、実装者からのフィードバックを募っています >>5。
[8] 利用者エージェントは、 quota に達した時に利用者に対して、 当該サイトにより多くの領域を認めるかどうか尋ねても構いません >>5。
[9] 利用者エージェントは、利用者が各ドメインがどれだけの領域を使っているか見られるようにするべきです >>5。
[4] クッキーに関しては、クッキーのサイズ制限も参照。
[24] ストレージは、その性質上、 fingerprinting vector です。
[25] Webアプリケーションのための本項のストレージの他に、 Webブラウザーの実行されるプラットフォームのファイルシステムにも限定的なアクセスが提供されています。
[13] HTTP の状態符号 507
は、サーバー側のストレージの容量不足を表すものです、
本項でいうクライアント側のストレージとは異なります。
[19] Make site storage origin-bound · whatwg/storage@cd1ea3a ( 版) <https://github.com/whatwg/storage/commit/cd1ea3a03409766e2d91333bddffc18f3f9b1cb5>
[20] Mention application cache and notifications under site storage (annevk著, ) <https://github.com/whatwg/storage/commit/dd5aa801bc6b3234d266e8e013b1f8e8aded17c9>
[21] Explain the intent behind the persistent permission (annevk著, ) <https://github.com/whatwg/storage/commit/e1f556d4c62b7cb619048f853f6dd45bcf11bfb2>