Как Вы кэшируете файл, клиентский таким образом, что браузер прекращает даже потрудиться запрашивать это снова?

Я передаю изображение обратно со следующим заголовком ответа HTTP:

Cache-Control: private,max-age=86400

Мое понимание - то, что браузер даже не должен просить этот файл в течение 24 часов (86,400 = 60-е * 60 м * 24-й).

То, что я вижу по последующим запросам, - то, что это все еще просит файл, но возвращает "304, Не Измененные". Это хорошо, но я хочу удалить даже тот запрос/ответ.

Что заголовок требуется, чтобы предотвращать браузер от ровного того, чтобы потрудиться попросить файла, и просто иметь его вслепую используют файл, который это имеет в локальном кэше, пока тот файл не истекает?

7
задан Deane 9 June 2010 в 20:14
поделиться

2 ответа

Все действительно зависит от того, как вы это тестируете. В Firefox 3.6 и IE8 при нажатии на ссылку, а затем на ссылку, которая переместит вас обратно на первую страницу, кэш будет использоваться правильно с max-age. Повторное нажатие клавиши Return в поле URL приводит к такому же поведению.

Однако нажатие клавиши F5 снова запрашивает файл, но разрешает 304 ответ.

Нажатие Ctrl+F5 всегда будет запрашивать файл снова, с Cache-Control и Pragma, установленными на no-cache, заставляя отвечать 200.

2
ответ дан 7 December 2019 в 18:40
поделиться

Это просто невозможно сделать надежно в HTML <5.

Вы можете использовать хранилище на стороне клиента в HTML5 или использовать расширение браузера, например Шестерни для обеспечения этой функции.

0
ответ дан 7 December 2019 в 18:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: