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

Amazon s3 在s3中内容发生变化时,如何让浏览器下载html?,amazon-s3,download,browser-cache,Amazon S3,Download,Browser Cache,我正在使用s3bucket来托管我的网站。每当我发布新版本的网站时,我都希望所有客户端从s3下载它,而不是从浏览器缓存中读取。我知道我可以为保存在s3bucket上的对象设置过期时间,但这不是一个理想的解决方案,因为用户必须在一段时间内使用缓存内容。如果内容在s3 bucket中发生更改,是否有办法强制浏览器下载这些内容?无论您是使用s3 bucket托管还是任何其他托管服务器,都可以通过在文件名中添加散列号来控制缓存 例如,您的js文件包名称应该类似于bundle.7e2c49a622975e

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

无论您是使用s3 bucket托管还是任何其他托管服务器,都可以通过在文件名中添加散列号来控制缓存

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

这可以很容易地做到使用任何流行的捆绑包,如咕噜,咕噜,网页包。

我知道webpack可以生成一个具有哈希名称的文件。我的网站条目是
index.html
。浏览器按域url打开我的网站。如果浏览器缓存了
index.html
文件,但无法正确获取新的捆绑js文件?