2023 了,网站有大量小图片应该怎么处理?

查看 72|回复 4
作者:garlics   
本来是小图片都放在后端,然后前端通过 https 访问。这么用一直没啥问题,直到最近发现 cdn 开始对 https 访问次数收费,我每天不到 4 千的 uv ,半个月就干了 200w 请求,直接就把月免费额度干完了。
目前就想到两个方法减少图片的 https 请求,一个是直接在接口返回 base64 ,一个是雪碧图。我网站的图片基本都不变化,使用 base64 的话,就无法使用浏览器的缓存,用户体验会变差。使用雪碧图的话,我刚看了下,目前有 600 多个小图片,但是每次网页只展示 40~60 个,虽然展示的有点规律,但是不多。一次生成 600 多个图片的雪碧图,文件过大,体验也不太好。如果是后端根据前端请求统一图片生成雪碧图并返回相应 css 给前端似乎能解决相关的痛点,不过实现起来有点麻烦,如果没有更好的方案估计会选用这么做。

雪碧图, 图片, base64, 请求

docx   
对象存储,用另一家服务商
Chad0000   
如果能上 cf 就没有这个问题了
netnr   
使用 Service Worker 缓存图片或整站
garlics
OP
  
@docx 使用对象储存还是需要用 cdn 进行访问吧,刚看了下七牛的免费额度只适用于 http 请求,而要换服务商的话肯定也是等现在服务商的流量用完再说。
@Chad0000 因为面向的是国内用户,所以就没上 cf 。
@netnr 我这个场景网页是一天一变,缓存整站意义不大。缓存图片的话,我配置了 http 的缓存规则,应该不用额外处理也是默认缓存的吧,不过我倒是没详细测试过缓存生效没有。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部