浏览器缓存静态文件?

Browser caching static files?

当我使用由后端服务的静态文件时 (Django/Node)。我注意到即使我从后端静态文件夹中删除了静态文件。只要我服务于相同的本地主机端口,即使在我重新启动服务器后,静态图标或图像仍会显示。

例如我删除了以下html:

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

只要我服务于相同的 localhost:port,标签图标仍然显示 localhost:port

浏览器缓存静态文件。测试时,禁用缓存很有用。在 chrome 中,转到开发人员工具,单击“网络”选项卡,然后选中 "Disable cache"。

在为客户处理站点时,需要将版本添加到静态内容文件路径。

例如:

<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">

使用这些或类似方法,意味着无需修改任何人计算机上的浏览器设置。

更改文件名将强制所有浏览器从服务器检索新文件,并完全忽略旧文件的浏览器缓存。