Web客户端与服务器交互的方法、装置及系统的制作方法

文档序号:7894118阅读:155来源:国知局
专利名称:Web客户端与服务器交互的方法、装置及系统的制作方法
技术领域
本发明涉及计算机领域,具体涉及Web客户端与服务器交互的方法、装置及系统。
背景技术
Javascript>VBscript或flash脚本是广泛应用于Web客户端的网页开发脚本语言,可独立运行于用户的Web客户端上而不需要服务器的支持。随着Web2. O体系应用及HTML5技术的发展,javascript提供的网络套接字Websocket更是让Web客户端与服务器实现双向通信功能。脚本语言javascript的功能越来越强大,所以一些原来运行在服务器端的业务逻辑越来越多的被部署于Web客户端中使用脚本语言程序代码运行,以减少对服务器的负担,然而与此同时也带来了另一个问题安全性,换言之,使用javascript这种明文作为业务载体的客户端/服务器C/S模式的发布就存在风险。当包含脚本语言javascript程序的网页被下载到Web客户端后,用户使用插件等手段可以完全看见甚至修改网页的源代码包括脚本语言的程序代码,因此如果把业务逻辑移植在脚本语言程序中时就将暴露给使用Web客户端的用户,这给服务器端应用程序埋下了不安全的隐患,因此如何隐藏好网页中的脚本语言程序代码成为目前迫切需要解决的问
题之一。

发明内容
本发明实施例提供一种Web客户端与服务器交互的方法、Web客户端及Web系统,在有效减轻应用服务器端负担的同时,实现较高的保密性。本发明实施例提供以下技术方案一方面,本发明实施例提供一种网页Web客户端与服务器交互的方法,包括向服务器发送网页下载请求;接收服务器返回的与所述网页下载请求对应的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含脚本语言程序代码;解析所述网页下载响应,从所述网页下载响应包含的网页内容中提取出所述脚本语言程序代码;当所述提取出的脚本语言程序代码被载入所述Web客户端的脚本引擎时,判断被载入所述Web客户端的脚本引擎中的所述脚本语言程序代码是否为密文形式的脚本语言程序代码,如果所述脚本语言程序代码是密文形式,则先调用解密模块对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码,其中,明文形式的脚本语言程序代码被载入所述脚本引擎中,再由脚本引擎执行载入所述脚本引擎中的明文形式的脚本语言程序代码。另一方面,本发明实施例提供一种网页Web客户端,包括接口模块,用于向服务器发送网页下载请求;接收所述服务器返回的与所述网页下载请求对应的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含脚本语言程序代码;解析引擎,用于解析所述网页下载响应,从所述网页下载响应包含的网页内容中提取出所述脚本语言程序代码;脚本引擎,用于当所述提取出的脚本语言程序代码被载入所述脚本引擎时,判断 被载入所述脚本引擎中的所述脚本语言程序代码是否为密文形式的脚本语言程序代码,如果所述脚本语言程序代码是密文形式,则调用解密模块对所述密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码,其中,明文形式的脚本语言程序代码被载入所述脚本引擎中,以及用于执行载入所述脚本引擎中的明文形式的脚本语言程序代码;解密模块,用于对所述密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码。再一方面,本发明实施例提供一种网页Web系统,包括应用服务器和本发明实施例的Web客户端,其中所述应用服务器用于接收Web客户端发送的网页下载请求,并向Web客户端返回对应的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含密文形式的脚本语言程序代码,或者,明文形式的脚本语言程序代码。由上可见,本发明实施例中,Web客户端向服务器发送网页下载请求;接收服务器返回的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含脚本语言程序代码;解析所述网页下载响应,从所述网页下载响应包含的网页内容中提取出所述脚本语言程序代码;当所述脚本语言程序代码被载入所述Web客户端的脚本引擎时,判断被载入所述Web客户端的脚本引擎中的所述脚本语言程序代码是否为密文形式的脚本语言程序代码,如果所述脚本语言程序代码是密文形式,则先调用解密模块对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码,再由脚本引擎执行明文形式的脚本语言程序代码,这样不仅保证了从服务器到Web客户端之间的传送过程中网页中的脚本语言程序代码是以密文进行,而且当下载到Web客户端后,由于在解密模块中进行完成解密过程、在脚本引擎中执行被载入其中的解密得到的明文形式的脚本语言程序代码,这样,网页中的脚本语言程序代码的解密过程及解密后明文形式的脚本语言程序代码的执行过程是对Web客户端用户所不可见,做到了真正将网页中脚本语言程序代码的业务逻辑对Web客户端用户隐藏,从而在有效减轻应用服务器端负担的同时,实现了较高的保密性。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I是本发明实施例提供的一种Web客户端与服务器交互的方法的流程示意图;图2-A是本发明实施例提供的另一种Web客户端与服务器交互的方法的流程示意图;图2-B是本发明实施例提供的另一种Web客户端与服务器交互的方法的流程示意图;图3是本发明实施例提供的另一种Web客户端与服务器交互的方法的流程示意图;
图4是本发明实施例提供的另一种Web客户端与服务器交互的方法的流程示意图;图5是本发明实施例提供的一种Web客户端的结构示意图;图6是本发明实施例提供的一种Web系统的结构示意图;图7是本发明实施例提供的另一种Web系统的结构示意图。
具体实施例方式为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。本发明实施例提供一种在Web客户端与应用服务器交互的方法,装置以及系统。在Web客户端内引入解密模块和脚本引擎,当Web客户端程序下载网页后,Web客户端调用脚本引擎执行网页其中的脚本语言程序代码。脚本引擎在载入脚本语言程序代码时,判断脚本语言程序代码是否为密文形式,如果脚本语言程序代码为密文形式,调用解密模块对脚本语言程序代码解密,得到到解密过的明文形式的脚本语言程序,并将解密过的明文形式的脚本语言程序代码直接载入到脚本引擎中执行。本发明实施例不仅保证了从应用服务器到Web客户端中间的传送过程中网页中的脚本语言程序代码是以密文进行,而且当下载到Web客户端后,由于在解密模块中进行完成解密过程、在脚本引擎中执行被载入其中的解密得到的明文形式的脚本语言程序代码,这样,网页中的脚本语言程序代码的解密过程及解密后网页中的脚本语言程序代码的执行也是对Web客户端用户所不可见,做到了真正将网页中脚本语言程序代码的业务逻辑对Web客户端用户隐藏,从而在有效减轻应用服务器端负担的同时,实现了较高的保密性,进而一定程度上克服了现有技术中应用服务器对网页中包含的脚本语言程序代码加密后,应用服务器会将脚本语言解密方法以明文插入到该网页中的某个位置,然后将网页返回给Web客户端,Web客户端接收到网页后则通过脚本引擎调用脚本语言解密方法解密网页,获取明文网页(同时也就获取了网页中包含的明文脚本程序代码),脚本引擎再运行网页中的明文脚本程序代码)所带来的如下三个问题1)脚本语言解密方法以明文形式插入到网页中某个位置,再随网页下载到Web客户端,从而整个解密方法及过程暴露给使用Web客户端的用户。2)网页解密后其包含的脚本语言程序代码也将以明文形式交给Web客户端中的脚本引擎编译运行,Web客户端用户则能够获取该脚本语言程序代码,从而能够查看其中业务逻辑代码;3)Web客户端用户可进一步借助编辑插件等工具修改脚本语言程序代码,这给Web应用带来安全隐患。参见图1,为本发明实施例提供的一种Web客户端与服务器交互的方法,需要说明的是,本发明实施例的方法的执行主体可以是Web客户端,需要说明的是,本发明实施例的Web客户端可以理解为Web程序的运行环境或运行容器,例如可以是Web浏览器、WebWidget运行容器、Web应用运行容器等等,本发明实施例包括但不限于此,该方法可以包括:101、向服务器发送网页下载请求;

