一种浏览器插件实现方法、HTTP应用服务器和浏览器技术领域
本申请涉及计算机应用技术领域,更具体地说,涉及一种浏览器插件实
现方法、HTTP应用服务器和浏览器。
背景技术
目前主流的浏览器,如MicrosoftInternetExplorer、GoogleChrome、Mozilla
Firefox、360安全浏览器等,在需要使用数字签名、网银支付等独立于浏览器
以外的特定功能时,需要用到浏览器插件技术来实现。目前常见的浏览器插
件技术主要是Microsoft的ActiveX/COM、NetscapeNPAPI、GoogleChrome扩
展等。这些插件全部安装于浏览器中,这些插件一旦在浏览器中安装完成后,
即可访问浏览器中的所有数据、密码和浏览的网站,给用户带来严重的安全
隐患。
如何提高用户在使用插件时的安全性,成为本领域技术人员亟待解决的
技术问题之一。
发明内容
有鉴于此,本申请提供一种浏览器插件实现方法、HTTP应用服务器和浏
览器,以解决现有技术中在使用插件时存在严重的安全隐患的问题。
为了实现上述目的,现提出的方案如下:
一种浏览器插件实现方法,应用于HTTP应用服务器中,包括:
获取浏览器下发的POST数据请求,所述POST数据请求为浏览器通过预
设应用程序下发的请求指令;
对所述POST数据请求进行解析,获得所述POST数据请求包含的功能名
称标识和参数信息;
调取预设数据库中与所述功能名称标识相匹配的插件作为目标插件,将
所述参数信息发送至所述目标插件,所述数据库中包含有多个用户预安装的
插件;
获取并将所述目标插件依据所述参数信息生成的响应信息上传至浏览
器。
优选的,上述浏览器插件实现方法中,所述获取浏览器下发的POST数
据请求,所述POST数据请求为浏览器通过预设应用程序下发的请求指令,
包括:
获取浏览器下发的采用JSON封装技术封装过的POST数据请求,所述
POST数据请求为浏览器通过预设应用程序下发的、采用JSON封装技术封装
过的请求指令。
一种浏览器插件实现方法,应用于浏览器中,包括:
依据用户操作访问Web应用服务器,所述应用服务器用于存储含有预设
脚本的页面,并提供来自浏览器的请求的服务;
运行当前访问的所述含有预设脚本的文件页面,依据预设的应用程序生
成POST数据请求;
将所述POST数据请求发送至HTTP应用服务器;
获取所述HTTP应用服务器依据所述POST数据请求生成的响应信息;
将所述响应信息上传至所述含有预设脚本的页面。
优选的,上述浏览器插件实现方法中,所述预设应用程序为AJAX应用
程序。
优选的,上述浏览器插件实现方法中,所述预设应用程序为Websocket
应用程序。
一种HTTP应用服务器,包括:
请求采集单元,用于获取浏览器下发的POST数据请求,所述POST数据
请求为浏览器通过预设应用程序下发的请求指令;
数据解析单元,用于对获取到的所述POST数据请求进行解析,获得所
述POST数据请求包含的功能名称标识和参数信息;
插件调取单元,用于调取数据库中与所述功能名称标识相匹配的插件作
为目标插件,将所述参数信息发送至所述目标插件,所述数据库设置于所述
HTTP应用服务器中,包含有多个用户预安装的插件;
响应采集单元,用于获取并将所述目标插件依据所述参数信息生成的响
应信息上传至浏览器。
优选的,上述HTTP应用服务器中,所述响应采集单元,包括:
子采集单元,用于获取所述目标插件依据所述参数信息生成的响应信息;
封装单元,用于将所述响应信息采用JSON封装技术封装后上传至所述浏
览器。
一种浏览器,包括:
访问模块,用于依据用户操作访问Web应用服务器,所述应用服务器用
于存储含有预设脚本的页面,并提供来自浏览器的请求的服务;
数据请求生成模块,用于运行当前访问的所述含有预设脚本的文件页面,
依据预设的应用程序生成POST数据请求,将所述POST数据请求发送至
HTTP应用服务器;
响应采集单元,用于获取所述HTTP应用服务器依据所述POST数据请
求生成的响应信息,将所述响应信息上传至所述含有预设脚本的页面。
优选的,上述浏览器中,所述预设应用程序为AJAX应用程序。
优选的,上述浏览器中,所述预设应用程序为Websocket应用程序。
从上述的技术方案可以看出,本申请公开的上述方法,所述目标插件在
进行响应时是在所述Http应用服务器中运行并响应的,并且由于所述Http应用
服务器是独立于所述浏览器而存在的,因此,所述目标插件无需安装于所述
浏览器上,因此所述插件在运行时,并不能对能对浏览器中的数据、密码和
浏览的网站进行访问,因此提高了用户在使用插件时的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实
施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面
描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不
付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种浏览器插件实现方法的流程图;
图2为本申请另一实施例提供的一种浏览器插件实现方法的流程图;
图3为本申请实施例提供的一种Http应用服务器的结构示意图;
图4为本申请实施例提供的一种浏览器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行
清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而
不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做
出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了提高用户在使用插件时的安全性,本申请公开了一种浏览器插件实
现方法,该方法应用于Http应用服务器中,所述HttP应用服务器是安装在用户
计算机端的一个应用程序,所述Http应用服务器基于HTTP协议,该协议是一
个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式
超媒体信息系统。其内设置有用户预安装的Http应用服务程序,所述Http应用
服务程序是可以向发出请求的浏览器提供服务的程序。当Http应用服务器接收
到一个HTTP请求(request)后,会返回一个HTTP响应(response)。参见图1,
本申请公开的浏览器插件实现方法包括:
步骤S101:获取浏览器下发的POST数据请求,所述POST数据请求为
浏览器通过预设应用程序下发的请求指令;
步骤S102:对所述POST数据请求进行解析,获得所述POST数据请求
包含的功能名称标识和参数信息;
步骤S103:调取预设数据库中与所述功能名称标识相匹配的插件作为目
标插件,将所述参数信息发送至所述目标插件,所述数据库中包含有多个用
户预安装的插件;
步骤S104:获取并将所述目标插件依据所述参数信息生成的响应信息上
传至浏览器。
参见本申请上述实施例公开的方法,可见,在上述方法中,所述目标插
件在进行响应时是在所述Http应用服务器中运行并响应的,可见,所述目标插
件无需安装于所述浏览器上,因此其并不能对能对浏览器中的数据、密码和
浏览的网站进行访问,因此提高了用户在使用插件时的安全性。
可以理解的是,本申请上述实施例中,所述POST数据请求可以指的是任
意一种需要插件运行并相应的数据请求,例如,其可以为数字签名认证、支
付请求认证等请求。
可以理解的是,为了方便所述Http应用服务器与所述浏览器之间的数据交
互,两者之间用于交互的数据需要进行数据封装,因此,本申请上述实施例
公开的上述方法中,获取并将所述目标插件依据所述参数信息生成的响应信
息上传至浏览器,包括:采用预设的封装形式对所述由所述目标插件获取到
的响应信息进行封装,将封装后的响应信息上传至所述浏览器。其中所述预
设的封装形式可以指的是JSON封装。即本申请上述实施例中,所述Http应用
服务器与所述浏览器之间的交互数据为采用以JSON封装技术封装后的数据。
此时,所述Http应用服务器获取到的POST数据请求的形式可以为:
其中,上述指令中,所述FunctionName指的是目标插件的功能名称标识,
所述Params指的时目标插件对应的参数信息(插件功能对应的参数)。具体
取值可如下:
当然,为了方便提醒用户所述目标插件的形影结果,所述HTTP应用服务
器接收到所述POST数据请求后,对所述POST数据请求解析得到目标插件的功
能接口(功能名称标识)与参数列表(参数信息),调用相应的目标插件进
行数据处理,把处理响应信息拼装成JSON回应给浏览器,所述响应信息可采
用JSON封装格式进行封装,例如:
当所述目标插件操作成功时,所述采用JSON封装格式封装后的响应信息
可以为:{"function":"SOF_GetUserList","array":"array"}
当所述目标插件操作失败时,所述采用JSON封装格式封装后的响应信息
可以为:{"function":"SOF_GetUserList","return":0}
对应于上述实施例公开的上述应用于Http应用服务器中的浏览器插件实
现方法,本申请还公开了另外一种应用于浏览器的浏览器插件实现方法,参
见图2,该方法包括:
步骤S201:依据用户操作访问Web应用服务器,所述应用服务器用于存
储含有预设脚本的页面,并提供来自浏览器的请求的服务;
步骤S202:运行当前访问的所述含有预设脚本的文件页面,依据预设的
应用程序生成POST数据请求;
步骤S203:将所述POST数据请求发送至HTTP应用服务器;
步骤S204:获取所述HTTP应用服务器依据所述POST数据请求生成的
响应信息,将所述响应信息上传至所述含有预设脚本的页面。
参见本申请实施例公开的浏览器插件实现方法可见,当需要应用目标插
件时,并不需要在所述浏览器上运行所述目标插件,而是通过所述目标应用
服务器运行,因此保证了所述目标插件不会对所述浏览器中的数据信息进行
访问,因此提高了用户在使用所述目标插件时的安全性。
可以理解的是,在Web应用服务器中存储的页面信息通常采用预设格式的
脚本信息,通过所述具有预设脚本信息的页面信息提供浏览器服务的服务,
所述浏览器负责运行含有所述预设脚本信息的页面,浏览器与所述远程Web
应用服务器通过HTTP协议来进行交互。其中,当前最为常用的脚本格式为
AJAX和Websocket,因此,针对于,本申请上方法中,所述预设的应用程序
可以为用于对AJAX脚本信息进行处理的AJAX应用程序或用于对Websocket
脚本信息进行处理的Websocket应用程序。
本申请上述实施例公开的浏览器插件实现方法通过设置在用户计算机上
的Http服务器与运行于浏览器内的Ajax或Websock应用进行数据交互,从而代
替了现有控件技术,保证用户安全。
可以理解的是,将本申请上述应用于HTTP应用服务器的浏览器插件实现
方法和应用于浏览器的种浏览器插件实现方法相结合后,本申请还可以得到
一种完整相应的种浏览器插件实现方法,包括:
步骤S201:依据用户操作访问Web应用服务器,所述应用服务器用于存
储含有预设脚本的页面,并提供来自浏览器的请求的服务;
步骤S202:运行当前访问的所述含有预设脚本的文件页面,依据预设的
应用程序生成POST数据请求;
步骤S203:将所述POST数据请求发送至HTTP应用服务器;
步骤S101:获取浏览器下发的POST数据请求,所述POST数据请求为
浏览器通过预设应用程序下发的请求指令;
步骤S102:对所述POST数据请求进行解析,获得所述POST数据请求
包含的功能名称标识和参数信息;
步骤S103:调取预设数据库中与所述功能名称标识相匹配的插件作为目
标插件,将所述参数信息发送至所述目标插件,所述数据库中包含有多个用
户预安装的插件;
步骤S104:获取并将所述目标插件依据所述参数信息生成的响应信息上
传至浏览器;
步骤S204:获取所述HTTP应用服务器依据所述POST数据请求生成的
响应信息,将所述响应信息上传至所述含有预设脚本的页面。
对应于上述应用于Http应用服务器中的浏览器插件实现方法,本申请还公
开了一种Http应用服务器,参见图3,该Http应用服务器包括:
请求采集单元10,用于获取浏览器下发的POST数据请求,所述POST
数据请求为浏览器通过预设应用程序下发的请求指令;
数据解析单元20,用于对获取到的所述POST数据请求进行解析,获得
所述POST数据请求包含的功能名称标识和参数信息;
插件调取单元30,用于调取数据库中与所述功能名称标识相匹配的插件
作为目标插件,将所述参数信息发送至所述目标插件,所述数据库设置于所
述HTTP应用服务器中,包含有多个用户预安装的插件;
响应采集单元40,用于获取并将所述目标插件依据所述参数信息生成的
响应信息上传至浏览器。
与上述方法相对应,所述响应采集单元40可以包括:
子采集单元41,用于获取所述目标插件依据所述参数信息生成的响应信
息;
封装单元42,用于将所述响应信息采用JSON封装技术封装后上传至所述
浏览器。
可以理解的是,对应于上述应用于浏览器的浏览器插件实现方法,本申
请还公开了一种浏览器,参见图4,包括:
访问模块50,用于依据用户操作访问Web应用服务器,所述应用服务器
用于存储含有预设脚本的页面,并提供来自浏览器的请求的服务;
数据请求生成模块60,用于运行当前访问的所述含有预设脚本的文件页
面,依据预设的应用程序生成POST数据请求,将所述POST数据请求发送至
HTTP应用服务器;
响应采集单元70,用于获取所述HTTP应用服务器依据所述POST数据请
求生成的响应信息,将所述响应信息上传至所述含有预设脚本的页面。
对应于上述方法,所述浏览器中的所述预设应用程序为AJAX应用程序或
AJAX应用程序。
需要说明的是,本申请上述实施例公开的方法与方法之间、装置与装置
之间、方法与装置之间的技术特征可相互借鉴。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语
仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求
或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术
语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而
使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且
还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或
者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存
在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都
是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用
本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易
见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,
在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,
而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。