项目中有图库功能,用户可以上传自己的图片到阿里云oss,然后有个图库,图库用react-window实现了虚拟列表去滚动。
比如接口请求回来100条数据,100张图片在虚拟列表中滚动。
滚动到下面,再滚动到上面时,发现图片没有http缓存,每次新的图片出来http状态都是200,都需要几十毫秒去请求,阿里云oss能不能设置让浏览器支持http缓存,这样已经加载过的图片,就不用再次http请求了。
项目中有图库功能,用户可以上传自己的图片到阿里云oss,然后有个图库,图库用react-window实现了虚拟列表去滚动。
比如接口请求回来100条数据,100张图片在虚拟列表中滚动。
滚动到下面,再滚动到上面时,发现图片没有http缓存,每次新的图片出来http状态都是200,都需要几十毫秒去请求,阿里云oss能不能设置让浏览器支持http缓存,这样已经加载过的图片,就不用再次http请求了。
阿里云OSS是支持浏览器缓存的。可以通过设置OSS的缓存策略来控制浏览器缓存图片。在上传图片时,可以设置图片的缓存头部信息,比如设置Cache-Control
为指定的缓存时间,下次浏览器再次请求同一张图片时,会先检查缓存是否有效,如果有效则不再重新请求图片,直接从缓存中加载。可以在上传图片时,设置metadata中的Cache-Control字段来设置图片缓存时间。
8 回答4.8k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
5 回答2.9k 阅读✓ 已解决
6 回答2.4k 阅读
5 回答6.4k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
阿里云存储如何让浏览器始终以200 (from cache)缓存图片?