为什么开发者不该依赖前端资源公共库?

十几年前,互联网上的网站大多都是简陋的 — 白底黑字,千篇一律的样式,文中穿插几张图片。就构成了一个普通的网页。在那个上网不便的年代,窝们也能看的津津有味。也没人会对这份简陋抱怨什么。
十几年后,时代变了,随着互联网的普及以及web标准的完善,越来越多的网站开始重视视觉体验、浏览体验。于是这些网站的开发者们便会尝试使用各种各样的新兴技术和框架来打造自己心目中的完美效果。
为了开工及时,减少管理样式文件的繁琐过程,已经有相当一部分人选择了使用在线cdn或者前端资源公共库的方式直接从别处引用样式文件。虽然这确实看上去省事了,但也埋下了一些不好的隐患。

1.影响网站加载速度。
由于用户网络环境较为复杂,谁也不能保证自己的网站100%地可以被快速访问,尽管一些人认为自己的网站可以实现上述的效果,但页面中引用的第三方资源还是会拖慢页面的加载速度。
如果这些文件托管在容易被审查的网域上,那么还有可能会导致引用其的第三方网站在部分国家/地区无法打开。

2.带来不可控安全因素
部分人可能听说过百度统计的js在海外地区被中间人注入恶意代码,以借助海外访问者浏览器发送大量无效请求,用来DDOS攻击Github等网站的消息。这就是一起很典型的投毒事件。
第三方参考链接:
https://zh.greatfire.org/blog/2015/mar/chinese-authorities-compromise-millions-cyberattacks
https://www.wired.com/story/github-ddos-memcached/
https://zhuanlan.zhihu.com/p/19987510
https://blog.longwin.com.tw/2015/03/github-china-ddos-attack-2015/

3.有概率会产生各种bug
引用的第三方样式文件大多会随着开发者的开发进度及时更新,因此有概率会在某个时间点的版本取消某些支持,或者开发过程中无意中产生的代码错误影响引用它的第三方网站。

因此除非万不得已(例如引用地图sdk等),一定要把样式文件本地化管理。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注