当浏览器的内容在s3中发生变化时,如何让浏览器下载html



我正在使用s3存储桶来托管我的网站。每当我发布新版本的网站时,我都希望所有客户端从s3下载,而不是从浏览器缓存中读取。我知道我可以为保存在s3bucket上的对象设置一个过期时间,但这不是一个理想的解决方案,因为用户必须在一段时间内使用缓存的内容。如果s3 bucket中的内容发生了更改,有没有办法强制浏览器下载这些内容?

无论您是使用s3 bucket进行托管还是使用任何其他托管服务器,都可以通过在文件名后面添加哈希数来控制缓存。

例如,您的js文件包名称应该类似于bundle.7e2c49a622975ebd9b7e.js。当您再次部署它时,它将更改为其他一些哈希值bundle.205199ab45963f6a62ec.js。通过这样做,浏览器会自动知道,新文件已经到达,应该再次下载。

这可以很容易地使用任何流行的捆绑器,如咕哝,吞咽,网络包。webpack示例

最新更新