Как долго Google Chrome кэширует ресурс, если срок его действия истек и/или не установлены заголовки без кэширования?

У нас возникла проблема с кэшированием ресурса Chrome на нашем сервере Glassfish. -cache заголовки не отправляются, а ресурс (SWF-файл размером примерно 4 МБ) кэшируется Chr ome -- несмотря на наличие заголовка Last-Modified.

Иногда Chrome получает код 304, а иногда просто 200 (из кеша). Я понимаю 304 - Chrome, вероятно, сверяет самую последнюю дату последнего изменения с кешированной версией, чтобы принять решение.Но в других случаях он делает 200 (из кеша), который не возвращает никакой информации о заголовке и кажется, что Chrome просто предполагает, что файл не был изменен, вместо проверки.

На собственном сайте Google говоритсяследующее:

HTTP/S поддерживает локальное кэширование статических ресурсов браузером. Немного новейших браузеров (например, IE 7, Chrome) используют эвристику для определения как долго кэшировать все ресурсы, которые не имеют явного кэширования заголовки.

Но это не дает окончательного ответа. Эта эвристика где-нибудь опубликована? Я понимаю, что может не быть фиксированного ответа (например, 30 дней), но некоторые общие рекомендации были бы полезны. Кроме того, если установлено значение Last-Modified, я не понимаю, почему Chrome не проверяет это в первую очередь.

41
задан BartoszKP 23 January 2014 в 20:07
поделиться