Браузер кеширует статические файлы?

Когда я использую статические файлы, которые обслуживаются бэкэндом (Django/Node). Я заметил, что даже если я удалю статические файлы из внутренней статической папки. Статические значки или изображения будут по-прежнему отображаться даже после перезапуска сервера, если я работаю с одним и тем же портом локального хоста.

Например, я удалил следующий html:

<link rel="shortcut icon" href="assets/images/favicon.png">

И значок вкладки все еще отображается, пока я служу тому же localhost:port.

  • Почему это происходит?
  • И как мне его отключить?

person Community    schedule 09.11.2017    source источник
comment
это был просто кеш. Он может исчезнуть через несколько дней, или вы можете выполнить жесткое обновление: cmd + shift + R (ctr + shift + R в окне) и проверить еще раз.   -  person Kai    schedule 09.11.2017


Ответы (2)


Браузер кэширует статические файлы. При тестировании полезно отключить кеш. В Chrome перейдите в инструменты разработчика, щелкните вкладку «Сеть» и установите флажок «Отключить кеш».

person dobolicious    schedule 09.11.2017
comment
Есть ли способ настроить это с помощью параметров командной строки или файла конфигурации? - person konstunn; 14.12.2018

При работе с сайтами для клиентов требуется добавление версии в путь к файлу статического контента.

Например:

<link rel="shortcut icon" href="assets/images/ver-1/favicon.png">
<link rel="shortcut icon" href="assets/images/ver-2/favicon.png">
<link rel="shortcut icon" href="assets/images/ver-3/favicon.png">

Или даже:

<link rel="shortcut icon" href="assets/images/favicon-2017-11NOV-08.png">
<link rel="shortcut icon" href="assets/images/favicon-2017-12DEC-25.png">
<link rel="shortcut icon" href="assets/images/favicon-2018-01JAN-01.png">

Использование этих или подобных методов означает, что нет необходимости изменять настройки браузера на чьем-либо компьютере.

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

person JonathanDavidArndt    schedule 09.11.2017