【涨姿势】“Chrome 插件”和“Chrome 扩展”其实不是一回事!

来,一起玩个小游戏。现在抓住离你最近的程序员,问问他(她)“浏览器插件”和“浏览器扩展”之间有什么区别,接着看看对方啥反应。

hh11

其实,即便在互联网这个圈子中,我也经常遇到把插件说成扩展、把扩展说成插件的用户。虽然在沟通的过程中一个称谓或许没那么重要,但如果你有兴趣了解一下插件和扩展之间的区别,那就接着往下看。

在英文语境下的差异

插件对应的是“Plugin”,扩展对应的是“Extension”,所以它俩背后其实是两个完全不同的词。

在功能层面差异

插件并不会增加浏览器自身的功能,可调用操作系统的 API,并且不同操作系统的插件一般不能混用。我们经常遇到的插件有:Flash 插件、PDF 插件、Java 插件等等。

相比较之下,扩展则可以增加浏览器本身的功能,也可以调用浏览器的 API,并且同一个浏览器的扩展一般也都是可以跨操作系统使用的。比如,你在 Windows 使用的那些 Chrome 扩展,换到 Mac 平台上也一样能用。

安全性方面的差异

由于插件一般实现的都是比较底层的功能,所以一旦出现问题,往往就会牵涉到整个操作系统,像 Flash 插件就属于经常被扒出高危漏洞的那一类。

相比较之下,扩展出现问题,其危害性类往往似于浏览器漏洞。不过 Chrome Extension 在为用户带来便利的同时,也的确带来了不少安全问题,Google Chrome 的稳定版甚至还禁掉了 Windows 用户安装 Chrome Web Store 外扩展的权限。即便是在 Chrome Web Store 中的应用也不能保证绝对安全,因为 Google 自己也下架过一些有安全隐患的扩展。

好了,看完这些差异后,有没有感觉插件和扩展之间的区别还是蛮大的,下次再遇到有人混淆这两个概念时不妨纠正一下。

鉴于我也是多年以前在编程随想的博客中了解到二者之间的差别的,所以文章的最后也感谢一下喜欢普及常识的博文作者。

订阅更多文章