具体的,Web客户端通过加密(如https)或非加密(如http)方式向服务器发送网页下载请求;102、接收服务器返回的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含脚本语言程序代码;具体的,接收服务器通过加密(如https)或非加密(如http)方式返回的网页下载响应;应当理解的是,如果Web客户端与服务器之间通过加密(如https)方式进行通信,则可以保护通信通道的保密。以及,应当理解的是,网页内容中包含的脚本语言程序代码可以是反映业务逻辑的脚本语言程序代码。例如,脚本语言程序代码直接包含在网页中,或者,包含脚本语言程序代码的脚本文件包含在网页中。103、解析所述网页下载响应,从所述网页下载响应包含的网页内容中提取出所述脚本语言程序代码;具体如何提取出网页中的脚本语言程序代码,可采用现有技术,这里不再赘述。本发明实施例中涉及的脚本语言程序代码包括但不限于javascript、VBScript或者flash脚本等等。104、当所述脚本语言程序代码被载入所述Web客户端的脚本引擎时,由脚本引擎判断被载入所述Web客户端的脚本引擎中的脚本语言程序代码是否为密文形式的脚本语言程序代码,如果所述脚本语言程序代码是密文形式,则由脚本引擎先调用解密模块对密文形式的脚本语言程序代码进行解密,得到解密后的明文形式的脚本语言程序代码,再执行载入所述Web客户端的脚本引擎中的明文形式的脚本语言程序代码。如果本发明实施例中使用对称加密算法来加密,在一种实现方式下,本发明实施例的方法还可以包括步骤、调用解密模块根据预定的密钥协商机制生成密钥;相应的,步骤101具体为向服务器发送携带有所述密钥的网页下载请求。相应的,步骤104中所述调用解密模块对密文形式的脚本语言程序代码进行解密的步骤为调用解密模块采用所述生成的密钥对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码。或者,如果本发明实施例中使用非对称加密算法来加密,在一种实现方式下,本发明实施例的方法还包括步骤、调用解密模块根据预定的密钥协商机制生成密钥,所述密钥包括公钥和私钥;相应的,步骤101具体为向服务器发送携带有所述公钥的网页下载请求。相应的,步骤104中所述调用解密模块对密文形式的脚本语言程序代码进行解密的步骤为调用解密模块采用所述生成的私钥对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码。在另一种实现方式下,如果服务器采用密钥加密完脚本语言程序代码之后,向Web客户端返回网页下载响应,其中该网页下载响应包含网页内容(即请求的页面)以及密钥,其中所述网页内容包含密文形式的脚本语言程序代码,相应的,步骤101具体为接收服务器返回的网页下载响应,所述网页下载响应进一步携带有密钥;
相应的,步骤104中所述调用解密模块对密文形式的脚本语言程序代码进行解密的步骤为调用解密模块采用所述密钥或者由所述密钥转化而来的第N代密钥对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码,N大于或等于2。
需要说明的是,如果N = 2,则这里的第2代密钥是由所述网页下载响应中携带的密钥直接转化得到的;如果N= 3,则这里的第3代密钥是由前述第2代密钥进一步转化得到的,如此类推,应当理解的是,不对本发明实施例造成限定。由上可见,本实施例具有以下有益效果I)保密性好,网页中的脚本语言程序代码在应用服务器端加密后传输到Web客户端之后,直接被载Web客户端中的脚本引擎中,并通过Web客户端内的解密模块对载入Web客户端的脚本引擎中的脚本语言程序代码进行解密,将解密后的明文形式的脚本语言程序代码载入脚本引擎中执行,从服务器到Web客户端之间的整个传输过程中网页中的脚本语言程序代码以密文传输,而且当下载到Web客户端后,由于在解密模块中进行完成解密过程、在脚本引擎中执行被载入其中的解密得到的明文形式的脚本语言程序代码,这样,网页中的脚本语言程序代码的解密过程及解密后明文形式的脚本语言程序代码的执行过程是对Web客户端用户所不可见,实现了网页中的脚本语言程序在传输过程及Web客户端内解密运行的全过程的保密性,从而较好的保护了反映业务逻辑的脚本语言程序代码,消除了Web应用的安全隐患;2)减轻了应用服务器负担,由于网页中的脚本语言程序代码真正实现了对Web客户端用户隐藏,一些运行在应用服务器端的业务逻辑可以移植到脚本语言程序中在Web客户端运行,因此能够有效减轻应用服务器端的负担。参见图2-A,为本发明实施例提供的另一种Web客户端与服务器交互的方法,需要说明的是,本发明实施例的方法的执行主体可以是Web客户端,需要说明的是,Web客户端可以理解为Web程序的运行环境或运行容器,例如可以是Web浏览器、Web Widget运行容器、Web应用运行容器等等,本发明实施例对此不作限定,该方法可以包括200、开始;201、向服务器发送第一网页下载请求;202、接收服务器返回的第一密钥协商请求,所述第一密钥协商请求为服务器收到第一网页下载请求后所返回的;202、调用解密模块根据所述第一密钥协商请求生成密钥;需要说明的是,本实施例中可以使用对称加密算法来加密。204、向服务器发送第二网页下载请求,所述第二网页下载请求携带有所述密钥;205、接收服务器返回的第二网页下载响应,所述第二网页下载响应包含网页内容,其中所述网页内容包含密文形式的脚本语言程序代码,或者明文形式的脚本语言程序代码;需要说明的是,这里的所述第二网页下载响应包含的网页内容可以是加密后的网页内容,也可以是未加密的网页内容,具体根据实际应用场景或需求来实现。应当理解的是,服务器根据策略来决定网页内容中的哪些脚本语言程序代码需要加密,而哪些脚本语言程序代码不需要加密。或者,服务器根据策略来决定哪些网页内容中的脚本语言程序代码需要加密,而哪些网页内容中的脚本语言程序代码不需要加密。具体情况根据实际应用来决定。206、解析所述第二网页下载响应,从所述第二网页下载响应包含的网页内容中提取出脚本语言程序代码;207、当所述提取出的脚本语言程序代码被载入所述Web客户端的脚本引擎时,由脚本引擎判断被载入所述Web客户端的脚本引擎中的所述脚本语言程序代码是否为密文形式的脚本语言程序代码;如果所述脚本语言程序代码是密文形式,执行步骤208,反之,如果所述脚本语言程序代码是明文形式,执行步骤209 ;208、由脚本引擎先调用解密模块采用所述密钥对密文形式的脚本语言程序代码进行解密,得到解密后的明文形式的脚本语言程序代码,其中,解密后的明文形式的脚本代码被载入脚本引擎中。209、由脚本引擎执行被载入其中的明文形式的脚本语言程序代码。需要说明的是,步骤207中是直接提取出的脚本语言程序代码被载入所述Web客户端的脚本引擎中,步骤208中是解密后的明文形式的脚本语言程序代码被载入所述Web客户端的脚本引擎中。210、结束。由上可见,本实施例具有以下有益效果I)保密性好,网页中的脚本语言程序代码在应用服务器端加密后传输到Web客户端之后,直接被载入Web客户端中的脚本引擎中,并通过Web客户端内的解密模块对载入Web客户端的脚本引擎中的脚本语言程序代码进行解密,将解密后的明文形式的脚本语言程序代码载入脚本引擎中执行,从服务器到Web客户端之间的整个传输过程中网页中的脚本语言程序代码以密文传输,而且当下载到Web客户端后,由于在解密模块中进行完成解密过程、在脚本引擎中执行被载入其中的解密得到的明文形式的脚本语言程序代码,这样,网页中的脚本语言程序代码的解密过程及解密后明文形式的脚本语言程序代码的执行过程是对Web客户端用户所不可见,实现了网页中的脚本语言程序在传输过程及Web客户端内解密运行的全过程的保密性,从而较好的保护了反映业务逻辑的脚本语言程序代码,消除了 Web应用的安全隐患;2)减轻了应用服务器负担,由于网页中的脚本语言程序代码真正实现了对Web客户端用户隐藏,一些运行在应用服务器端的业务逻辑可以移植到脚本语言程序中在Web客户端运行,因此能够有效减轻应用服务器端的负担。参见图2-B,为本发明实施例提供的另一种Web客户端与服务器交互的方法,需要说明的是,本发明实施例的方法的执行主体可以是Web客户端,需要说明的是,Web客户端可以理解为Web程序的运行环境或运行容器,例如可以是Web浏览器、Web Widget运行容器、Web应用运行容器等等,本发明实施例对此不作限定,该方法可以包括220、开始;221、向服务器发送第三网页下载请求;222、接收服务器返回的第三密钥协商请求,所述第三密钥协商请求为服务器收到第三网页下载请求后所返回的;222、调用解密模块根据所述第三密钥协商请求生成成对的密钥,所述成对的密钥包括公钥和私钥;
需要说明的是,本实施例中可以使用非对称加密算法来加密。
应当理解的是加密解密的算法类别有很多对称与非对称、动态与静态,等等,而这些加密解密算法均可以应用于本发明实施例中。224、向服务器发送第四网页下载请求,所述第四网页下载请求携带有所述公钥;225、接收服务器返回的第四网页下载响应,所述第四网页下载响应包含网页内容,其中所述网页内容包含密文形式的脚本语言程序代码,或者明文形式的脚本语言程序代码;应当理解的是,服务器根据策略来决定网页内容中的哪些脚本语言程序代码需要加密,而哪些脚本语言程序代码不需要加密。或者,服务器根据策略来决定哪些网页内容中的脚本语言程序代码需要加密,而哪些网页内容中的脚本语言程序代码不需要加密。具体情况根据实际应用来决定。226、解析所述第四网页下载响应,从所述第四网页下载响应包含的网页内容中提取出所述脚本语言程序代码;227、当所述提取出的脚本语言程序代码被载入所述Web客户端的脚本引擎时,由脚本引擎判断被载入所述Web客户端的脚本引擎中的所述脚本语言程序代码是否为密文形式的脚本语言程序代码;如果所述脚本语言程序代码是密文形式,执行步骤228,反之,如果所述脚本语言程序代码是明文形式,执行步骤229 ;228、由脚本引擎先调用解密模块采用所述私钥对密文形式的脚本语言程序代码进行解密,得到解密后的明文形式的脚本语言程序代码,其中,解密后的明文形式的脚本代码被载入脚本引擎。229、由脚本引擎执行被载入其中的明文形式的脚本语言程序代码。需要说明的是,步骤227中是提取出的脚本语言程序代码被载入所述Web客户端的脚本引擎中,步骤228中是解密后的明文形式的脚本语言程序代码被载入所述Web客户端的脚本引擎中。230、结束。由上可见,本实施例具有以下有益效果I)保密性好,网页中的脚本语言程序代码在应用服务器端加密后传输到Web客户端之后,直接被载入Web客户端中的脚本引擎中,并通过Web客户端内的解密模块对载入Web客户端的脚本引擎中的脚本语言程序代码进行解密,将解密后的明文形式的脚本语言程序代码载入脚本引擎中执行,从服务器到Web客户端之间的整个传输过程中网页中的脚本语言程序代码以密文传输,而且当下载到Web客户端后,由于在解密模块中进行完成解密过程、在脚本引擎中执行被载入其中的解密得到的明文形式的脚本语言程序代码,这样,网页中的脚本语言程序代码的解密过程及解密后明文形式的脚本语言程序代码的执行过程是对Web客户端用户所不可见,实现了网页中的脚本语言程序在传输过程及Web客户端内解密运行的全过程的保密性,从而较好的保护了反映业务逻辑的脚本语言程序代码,消除了 Web应用的安全隐患;2)减轻了应用服务器负担,由于网页中的脚本语言程序代码真正实现了对Web客户端用户隐藏,一些运行在应用服务器端的业务逻辑可以移植到脚本语言程序中在Web客户端运行,因此能够有效减轻应用服务器端的负担。
为便于理解,下面从Web客户端与应用服务器交互的角度来介绍本发明实施例的方法。参见图3,为本发明实施例的一种Web客户端与应用服务器的交互方法,本发明实施例应用非对称加密算来加密,该方法可包括301a_301b、响应于用户访问网页的操作,Web客户端(例如接口模块)向应用服务器发送网页下载请求,以请求加载网页; 302、应用服务器判断请求的网页是否需要加密处理,当判断出请求的网页需要加密处理,则向Web客户端返回响应,以请求提供加密用的公钥;303、在收到该响应后,接口模块请求或调用解密模块生成密钥;303、解密模块基于密钥协商机制生成成对的密钥,包括公钥和私钥;需要说明的是,公钥和私钥是成对生成,公钥在互联网上传输,而私钥由私钥生成方和解密方即Web客户端管理。305、解密模块提供公钥给接口模块;306、Web客户端(例如接口模块)重新向应用服务器发送网页下载请求,其中公钥携带在重新发送的网页下载请求中;307、应用服务器请求或调用加密模块对请求网页中的脚本语言程序代码(这里的脚本语言程序代码可以是直接包含在网页中的脚本代码,或者是嵌入于网页中的脚本文件中包含的脚本代码,后文简称为脚本代码)进行加密;308、加密模块解析网页,提取出其中的脚本代码;309、加密模块使用公钥对提取出的脚本代码进行加密;310、加密模块向应用服务器返回包含密文形式的脚本代码的网页;311、应用服务器将包含密文形式的脚本代码的请求网页通过网页下载响应返回给Web客户端;312、Web客户端(例如接口模块)请求或调用解析引擎对网页进行解析处理;313、解析引擎解析该网页下载响应,提取出网页中的脚本代码;314、解析引擎将脚本代码载入脚本引擎;315、脚本引擎判断被载入其中(即被载入所述脚本引擎中)的脚本代码是密文形式的脚本代码还是明文形式的脚本代码,如果载入其中的脚本代码是密文形式的脚本代码,则转步骤316 ;如果载入其中的脚本代码是明文形式的脚本代码,则转步骤319 ;316、脚本引擎请求或调用解密模块解密该密文形式的脚本代码;317、解密模块使用步骤303中生成的私钥对该密文形式的脚本代码进行解密;318、解密模块将解密后的明文形式的脚本代码载入脚本引擎;319、脚本引擎执行载入其中的明文形式的脚本代码;320、脚本引擎向接口模块返回脚本代码的执行结果;应当理解的是,可选的,接口模块将会向用户展示脚本代码的执行结果,还可以响应于用户对脚本代码的执行结果的进一步操作向应用服务器发起其他的网页下载请求。由上可见,本实施例具有以下有益效果I)保密性好,网页中的脚本语言程序代码在应用服务器端加密后传输到Web客户端之后,直接被载入Web客户端中的脚本引擎中,并通过Web客户端内的解密模块对载入Web客户端的脚本引擎中的脚本语言程序代码进行解密,将解密后的明文形式的脚本语言程序代码载入脚本引擎中执行,从服务器到Web客户端之间的整个传输过程中网页中的脚本语言程序代码以密文传输,而且当下载到Web客户端后,由于在解密模块中进行完成解密过程、在脚本引擎中执行被载入其中的解密得到的明文形式的脚本语言程序代码,这样,网页中的脚本语言程序代码的解密过程及解密后明文形式的脚本语言程序代码的执行过程是对Web客户端用户所不可见,实现了网页中的脚本语言程序在传输过程及Web客户端 内解密运行的全过程的保密性,从而较好的保护了反映业务逻辑的脚本语言程序代码,消除了 Web应用的安全隐患;2)减轻了应用服务器负担,由于网页中的脚本语言程序代码真正实现了对Web客户端用户隐藏,一些运行在应用服务器端的业务逻辑可以移植到脚本语言程序中在Web客户端运行,因此能够有效减轻应用服务器端的负担。为便于理解,下面从Web客户端与应用服务器交互的角度来介绍本发明实施例的方法。参见图4,为本发明实施例的另一种Web客户端与应用服务器的交互方法,本发明实施例应用对称加密算来加密,该方法可包括401a_401b、响应于用户访问网页的操作,Web客户端(例如接口模块)向对应的应用服务器发送网页下载请求,以请求加载网页;402、应用服务器判断请求的网页是否需要加密处理,当判断出请求的网页需要加密处理,则向Web客户端返回响应,以请求提供加密用的密钥;403、在收到该响应后,接口模块请求或调用解密模块生成密钥;404、解密模块基于密钥协商机制生成密钥;需要说明的是,密钥在互联网上传输,且密钥也由密钥生成方和解密方即Web客
户端管理。405、解密模块提供密钥给接口模块;406、Web客户端(例如接口模块)重新向应用服务器发送网页下载请求,其中生成的密钥携带在重新发送的网页下载请求中;需要说明的是,Web客户端重新发送网页下载请求,并发送密钥给应用服务器(通过https方式安全通信);407、应用服务器请求或调用加密模块对请求网页中的脚本代码进行加密;408、加密模块解析请求网页,提取出其中的脚本代码;409、加密模块使用该密钥对提取出的脚本代码进行加密;410、加密模块向应用服务器返回包含密文形式的脚本代码的网页;411、应用服务器将包含密文形式的脚本代码的的网页通过网页下载响应返回给Web客户端;412、Web客户端(例如接口模块)请求或调用解析引擎对网页进行解析处理;413、解析引擎解析该网页下载响应,提取出网页中的脚本代码;414、解析引擎将脚本代码载入脚本引擎;414、脚本引擎判断被载入其中的脚本代码是密文形式的脚本代码还是明文形式的脚本代码,如果载入其中的脚本代码是密文形式的脚本代码,则转步骤416 ;如果载入其中的脚本代码是明文形式的脚本代码,则转步骤419 ;
416、脚本引擎请求或调用解密模块解密该密文形式的脚本代码;417、解密模块使用步骤404中生成的密钥对该密文形式的脚本代码进行解密,得到明文形式的脚本代码;418、解密模块将解密后的明文形式的脚本代码载入脚本引擎;419、脚本引擎执行载入其中的明文形式的脚本代码;420、脚本引擎向接口模块返回脚本代码的执行结果;应当理解的是,可选的,接口模块将会向用户展示脚本代码的执行结果,还可以响应于用户对脚本代码的执行结果的进一步操作向应用服务器发起其他的网页下载请求。由上可见,本实施例具有以下有益效果I)保密性好,网页中的脚本语言程序代码在应用服务器端加密后传输到Web客户端之后,直接被载Web客户端中的脚本引擎中,并通过Web客户端内的解密模块对载入Web客户端的脚本引擎中的脚本语言程序代码进行解密,将解密后的明文形式的脚本语言程序代码载入脚本引擎中执行,从服务器到Web客户端之间的整个传输过程中网页中的脚本语言程序代码以密文传输,而且当下载到Web客户端后,由于在解密模块中进行完成解密过程、在脚本引擎中执行被载入其中的解密得到的明文形式的脚本语言程序代码,这样,网页中的脚本语言程序代码的解密过程及解密后明文形式的脚本语言程序代码的执行过程是对Web客户端用户所不可见,实现了网页中的脚本语言程序在传输过程及Web客户端内解密运行的全过程的保密性,从而较好的保护了反映业务逻辑的脚本语言程序代码,消除了Web应用的安全隐患;2)减轻了应用服务器负担,由于网页中的脚本语言程序代码真正实现了对Web客户端用户隐藏,一些运行在应用服务器端的业务逻辑可以移植到脚本语言程序中在Web客户端运行,因此能够有效减轻应用服务器端的负担。本发明实施例还提供用于实施上述方法的相关装置和系统。参见图5、本发明实施例提供一种网页Web客户端50,所述Web客户端50用于与应用服务器交互,下载网页并解析网页,以及执行网页中的脚本语言程序代码,可包括接口模块51、解析引擎52、脚本引擎53和解密模块54,其中接口模块51,用于向服务器发送网页下载请求;接收所述服务器返回与所述网页下载请求对应的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含脚本语言程序代码;解析引擎52,用于解析所述网页下载响应,从所述网页下载响应包含的网页内容中提取出所述脚本语言程序代码,并调用脚本引擎处理;脚本引擎53,用于当所述提取出的脚本语言程序代码被载入所述脚本引擎53时,判断被载入所述脚本引擎53中的所述脚本语言程序代码是否为密文形式的脚本语言程序代码,如果所述脚本语言程序代码是密文形式,则调用解密模块54对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码,其中,明文形式的脚本语言程序代 码被载入所述脚本引擎中,以及用于执行载入所述脚本引擎中的明文形式的脚本语言程序代码;解密模块54,用于对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码。
在一种实现方式下,如果本发明实施例中使用对称加密算法来加密,而且由Web客户端主动生成密钥,相应的,解密模块54具体用于根据预定的第一密钥协商机制生成密钥,以及,采用所述生成的密钥对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码;相应的,接口模块51具体用于向服务器发送携带有所述生成的密钥的网页下载请求;接收所述服务器返回与所述网页下载请求对应的网页下载响应,所述网页下载响应包含网页内容,其中所述加密后的网页内容包含脚本语言程序代码;应当理解的是,这里的脚本语言程序代码为密文形式的脚本语言程序代码,或者,明文形式的脚本语言程序代码;依据实际情况而定。或者,在一种实现方式下,如果本发明实施例中使用非对称加 密算法来加密,而且由Web客户端主动生成密钥,相应的,解密模块54具体用于根据预定的第二密钥协商机制生成成对的密钥,所述密钥包括公钥和私钥;以及,采用所述生成的私钥对所述密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码;相应的,接口模块51具体用于向服务器发送携带有所述生成的公钥的网页下载请求;接收所述服务器返回的与所述网页下载请求对应的网页下载响应,所述网页下载响应包含网页内容,其中所述加密后的网页内容包含脚本语言程序代码;应当理解的是,这里的脚本语言程序代码为密文形式的脚本语言程序代码,或者,明文形式的脚本语言程序代码;依据实际情况而定。或者,在另一种实现方式下,如果服务器采用密钥加密完脚本语言程序代码之后,向Web客户端返回网页下载响应,其中该网页下载响应包含网页内容(即请求的页面)以及密钥(可选,如果脚本语言程序代码未被加密,则不包含密钥),其中所述网页内容包含密文形式的脚本语言程序代码,相应的,接口模块51具体用于向服务器发送网页下载请求;接收所述服务器返回与所述网页下载请求对应的网页下载响应,所述网页下载响应包含网页内容和密钥,其中所述网页内容包含密文形式的脚本语言程序代码;相应的,解密模块54具体用于采用所述密钥或者由所述密钥转化而来的第N代密钥对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码,其中,所述解密后的明文形式的脚本代码被载入所述脚本引擎中,N大于或等于2。在另一种实现方式下,本发明实施例应用非对称加密算法或者对称加密算法来加密,而且由服务器主动请求公钥或密钥;对称加密算法的情况下,接口模块51还用于在向服务器发送第一网页下载请求之后,接收服务器返回的第一密钥协商请求,所述第一密钥协商请求为服务器收到第一网页下载请求后所返回的;以及具体用于发送携带有所述解密模块54生成的密钥的网页下载请求;接收返回的与所述网页下载请求对应的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含密文形式的脚本语言程序代码,或明文形式的脚本语言程序代码;相应的,所述解密模块54具体用于根据收到的所述第一密钥协商请求生成密钥;以及,采用所述生成的密钥对所述密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码;或者,
非对称加密算法的情况下,接口模块51还用于向服务器发送第三网页下载请求,以及接收服务器返回的第三密钥协商请求,所述第三密钥协商请求为服务器收到第三网页下载请求后所返回的;以及具体用于发送携带有所述解密模块生成的公钥的网页下载请求;接收返回的与所述网页下载请求对应的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含密文形式的脚本语言程序代码,或明文形式的脚本语言程序代码;相应的,所述解密模块54具体用于根据收到的所述第三密钥协商请求生成成对的密钥,所述成对的密钥包括公钥和私钥;以及,采用所述生成的私钥对所述密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码。需要说明的是,使用非对称加密算法的情况下,解密模块54生成成对的公钥与私钥。公钥将被发送给应用服务器端加密用,私钥将被保留在Web客户端内用来对加密过的脚本语言程序解密。当对脚本语言程序解密得到的明文脚本语言程序代码直接交由脚本引 擎来执行,其整个工作过程对Web客户端用户是不可见的。需要说明的是,使用对称加密算法的情况下,密钥在互联网上传输,且密钥由密钥生成方和解密方即Web客户端管理。较优的,本发明实施例中,脚本引擎53具体用于判断被载入所述脚本引擎中的所述脚本语言程序代码是否为密文形式的脚本语言程序代码,如果判断出被载入所述脚本引擎中的所述脚本语言程序代码是密文形式,则调用解密模块对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码,以及执行载入脚本引擎53中的明文形式的脚本语言程序代码;如果判断出被载入所述脚本引擎中的所述脚本语言程序代码是明文形式,则直接执行被载入脚本引擎53中的明文形式的脚本语言程序代码。进一步的,接口模块51还用于显示所述脚本引擎53对所述脚本语言程序代码的执行结果。可以理解的是,本实施例的Web客户端可以理解为Web程序的运行环境或运行容器,例如可以是Web浏览器、Web Widget运行容器、Web应用运行容器等等,本发明实施例对此不作限定。本实施例的Web客户端其各个功能模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。由上可见,本实施例提出的一种Web客户端具有以下有益效果I)保密性好,网页中的脚本语言程序代码在应用服务器端加密后传输到Web客户端之后,直接被载Web客户端中的脚本引擎中,并通过Web客户端内的解密模块对载入Web客户端的脚本引擎中的脚本语言程序代码进行解密,将解密后的明文形式的脚本语言程序代码载入脚本引擎中执行,从服务器到Web客户端之间的整个传输过程中网页中的脚本语言程序代码以密文传输,而且当下载到Web客户端后,由于在解密模块中进行完成解密过程、在脚本引擎中执行被载入其中的解密得到的明文形式的脚本语言程序代码,这样,网页中的脚本语言程序代码的解密过程及解密后明文形式的脚本语言程序代码的执行过程是对Web客户端用户所不可见,实现了网页中的脚本语言程序在传输过程及Web客户端内解密运行的全过程的保密性,从而较好的保护了反映业务逻辑的脚本语言程序代码,消除了Web应用的安全隐患;2)减轻了应用服务器负担,由于网页中的脚本语言程序代码真正实现了对Web客户端用户隐藏,一些运行在应用服务器端的业务逻辑可以移植到脚本语言程序中在Web客户端运行,因此能够有效减轻应用服务器端的负担。
参见图6,本发明实施例还提供一种Web系统,可包括Web客户端50,用于向服务器发送网页下载请求;接收服务器返回的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含密文形式的脚本语言程序代码,或者,明文形式的脚本语言程序代码;解析所述网页下载响应,从所述网页下载响应包含的网页内容中提取出脚本语言程序代码;判断被载入所述Web客户端的脚本引擎中的所述提取出的脚本语言程序代码是否为密文形式的脚本语言程序代码,如果所述脚本语言程序代码是密文形式,则由脚本引擎先调用解密模块对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码,其中,明文形式的脚本语言程序代码被载入所述脚本引擎中,再由所述脚本引擎执行被载入所述脚本引擎中的明文形式的脚本语言程序代码;应用服务器60,用于接收Web客户端50发送的网页下载请求,并向Web客户端50返回网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含密文形式的脚本语言程序代码,或者,明文形式的脚本语言程序代码。较优的,Web客户端50还用于如果判断出被载入所述脚本引擎中的所述提取出的脚本语言程序代码是明文形式,则调用脚本引擎直接执行载入所述脚本引擎中的脚本语言程序代码。Web客户端50还用于当请求下载网页时,生成密钥,所述密钥包括公钥及私钥,并将公钥一同发送给应用服务器60。应用服务器60还用于接受到网页下载请求后,调用加密模块提取网页中的脚本语言程序代码,使用收到公钥加密脚本语言程序代码。需要说明的是,如图7所示,应用服务器提供一些应用服务,服务内容主要以网页形式传输。当需要对网页中包含的脚本语言程序代码加密时,应用服务器可以对脚本语言程序代码进行加密,并向Web客户端返回携带有密文形式的脚本语言程序代码的网页内容,例如,应用服务器可以调用应用服务器的加密模块或者外部的加密模块(如图7所示)解析网页,提取网页中的脚本语言程序,对网页中包含的脚本语言程序代码进行加密,并向Web客户端返回携带有密文形式的脚本语言程序代码的网页内容。其中,加密模块用于解析网页,提取出网页中的脚本语言程序代码或脚本文件,并使用密钥对提取的脚本语言程序代码或脚本文件进行加密。这里的密钥可以是请求Web客户端返回的密钥(对称加密算法的情况下),或者请求Web客户端返回的公钥(非对称加密算法的情况下),或者,Web客户端与应用服务器预先协商好的密钥,包括但不限于此。对于如图7所示的本实施例的Web系统中各组成部分的功能可以根据上述装置实施例中的内部功能模块具体实现,以及根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。需要说明的是,Web客户端与应用服务器之间可以采用http请求和响应,或者https请求和响应进行交互。由上可见,本实施例提出的一种Web系统具有以下有益效果I)保密性好,网页中的脚本语言程序代码在应用服务器端加密后传输到Web客户端之后,直接被载Web客户端中的脚本引擎中,并通过Web客户端内的解密模块对载入Web客户端的脚本引擎中的脚本语言程序代码进行解密,将解密后的明文形式的脚本语言程序代码载入脚本引擎中执行,从服务器到Web客户端之间的整个传输过程中网页中的脚本语言程序代码以密文传输,而且当下载到Web客户端后,由于在解密模块中进行完成解密过程、在脚本引擎中执行被载入其中的解密得到的明文形式的脚本语言程序代码,这样,网页 中的脚本语言程序代码的解密过程及解密后明文形式的脚本语言程序代码的执行过程是对Web客户端用户所不可见,实现了网页中的脚本语言程序在传输过程及Web客户端内解密运行的全过程的保密性,从而较好的保护了反映业务逻辑的脚本语言程序代码,消除了Web应用的安全隐患;2)减轻了应用服务器负担,由于网页中的脚本语言程序代码真正实现了对Web客户端用户隐藏,一些运行在应用服务器端的业务逻辑可以移植到脚本语言程序中在Web客户端运行,因此能够有效减轻应用服务器端的负担。需要说明的是,前述实施例描述中所采用的第一、第二、第三、第四的说法,没有限定顺序的意思,仅为方便区分而已。需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括只读存储器、随机存储器、磁盘或光盘等。以上对本发明实施例所提供的虚拟化处理方法及相关装置和计算机系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种网页Web客户端与服务器交互的方法,其特征在于,包括 向服务器发送网页下载请求; 接收服务器返回的与所述网页下载请求对应的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含脚本语言程序代码; 解析所述网页下载响应,从所述网页下载响应包含的网页内容中提取出所述脚本语言程序代码; 当所述提取出的脚本语言程序代码被载入所述Web客户端的脚本引擎时,判断被载入所述Web客户端的脚本引擎中的所述脚本语言程序代码是否为密文形式的脚本语言程序代码,如果所述脚本语言程序代码是密文形式,则先调用解密模块对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码,其中,明文形式的脚本语言程序代码被载入所述脚本引擎中,再由脚本引擎执行载入所述脚本引擎中的明文形式的脚本语言程序代码。
2.如权利要求I所述的方法,其特征在于, 如果使用对称加密算法来加密,所述方法进一步包括 调用解密模块根据预定的第一密钥协商机制生成密钥; 所述向服务器发送网页下载请求包括向服务器发送携带有所述密钥的网页下载请求; 所述调用解密模块对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码,包括调用解密模块采用所述密钥对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码; 或者, 如果使用非对称加密算法来加密,所述方法进一步包括 调用解密模块根据预定的第二密钥协商机制生成密钥,所述密钥包括公钥和私钥; 所述向服务器发送网页下载请求包括向服务器发送携带有所述公钥的网页下载请求; 所述调用解密模块对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码,包括调用解密模块采用所述私钥对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码。
3.如权利要求I所述的方法,其特征在于,如果所述网页下载响应进一步携带有密钥, 所述调用解密模块对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码,包括调用解密模块采用所述密钥或者由所述密钥转化而来的第N代密钥对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码,其中,N大于或等于2。
4.如权利要求I所述的方法,其特征在于,如果使用对称加密算法来加密,所述向服务器发送网页下载请求的步骤之前,进一步包括 向服务器发送第一网页下载请求, 接收服务器返回的第一密钥协商请求,所述第一密钥协商请求为服务器收到第一网页下载请求后所返回的; 调用解密模块根据所述第一密钥协商请求生成密钥;相应的,所述向服务器发送网页下载请求,包括向服务器发送携带有所述密钥的网页下载请求; 所述调用解密模块对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码包括调用解密模块采用所述生成的密钥对密文形式的脚本语言程序代码进行解密,得到解密后的明文形式的脚本语言程序代码。
5.如权利要求I所述的方法,其特征在于,如果使用非对称加密算法来加密,所述向服务器发送网页下载请求的步骤之前,进一步包括 向服务器发送第三网页下载请求, 接收服务器返回的第三密钥协商请求,所述第三密钥协商请求为服务器收到第三网页下载请求后所返回的; 调用解密模块根据所述第三密钥协商请求生成成对的密钥,所述成对的密钥包括公钥和私钥; 相应的,所述向服务器发送网页下载请求,包括向服务器发送携带有所述公钥的网页下载请求; 所述调用解密模块对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码包括调用解密模块采用所述生成的私钥对密文形式的脚本语言程序代码进行解密,得到解密后的明文形式的脚本语言程序代码。
6.如权利要求I至5任一项所述的方法,其特征在于,所述方法还包括 如果判断出被载入所述Web客户端的脚本引擎中的所述脚本语言程序代码是明文形式,则由脚本引擎直接执行载入所述脚本引擎中的脚本语言程序代码。
7.如权利要求I至5任一项所述的方法,其特征在于,所述脚本语言程序代码包括javascript、VBScript 或 flash 脚本。
8.一种网页Web客户端,其特征在于,包括 接口模块,用于向服务器发送网页下载请求;接收所述服务器返回的与所述网页下载请求对应的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含脚本语言程序代码; 解析引擎,用于解析所述网页下载响应,从所述网页下载响应包含的网页内容中提取出所述脚本语言程序代码; 脚本引擎,用于当所述提取出的脚本语言程序代码被载入所述脚本引擎时,判断被载入所述脚本引擎中的所述脚本语言程序代码是否为密文形式的脚本语言程序代码,如果所述脚本语言程序代码是密文形式,则调用解密模块对所述密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码,其中,明文形式的脚本语言程序代码被载入所述脚本引擎中,以及用于执行载入所述脚本引擎中的明文形式的脚本语言程序代码; 解密模块,用于对所述密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码。
9.如权利要求8所述的装置,其特征在于, 所述解密模块具体用于根据预定的第一密钥协商机制生成密钥,以及,采用所述生成的密钥对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码; 所述接口模块具体用于向服务器发送携带有所述生成的密钥的网页下载请求;接收所述服务器返回与所述网页下载请求对应的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含密文形式的脚本语言程序代码,或明文形式的脚本语言程序代码; 或者, 所述解密模块具体用于根据预定的第二密钥协商机制生成成对的密钥,所述密钥包括公钥和私钥;以及,采用所述生成的私钥对所述密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码; 所述接口模块具体用于向服务器发送携带有所述生成的公钥的网页下载请求;接收所述服务器返回的与所述网页下载请求对应的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含密文形式的脚本语言程序代码,或明文形式的脚本语言程序代码。
10.如权利要求8所述的装置,其特征在于,如果所述网页下载响应进一步携带有密钥, 所述解密模块具体用于采用所述密钥或者由所述密钥转化而来的第N代密钥对所述密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码,其中,所述解密后的明文形式的脚本代码被载入所述脚本引擎中,N大于或等于2。
11.如权利要求8所述的装置,其特征在于, 所述接口模块还用于向服务器发送第一网页下载请求,以及接收服务器返回的第一密钥协商请求,所述第一密钥协商请求为服务器收到第一网页下载请求后所返回的;以及具体用于发送携带有所述解密模块生成的密钥的网页下载请求;接收返回的与所述网页下载请求对应的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含密文形式的脚本语言程序代码,或明文形式的脚本语言程序代码; 所述解密模块具体用于根据收到的所述第一密钥协商请求生成密钥;以及,采用所述生成的密钥对所述密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码。
12.如权利要求8所述的装置,其特征在于, 所述接口模块还用于向服务器发送第三网页下载请求,以及接收服务器返回的第三密钥协商请求,所述第三密钥协商请求为服务器收到第三网页下载请求后所返回的;以及具体用于发送携带有所述解密模块生成的公钥的网页下载请求;接收返回的与所述网页下载请求对应的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含密文形式的脚本语言程序代码,或明文形式的脚本语言程序代码; 所述解密模块具体用于根据收到的所述第三密钥协商请求生成成对的密钥,所述成对的密钥包括公钥和私钥;以及,采用所述生成的私钥对所述密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码。
13.如权利要求8至12任一项所述的装置,其特征在于,所述脚本引擎还用于如果判断出被载入所述脚本引擎中的所述脚本语言程序代码是明文形式,则直接执行载入所述脚本引擎中的脚本语言程序代码。
14.一种网页Web系统,其特征在于,包括应用服务器和如前述权利要求8至13任一项所述Web客户端,其中所述应用服务器用于接收Web客户端发送的网页下载请求,并向Web客户端返回对应的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容 包含密文形式的脚本语言程序代码,或者,明文形式的脚本语言程序代码。
全文摘要
发明实施例公开Web客户端与服务器交互的方法、装置及系统,其中,该方法,包括向服务器发送网页下载请求;接收服务器返回的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含脚本语言程序代码;解析所述网页下载响应,从所述网页下载响应包含的网页内容中提取出所述脚本语言程序代码;当所述脚本语言程序代码被载入所述Web客户端的脚本引擎时,判断被载入所述Web客户端的脚本引擎中的所述脚本语言程序代码是否为密文形式的脚本语言程序代码,如果所述脚本语言程序代码是密文形式,则先调用解密模块对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码,再由脚本引擎执行载入其中的明文形式的脚本语言程序代码。从而在减轻应用服务器端负担的同时,实现了较高的保密性。
文档编号H04L9/08GK102624931SQ201210118858
公开日2012年8月1日 申请日期2012年4月21日 优先权日2012年4月21日
发明者周伟 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1