前言
前段时间,我写过两篇关于 Github
+ jsDelivr
免费CDN
加速相关的文章,分别是:Github + jsDelivr,全球免费 CDN加速和通过 Github+ jsDelivr + PicGo配置免费图床。到目前为止,已经在我的个人博客中试用一个月左右了,这篇文章想再说说我的使用感受,遇到的问题,以及我的解决方案。
1. 感受和问题
大多数情况下,jsDelivr
免费 CDN
使用起来还是比较满意的,但遗憾的是,并没有我想象中的那么完美。起初,我以为这会是一个免费、稳定且高效的解决方案,毕竟都是国际性的大厂,奈何,或许是水土不服,jsDelivr
免费和高效的目标达到了,但在大陆这边访问,并没有我想象中的稳定,偶尔还是会出现图片访问不了的情况。
一旦出现这种情况就难受了,页面中的图片就可能显示不出来,导致页面丑陋,好在这种情况不会持续太久,过一会就会恢复了。但整体上来说,还是严重影响到了用户体验。
2. 解决方案
首先需要说在前面的是,虽然有办法彻底解决该问题,但我自己却没有采用这种方案,只是从一定程度上进行了缓解,使用户使用体验不至于那么差。
通过前面的两篇文章我们知道,网站中的图片大致为两类,一类是类似于背景图,网站LOGO的静态资源,另一类是文章中的截图、配图等。
针对背景图,网站LOGO等过于显眼的图片,这部分图片的明显特征是数量比较少,但一旦无法访问,用户立马就能有明显的感知,这些图片可以直接存储在网站本地,不通过 github
管理,以提高图片加载的稳定性。
而针对文章中的截图、配图等,其特点则是数量巨大,但通常路径较深,用户需要打开具体的文章详情页,且仔细阅读才能感知到,该部分可以继续通过 github
管理,并通过 jsDelivr
加速。唯一的问题就是一旦 jsDelivr
不稳定,首页文章列表的图片就会显示不出来,导致用户体验急速下降。这时,我的做法是当封面加载不出来时,随机替换一张事先配置的图片作为封面,避免文章列表用户体验下降的问题。
不难想到,毕竟图片已经被github
管理起来了,只要再维护一个图库站点,当jsDelivr
不稳定时使用自己的图库就可以彻底解决该问题,但我感觉维护起来太麻烦了,并且目前对我来讲意义并不是很大,所以我没有这么做,但如果有需要,你可以尝试一下。
我的个人博客就是这么处理的,下图第一条就是图片加载不出来时的展示效果。
这样做的好处就是,当 jsDelivr
稳定的时候,我们可以完美地利用 CDN
加速的优势,而不稳定的时候,也不至于那么难看。而且我们也应该相信,这个问题未来 jsDelivr
是会解决的... ...吧?
结语
果不其然,免费总归是有代价的,如果你的网站是图库性质,或者对图片的稳定性要求较高,那还是直接本地存储,或买付费的吧。而如果你跟我一样,网站访问量不大,并且图片大多数情况只是起到补充说明,甚至仅仅是美化作用,或者你的网站主要服务于海外,为了节省成本还是可以用一用的,毕竟它使用和管理起来确实太方便了。
评论2
Shuo
嗯嗯,虽然不太专业,但是我感觉用户体验感还是第一位的,所以我那边自始至终不考虑设广告位!同样的特别影像体验!
老朱
内容才是最主要的,你看github用起来网速恶心的要死,但我们还是屁颠屁颠的用,不过我们自己做网站,还是要重点考虑体验,毕竟内容没别人牛逼😭