Я отправляю корректно отформатированные HTTP-заголовки ответа «Expired» (например, «Ср, 04 мая 2011 г. 09:29:09 GMT») со страницей, обслуживаемой через https://[host]:{port}/ (с [host] является localhost) из приложения J2EE, используя response.setDateHeader("Expires", {milliseconds a few seconds in the future} )
.
На моих страницах есть ссылка на ту же страницу.Когда я нажимаю на эту ссылку из Firefox (4) или IE (8), страница перезагружается из кэша до истечения времени истечения.По истечении времени, истекшего, нажатие на ту же ссылку приводит к загрузке страницы с сервера со свежими данными.Если я нажимаю F5 в любом из упомянутых браузеров, страница перезагружается с новыми данными с сервера (Firebug показывает, что Cache-Control: max-age=0
отправляется с запросом).
В Google Chrome, и F5, инажатие на ссылку имеет тот же эффект.Страница ВСЕГДА перезагружается с сервера новыми данными.
Мне не удалось найти какого-либо хорошо документированного объяснения этого эффекта.
Кто-нибудь знает, почему в моем случае Google Chrome не учитывает заголовки «Expired», которые сервер отправляет вместе с ответами на страницы, и, следовательно, ВСЕГДА запрашивает данные с сервера?