Я пытаюсь правильно настроить кэширование, и в будущем заголовки Expires установлены на 365 дней, что работает правильно, но не отображается правильно в IE9. Кто-нибудь знает почему?
Когда вы посещаете какой-либо веб-сайт в IE9 (например, www.google.com), затем нажимаете Enter в адресной строке, чтобы вернуться к нему с полным кэшированием, он показывает множество дополнительных 304, которые Fiddler не показывает.
Глядя на вкладку «Инспектор сети» (на F12), IE9 показывает, что он получил 304 неотмененных ответа для файлов CSS и JS и 3 изображения (возможно, изображения с измененными датами в течение приблизительно прошлого месяца - остальные 30 изображений не показаны) старше).
Однако, по словам Фиддлера и, просматривая журналы IIS на сервере на разрабатываемом мной веб-сайте, он фактически не делал эти запросы. Временная шкала сети IE9 показывает эти серые 302 как отсутствие времени ожидания и время ответа «<1 мс» - тогда как, если я нажму F5, они также будут серыми 302 с, но показаны как несколько секунд ожидания и загрузки (и они попадают в сеть). </p>
Так почему же сетевой инспектор IE9 считает, что он выдал условный запрос на них? Действительно ли он выполнил запрос, который был удовлетворен в сетевом стеке где-то, прежде чем он попал в Fiddler?
Chrome показывает все запросы, включая все изображения, серым цветом 200 (из кэша), за исключением самой страницы, которая является черным 200 (что является правильным согласно журналам Fiddler и IIS).
Firebug показывает серый 200 ОК для CSS и JS и, как ни странно, только одно изображение (также правильно, если серое 200 означает из кэша - но зачем показывать только эти ресурсы, а не все другие изображения?)
Я читал в блоге Эрика Лоуренса сообщения о кэшировании IE9 и сетевом стеке, но он не упоминает об этом странном поведении.