Я вполне уверен, что это в значительной степени оставлено на усмотрение браузера. Они пытаются найти баланс между «не запрашивать один и тот же HTML-файл каждый раз, если нам не нужно» и «не пропустить обновления, если веб-мастер был просто некомпетентен». В старину пространство было также проблемой, поэтому пользователи могли поиграть с небольшим слайдером, чтобы установить использование кэша - если бы вы могли установить его до 500 МБ, вы были бы счастливчиком!
В настоящее время в значительной степени все не кэшируется или срок действия истекает: -1 в любом случае (сгенерированные страницы). Но в противном случае, я уверен, что старые правила будут применяться.
Я всегда рассматривал заголовки кэша как утвердительную декларацию - этот ответ хорош как бы долго, или он хорош только один раз. Но так или иначе, это определено. Если бы он оставался неопределенным, я бы не стал доверять его очистке.