Заголовок управления кэшем "no-cache, must-revalidate, private" позволяет браузерам кэшировать ресурс, но заставляет revalidate с условными запросами. Это работает как в FF, Safari, так и в Chrome.
Однако IE7 + 8 не отправляет условный запрос, то есть "If-Modified-Since" отсутствует в заголовке запроса, и, следовательно, сервер отвечает HTTP/200 вместо HTTP/304.
Вот полные заголовки ответов сервера:
Last-Modified: Wed, 16 Feb 2011 13:52:26 GMT
Content-type: text/html;charset=utf-8
Content-Length: 10835
Date: Wed, 16 Feb 2011 13:52:26 GMT
Connection: keep-alive
Cache-Control: no-cache, must-revalidate, private
Это похоже на ошибку IE, но я не нашел ничего связанного в Интернете, поэтому я задаюсь вопросом, может ли отсутствие или существование другого заголовка заставить IE вести себя странно?
Хорошее обсуждение разницы между no-cache и max-age: В чем разница между Cache-Control: max-age = 0 и no-cache?