Как вы кешируете файл на стороне клиента, так что браузер перестает даже пытаться запросить его снова? - PullRequest
7 голосов
/ 10 июня 2010

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

Cache-Control: private,max-age=86400

Насколько я понимаю, браузер даже не должен запрашивать этот файл в течение 24 часов (86 400 = 60 с* 60m * 24h).

Что я вижу в последующих запросах, так это то, что он все еще запрашивает файл, но возвращает «304 Not Modified».Это хорошо, но я хочу удалить даже этот запрос / ответ.

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

Ответы [ 2 ]

2 голосов
/ 10 июня 2010

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

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

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

0 голосов
/ 10 июня 2010

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

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

...