[4] キャッシュは、 ネットワーク経由で取得したデータを一時的に保持しておき、 以後のアクセスでネットワークアクセスを省略するものです。 Web においては利用者エージェントや串で用いられています。
[6] キャッシュとは、以前の応答メッセージを局所的に蓄積するもの、 およびそのメッセージ蓄積域と取得や削除を制御する部分システムのことをいいます。 キャッシュは、キャッシュ可能な応答を蓄積して、 以後の等価な要求の応答時間やネットワーク帯域の消費を節減するものです。 >>5
[7] クライアントや鯖は、キャッシュを用いて構いません >>5, >>11。 キャッシュの実装は必須ではありませんが、特に要件や設定がない限り、 キャッシュした応答を使うのは好ましいことと考えられています >>11。
[8] 鯖はトンネルとして動作しているときは、キャッシュを使うことはできません。 >>5, >>11
[21] キャッシュを実装する場合でも、キャッシュに応答を蓄積することや、 蓄積された応答を使って返答することは必ずしも求められていません。 HTTP の仕様ではキャッシュを使ってはいけない場面は規定されていますが、 使わなければならない状況はありません。
[20] キャッシュに蓄積するデータの単位をキャッシュ項目と呼んでいます。 キャシュ項目はおおよそ URL と要求メソッドに対応するものです。
[23] HTTP応答にはキャッシュ可能なものとそうでないものがあり、 キャッシュ可能なものは、キャッシュに蓄積することができます。 キャッシュに蓄積したものを応答に使う (再利用する) かどうかは、 更にいくつかの条件があります。
[15] キャッシュには、共有キャッシュと私的キャッシュがあります。 私的キャッシュにはキャッシュ可能な応答でも、 共有キャッシュにはキャッシュ可能でないことがあります。
[24] 詳しくは次の各項目を参照してください。
[18] navigate などで使われるのは HTTPキャッシュ (私的キャッシュ) と思われます。
[19] 履歴の探索では、 HTTPキャッシュなら有効期限切れとなっているような応答が再利用されることがあります。また履歴の探索の場合には応答だけでなく、
pushState
によって関連付けられたデータや bfcache
により保存された実行環境などが使われることがあります。
[12] Webブラウザーは AppCache も実装していることがあります。
[13] 鯖は、アプリケーション依存の様々なキャッシュを利用していることがあります。 HTTP に従っているキャッシュ串の他、特定アプリケーション向けの HTTP に厳密には適合しないキャッシュ串や、 memcached などのキャッシュ用鯖、 プログラミング言語やライブラリーの機能を利用したキャッシュなど、 様々な仕組みが用いられています。
[35] HSTS の RFC では、何箇所かだけ既知HSTSホスト情報のことを 「キャッシュ」と言っています。
[2] Early findings: Mobile browser cache persistence and behaviour ( ( 版)) http://www.webperformancetoday.com/2012/07/12/early-findings-mobile-browser-cache-persistence-and-behaviour/
[3] RFC 3143 - Known HTTP Proxy/Caching Problems ( ( 版)) http://tools.ietf.org/html/rfc3143
[9] [whatwg] Image cache behaviour ( ( 版)) http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-June/036351.html
[10] Web Applications 1.0 r7128 Try to define img synchronous loading. ( ( 版)) http://html5.org/tools/web-apps-tracker?from=7127&to=7128
[16] Add cache mode concept and elaborate a bit on caching. · 99377cd · whatwg/fetch ( ( 版)) https://github.com/whatwg/fetch/commit/99377cd334e7e4e7737c2b2fd521c74a6cf7e01a
[25] Turn request's cache mode into six modes per https://github.com/slightly... · 606ef84 · whatwg/fetch ( ( 版)) https://github.com/whatwg/fetch/commit/606ef84364515f932570068e9026d2d535846a74
[26] Deal with partial cache entries https://github.com/slightlyoff/ServiceWo... · 10cceb6 · whatwg/fetch ( ( 版)) https://github.com/whatwg/fetch/commit/10cceb6ec1cf04456ac6ff66917ebc509ca5181b
[27] Add cache mode API for https://github.com/slightlyoff/ServiceWorker/issu... · a2bd3aa · whatwg/fetch ( ( 版)) https://github.com/whatwg/fetch/commit/a2bd3aaadaf507c8ea7b3992d488a84d14b43470
[28] Draft for cache state for https://github.com/slightlyoff/ServiceWorker/i... · fef58a7 · whatwg/fetch ( ( 版)) https://github.com/whatwg/fetch/commit/fef58a71c053533460a5ef81683acaf7006e9f80
[29] Frecency algorithm - Mozilla | MDN ( 版) https://developer.mozilla.org/en-US/docs/Mozilla/Tech/Places/Frecency_algorithm
[30] Necko/Cache - MozillaWiki ( 版) https://wiki.mozilla.org/Necko/Cache
[32] Part2 - browsersec - Browser Security Handbook, part 2 - Browser Security Handbook - Google Project Hosting ( 版) https://code.google.com/p/browsersec/wiki/Part2#Document_caching
[33] Caching Tutorial for Web Authors and Webmasters ( 版) https://www.mnot.net/cache_docs/
[38] RFC 3040 - Internet Web Replication and Caching Taxonomy ( 版) https://tools.ietf.org/html/rfc3040
[39] HttpCacheReadBehavior enumeration - Windows app development ( 版) https://msdn.microsoft.com/en-us/library/windows/apps/windows.web.http.filters.httpcachereadbehavior.aspx
[40] Disk Cache - The Chromium Projects ( 版) https://www.chromium.org/developers/design-documents/network-stack/disk-cache
[42] 660749 – (CVE-2011-0082) Firefox doesn't (re)validate certificates when loading a HTTPS page from the cache ( ()) https://bugzilla.mozilla.org/show_bug.cgi?id=660749
[43] Matching hint responses with requests · Issue #5 · igrigorik/resource-hints ( ()) https://github.com/igrigorik/resource-hints/issues/5
[44] Matching hint responses with requests · Issue #2 · w3c/resource-hints ( ()) https://github.com/w3c/resource-hints/issues/2
[45] Rewrite HTTP cache integration (mnot著, ) https://github.com/whatwg/fetch/commit/cbca2c2f3a37084e336e14348de683f8ffa0fed9
[46] For users on very slow connections, block document.written scripts · Issue #17 · WICG/interventions () https://github.com/WICG/interventions/issues/17
[47] Added a cache performance warning. (#44) (msramek著, ) https://github.com/w3c/webappsec-clear-site-data/commit/681f03fe52725a40992d59831f492822c152e66b
[48] Added a cache performance warning. by msramek · Pull Request #44 · w3c/webappsec-clear-site-data () https://github.com/w3c/webappsec-clear-site-data/pull/44
[49] Add response's cache state back (annevk著, ) https://github.com/whatwg/fetch/commit/6702eefda313e06bca0525745b72b0870e6fd2b9
[51] RFC 3040 - Internet Web Replication and Caching Taxonomy, , https://tools.ietf.org/html/rfc3040