当S3中的内容更改时,如何使浏览器下载html?

时间:2018-12-13 05:02:34

标签: amazon-s3 download browser-cache

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

1 个答案:

答案 0 :(得分:1)

无论您是使用s3存储桶托管还是其他托管服务器,都可以通过在文件名后附加哈希码来控制缓存。

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

可以使用任何流行的捆绑器(例如grunt,gulp,webpack)轻松完成此操作。 webpack example