У нас возникла проблема с кэшированием ресурса Chrome на нашем сервере Glassfish.Заголовки expires и no-cache не отправляются, а ресурс (SWF-файл размером приблизительно 4 МБ) кэшируется Chrome - несмотря на наличие заголовка Last-Modified.
Иногда Chrome получаетКод 304, а иногда он просто делает 200 (из кэша).Я понимаю, что 304 - Chrome, вероятно, проверяет самую последнюю дату последнего изменения с помощью кэшированной версии, чтобы принять решение.Но в других случаях он делает 200 (из кэша), который не возвращает никакой информации заголовка и кажется, что Chrome просто предполагает, что файл не был изменен вместо проверки.
Собственный сайт Google сообщает следующее:
HTTP / S поддерживает локальное кэширование статических ресурсов браузером.Некоторые новейшие браузеры (например, IE 7, Chrome) используют эвристику, чтобы решить, как долго кэшировать все ресурсы, у которых нет явных заголовков кэширования.
Но это не дает однозначного ответа.Эта эвристика опубликована где-нибудь?Я понимаю, что не может быть фиксированного ответа (например, 30 дней), но некоторые общие рекомендации будут полезны.Кроме того, если установлено Last-Modified, я не понимаю, почему Chrome не потрудился проверить это первым.