npapi插件是什么(一文解读npapi插件细则)
.
为什么几乎所有的浏览器,都在正在淘汰或者已经淘汰对NPAPI插件的支持?NPAPI插件全称Netscape Plugin Application Programming Interface,称为网景插件应用程序编程接口。NPAPI插件可以实现流媒体视频和剪切板访问,但是随着浏览器和网页的迅猛发展,NPAPI插件存在着的性能问题、安全问题和崩溃问题,对于浏览器使用者都是潜在的隐患,可见NPAPI插件已经显得老态龙钟。.
在很久以前,NPAPI插件用来帮助浏览器渲染一些HTML没有的东西,比如PDF、在线视频等等。其实在那个时候NPAPI插件是个非常好的架构,相对于ActiveX架构来说,简直可以称得上是业界良心。NPAPI插件的推出时间是1995年,那个时候手机可以砸死人,学校的电脑机房要穿鞋套才能进,在那个时候无论是网络环境还是商业环境,都比现在都要简单许多,所以那个时候几乎所有的API设计都自然的忽略掉了安全性的问题。.
曾经有用NPAPI做过游戏的朋友说,NPAPI的确存在很大的安全问题,那感觉就像是IE的ActiveX一样,可以随意的调用本地资源。几年之前一位程序员朋友就告诉我,NPAPI可以做很多不可描述的事情,虽然至今没见爆出过什么大新闻。像taobao、迅雷等等国内大佬都有过类似的插件,非IE内核的浏览器比如chrome、opera、safari、firefox当时都支持这个机制。总之,NPAPI插件可以任意访问系统资源,而且权限非常高。.
NPAPI插件它和浏览器是平级运行的,它可以打开网页,给你下载安装一个木马,然后随后把你的杀毒软件关掉。而且NPAPI插件除了安全性问题之外,一旦NPAPI崩溃那么浏览器就会跟着一起崩溃。于是各个浏览器就想着把NPAPI插件放到另外一个进程中运行,不过这样就又带来了耗电量增加,图形效率低,脚本效率低等一系列的问题。.
谷歌就在这个时候推出了PPAPI,然后浏览器业界都觉得这个新API挺好,因为有沙箱,所以插件用起来更加的安全,谷歌从chrome的45版本就开始移除了NPAPI、JAVA APPLETS、silverlight等插件的支持,推出HTML5之后Flash Player也是视频播放的次选项了,网页也越来越轻盈化和标准化了,这无论对用户还是开发者来说都是一件好事。Adobe也认怂了,发布了新版本的PPAPI插件,如果你遇到了Flash插件无法运行的对话框,你可以尝试去下载一个最新的PPAPI的Flash插件,或者去下载一个最新版本的Chrome。