在英文语境下的差异:
插件对应的是“Plugin”,扩展对应的是“Extension”,所以它俩背后其实是两个完全不同的词。
在功能层面差异:
插件并不会增加浏览器自身的功能,可调用操作系统的 API,并且不同操作系统的插件一般不能混用。我们经常遇到的插件有:Flash 插件、PDF 插件、Java 插件等等。
相比较之下,扩展则可以增加浏览器本身的功能,也可以调用浏览器的 API,并且同一个浏览器的扩展一般也都是可以跨操作系统使用的。比如,你在 Windows 使用的那些 Chrome 扩展,换到 Mac 平台上也一样能用。
安全性方面的差异
由于插件一般实现的都是比较底层的功能,所以一旦出现问题,往往就会牵涉到整个操作系统,像 Flash 插件就属于经常被扒出高危漏洞的那一类。
相比较之下,扩展出现问题,其危害性类往往似于浏览器漏洞。不过 Chrome Extension 在为用户带来便利的同时,也的确带来了不少安全问题,Google Chrome 的稳定版甚至还禁掉了 Windows 用户安装 Chrome Web Store 外扩展的权限。即便是在 Chrome Web Store 中的应用也不能保证绝对安全,因为 Google 自己也下架过一些有安全隐患的扩展。
好了,看完这些差异后,有没有感觉插件和扩展之间的区别还是蛮大的,下次再遇到有人混淆这两个概念时不妨纠正一下。