Кэш приложения HTML5 - кэшированные файлы не обновляются даже при обновлении манифеста
У меня есть манифест версионного кэша:
#version = e5b4271
Каждый раз, когда меняется эта версия, мое веб-приложение загружает новый манифест, но никогда не загружает файлы обновлений с сервера. Даже когда я очищаю кеш браузера (не сам кеш приложения) или нажимаю Ctrl+Shift+R, чтобы заставить его выбрать новую версию, он все равно загружает файлы из старого кэша приложения.
Единственный способ обновить его - это очистить кеш приложения браузера в настройках, но, очевидно, это недопустимо, потому что мне нужно обновить его для обычных пользователей.
Есть идеи, почему это произойдет?
1 ответ
Просто разобрался. Я использую сервер разработки Flask, и кажется, что по умолчанию (через werkzeug) он отправляет заголовки кэша на 12 часов для статических файлов. Добавление следующего в мой конфиг фляги решило это:
SEND_FILE_MAX_AGE_DEFAULT = -1
Если у кого-то еще есть такая проблема, проверьте конфигурацию вашего сервера, чтобы убедиться, что заголовки кэша не отправляются со статическими файлами. Вы можете проверить это на вкладке сети в chrome при первой загрузке файла.