Проблема в том, что вы не знаете, что находится в кэше, пока не загрузите свою страницу, а это означает, что вам нужно будет выполнить другой HTTP-запрос, чтобы получить данные, которые вы делаете потребность, которая приводит к еще большему количеству накладных расходов. Я бы определенно придерживался серверного кэширования ресурсов.
Вы могли бы сделать это, но что-то вроде этого, в основном, включало бы одну главную страницу индекса Javascript, которая либо загружала кэшированные локальные файлы, либо выполняла Ajax-запросы для загрузки контента с сервера.