Кэш приложения HTML5 - кэшированные файлы не обновляются даже при обновлении манифеста

У меня есть манифест версионного кэша:

#version = e5b4271

Каждый раз, когда меняется эта версия, мое веб-приложение загружает новый манифест, но никогда не загружает файлы обновлений с сервера. Даже когда я очищаю кеш браузера (не сам кеш приложения) или нажимаю Ctrl+Shift+R, чтобы заставить его выбрать новую версию, он все равно загружает файлы из старого кэша приложения.

Единственный способ обновить его - это очистить кеш приложения браузера в настройках, но, очевидно, это недопустимо, потому что мне нужно обновить его для обычных пользователей.

Есть идеи, почему это произойдет?

1 ответ

Решение

Просто разобрался. Я использую сервер разработки Flask, и кажется, что по умолчанию (через werkzeug) он отправляет заголовки кэша на 12 часов для статических файлов. Добавление следующего в мой конфиг фляги решило это:

SEND_FILE_MAX_AGE_DEFAULT = -1

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

Другие вопросы по тегам