Chrome реализует кеши на многих уровнях абстракции. В основе лежит кеш HTTP (браузер) - бэкэнд для других механизмов кеширования. Обычно кеши можно разделить на:
- HTTP-кеш
- Кеши сервис-воркеров
- Мигающий кеш
HTTP-кеш
Каждый запрос, сделанный по сети, проксируется HTTP Cache в соответствии с RFC . При первом запросе кеш перезаписывается. Ресурсы привязаны к исходному URL.
Кэш Service Worker
Для корректной обработки сбоев сетевого подключения вы можете использовать Service Workers . Кеши и кеш-хранилище снова будут взяты с диска.
Мигающий кэш
Blink использует Http Cache в качестве бэкэнда в двух режимах создания - в памяти и простом (файловая система). Какой из них используется, зависит от установленного глобального лимита для кешей, сколько памяти они могут занять. Также наибольшую долю получает текущий кеш рендерера. Кешируются шрифты, изображения и скрипты. Если использование глобальной памяти достигает определенного порогового значения, используется серверная часть файловой системы.
Принудительное использование кеша памяти
Если вы хотите, чтобы ваши файлы обслуживались с помощью механизма переопределения памяти по умолчанию, вы можете реализовать свой собственный Service Worker. Используя File Api, ресурсы можно читать и сохранять в объект в памяти. Тогда переопределение события выборки подавит чтение сети и файла с контентом, обслуживаемым этим глобальным объектом.