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