Раздел 14.9.4 HTTP / 1.1:
Когда в ответе, полученном кешем, присутствует директива must-revalidate, этот кеш НЕ ДОЛЖЕН использовать запись после того, как он устарел , чтобы ответить на последующий запрос, не проверив его сначала на сервере происхождения
Раздел 14.8 HTTP / 1.1:
Еслиответ включает в себя директиву управления кэшем «must-revalidate», кеш МОЖЕТ использовать этот ответ при ответе на последующий запрос.Но если ответ устарел , все кэши ДОЛЖНЫ сначала подтвердить его с помощью сервера происхождения ...
Таким образом, кажется, что только устаревшие ответы должны быть повторно проверены, если must-revalidate
Получено.
Для no-cache
см. раздел 14.9.1:
Если в директиве no-cache не указано имя поля [как здесь], токэш НЕ ДОЛЖЕН использовать ответ для удовлетворения последующего запроса без успешной повторной проверки с сервером происхождения ...
Таким образом, no-cache
применяется как к свежим, так и к устаревшим ответам.
РЕДАКТИРОВАТЬ:
Эта фраза может быть уместна здесь (раздел 13.3):
Когда в кеше есть устаревшая запись, которую он хотел бы использовать в качестве ответа на запрос клиента, онсначала нужно проверить с сервером происхождения (или, возможно, с промежуточным кешем с новым ответом) , чтобы убедиться, что его кэшированная запись все еще пригодна для использования.
Итак, must-revalidate
вероятно актуально, когда кеш имеет промежуточные кеши, грехв противном случае кеш может проверять промежуточный кеш на наличие нового ответа, а не напрямую проверять исходный сервер.