как я понимаю, вы можете сделать трюк так:
cache.manifest - это файл, созданный с помощью PHP, при первом поколении он возвращает список файлов размером менее 5 МБ и устанавливает флаг cookie. Сценарий на стороне клиента при событии cached проверяет, установлен ли cookie, и вызывает window.applicationCache.update()
, поэтому PHP-код запускается снова, проверяет, установлены ли cookie и возвращает ли полностью файл cache.manifest, обновляет флаг cookie