Когда ETag
"вызывает" 304
response => браузер отправил If-None-Match
проверочный запрос на сервер.Обычно это делается после того, как max-age
прошло.Вы можете найти хорошее описание этого здесь:
https://stackoverflow.com/a/500103/2550808
также стоит упомянуть, настройки браузера Firefox должны быть установлены по умолчанию: перейдите на страницу about:config
и проверьте эти настройки: http://kb.mozillazine.org/Browser.cache.check_doc_frequency
Возвращаясь к вашему вопросу, возможно, что-то не так с заголовком Cache-Control, который сервер возвращает браузеру.По своему скромному личному опыту я не встречал явно public
версию заголовка, скорее всего, это просто:
Cache-Control: max-age=3600, must-revalidate
В любом случае, вот довольно хорошее описание заголовков, относящихся к кешированию:
https://www.mnot.net/cache_docs/
В качестве альтернативы для непрерывной повторной проверки могут быть и другие причины:
- Заголовки VARY в ответе сервера 200 с файлом могут повлиять на кэширование;
- JavaScript вызывает reload для объекта местоположения, передавая TRUE для bReloadSource;