CN116866329A - web应用的跨域通信方法、装置、存储介质及终端设备 - Google Patents
web应用的跨域通信方法、装置、存储介质及终端设备 Download PDFInfo
- Publication number
- CN116866329A CN116866329A CN202310947889.3A CN202310947889A CN116866329A CN 116866329 A CN116866329 A CN 116866329A CN 202310947889 A CN202310947889 A CN 202310947889A CN 116866329 A CN116866329 A CN 116866329A
- Authority
- CN
- China
- Prior art keywords
- sdk
- application
- server
- cross
- web
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 115
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000004044 response Effects 0.000 claims abstract description 39
- 238000012546 transfer Methods 0.000 claims abstract description 20
- 238000012545 processing Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 4
- 238000004422 calculation algorithm Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 9
- 239000008186 active pharmaceutical agent Substances 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000002457 bidirectional effect Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请实施例公开了一种web应用的跨域通信方法、装置、存储介质及终端设备,涉及互联网通信领域。本申请的方法包括:加载应用端SDK成功后,通过所述应用端SDK在当前web页面中创建跨域通信中转层;通过所述应用端SDK,向第一服务器安装的服务端SDK发送web服务调用请求;通过所述应用端SDK接收来自所述第一服务器安装的服务端SDK基于所述web服务调用请求返回的响应数据通过所述应用端SDK解析响应数据,以及当验证所述web服务调用请求中携带的通信协议标识和所述响应数据中携带的通信协议标识相同时,将传出参数写入到跨域通信中转层,实现基于SDK和免配置的跨域通信,可以简化用户操作和增强兼容性。
Description
技术领域
本申请涉及互联网通信领域,尤其涉及一种web应用的跨域通信方法、装置、存储介质及终端设备。
背景技术
目前的主流浏览器均设置有同源策略(Same-Origin Policy)限制跨域请求,即浏览器只允许在同一域名下的数据请求。但是很多web应用和web服务都会部署在不同的域下,为了实现web应用的跨域通信,用户需要在服务器上进行重配置以解除同源策略,重配置和过程较为复杂,需要专业人员进行操作;如果服务器本身不支持跨域通信,则无法解除同源策略。
发明内容
本申请实施例提供了web应用的跨域通信方法、装置、存储介质及终端设备,可以解决现有技术中跨域通信操作配置复杂和兼容性较差的问题。所述技术方案如下:
第一方面,本申请实施例提供了一种web应用的跨域通信方法,所述方法包括:
在web应用中加载应用端SDK;
加载成功后,通过所述应用端SDK在当前web页面中创建跨域通信中转层;
通过所述应用端SDK,向第一服务器安装的服务端SDK发送web服务调用请求;其中,所述web服务调用请求携带通信协议标识、所述服务端SDK的网络地址、传入参数和请求的目标web服务的网络地址;所述第一服务器和所述当前web页面对应的第二服务器属于不同域;
通过所述应用端SDK接收来自所述第一服务器安装的服务端SDK基于所述web服务调用请求返回的响应数据;其中,所述响应数据携带传出参数和通信协议标识;
通过所述应用端SDK解析响应数据,以及当验证所述web服务调用请求中携带的通信协议标识和所述响应数据中携带的通信协议标识相同时,将传出参数写入到跨域通信中转层。
第二方面,本申请实施例提供了一种web应用的跨域通信装置,所述装置包括:
加载单元,用于在web应用中加载应用端SDK;
创建单元,用于加载成功后,通过所述应用端SDK在当前web页面中创建跨域通信中转层;
收发单元,用于通过所述应用端SDK,向第一服务器安装的服务端SDK发送web服务调用请求;其中,所述web服务调用请求携带通信协议标识、所述服务端SDK的网络地址、传入参数和请求的目标web服务的网络地址;所述第一服务器和所述当前web页面对应的第二服务器属于不同域;
所述收发单元,还用于通过所述应用端SDK接收来自所述第一服务器安装的服务端SDK基于所述web服务调用请求返回的响应数据;其中,所述响应数据携带传出参数和通信协议标识;
处理单元,用于通过所述应用端SDK解析响应数据,以及当验证所述web服务调用请求中携带的通信协议标识和所述响应数据中携带的通信协议标识相同时,将传出参数写入到跨域通信中转层。
第三方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
第四方面,本申请实施例提供一种终端设备,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。
本申请一些实施例提供的技术方案带来的有益效果至少包括:
通过在浏览器的应用端SDK和在服务器的服务端SDK的相互配合实现跨域通信,可以在服务器不支持跨域通信的情况下绕过浏览器的同源策略,提高跨域通信的兼容性。用户只需要分别在浏览器和服务器安装SDK实现跨域通信,不需要在服务器上进行跨域通信的重配置,减少跨域配置的操作,降低服务器配置跨域的成本。通过应用端SDK和服务端SDK内置的通信协议标识保证双向数据传输的安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请实施例提供的网络架构示意图;
图2是本申请实施例提供的web应用的跨域通信方法的流程示意图;
图3是本申请提供的一种web应用的跨域通信装置的结构示意图;
图4是本申请提供的一种终端设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。
需要说明的是,本申请提供的web应用的跨域通信方法一般由终端设备执行,相应的,web应用的跨域通信装置一般设置于终端设备中。
图1示出了可以应用于本申请的web应用的跨域通信方法或web应用的跨域通信装置的示例性系统架构。
如图1所示,系统架构可以包括:终端设备101、第一服务器102和第二服务器103。终端设备101与第一服务器102和第二服务器103之间可以通过网络进行通信,网络用于上述各个单元之间提供通信链路的介质。网络可以包括各种类型的有线通信链路或无线通信链路,例如:有线通信链路包括光纤、双绞线或同轴电缆等,无线通信链路包括蓝牙通信链路、无线保真(WIreless-FIdelity,Wi-Fi)通信链路或微波通信链路等。
其中,第一服务器102和第二服务器103位于不同的域。第一服务器102提供多个web服务,第一服务器102中安装有服务端SDK,终端设备101的浏览器中安装有应用端SDK。第二服务器103在终端设备101的浏览器中推送和渲染当前web页面的情况下,终端设备101通过应用端SDK和服务端SDK的交互,实现在第一服务器102的多个web服务中调用所需的目标web服务,以及将响应数据写入到预先设置的数据容器中。
需要说明的是,终端设备101和服务器可以是硬件,也可以是软件。当终端设备101和服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当终端设备101和第一服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块,在此不做具体限定。
本申请的终端设备上可以安装有各种通信客户端应用,例如:视频录制应用、视频播放应用、语音交互应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备可以是硬件,也可以是软件。当终端设备为硬件时,可以是具有显示屏的各种终端设备,包括但不限于智能手机、平板电脑、膝上型便携式计算机和台式计算机等等。当终端设备为软件时,可以是安装上述所列举的终端设备中。其可以实现呈多个软件或软件模块(例如:用来提供分布式服务),也可以实现成单个软件或软件模块,在此不作具体限定。
当终端设备为硬件时,其上还可以安装有显示设备和摄像头,显示设备显示可以是各种能实现显示功能的设备,摄像头用于采集视频流;例如:显示设备可以是阴极射线管显示器(cathode ray tube display,简称CR)、发光二极管显示器(light-emitting diodedisplay,简称LED)、电子墨水屏、液晶显示屏(liquid crystal display,简称LCD)、等离子显示面板(plasma display panel,简称PDP)等。用户可以利用终端设备上的显示设备,来查看显示的文字、图片、视频等信息。
应理解,图1中的终端设备、网络和服务器的数目仅是示意性的。根据实现需要,可以是任意数量的终端设备、网络和服务器。
下面将结合附图2,对本申请实施例提供的web应用的跨域通信方法进行详细介绍。其中,本申请实施例中的web应用的跨域通信装置可以是图1所示的终端设备。
请参见图2,为本申请实施例提供了一种web应用的跨域通信方法的流程示意图。如图2所示,本申请实施例的所述方法可以包括以下步骤:
S201、在web应用中加载应用端SDK。
其中,web应用是基于浏览器访问的应用程序,当web应用需要以跨域方式调用web服务时,在web应用中加载应用端SDK(software development kit,软件开发工具箱),即在浏览器中加载应用端SDK。应用端SDK是一种功能组件,可以在浏览器中安装或卸载。在本申请的一些实施例中,web应用可以使用ESModule、CommonJs、AMD、CMD、<script>标签引用等多种方式在浏览器中加载应用端SDK。进一步的,为了支持对多种不同类型的浏览器,可以分别为不同类型的浏览器设置对应的应用端SDK,例如:浏览器的类型包括但不限于:Chrome3+、Safari4+、Firefox3.+、Opera9+、IE11+。
S202、加载成功后,通过应用端SDK在当前web页面中创建跨域通信中转层。
其中,web应用的浏览器成功加载应用端SDK的情况下,浏览器调用应用端SDK实现在当前web页面中创建跨域通信中转层,该跨域通信中转层用于存储web应用以跨域方式调用的web服务返回的数据。
在本申请的一些实施例中,当web应用的浏览器成功加载应用端SDK后,浏览器通过应用端SDK提供的API接口insertAdjacentHTML创建一个虚拟的iframe元素,将该虚拟的iframe元素插入到当前页面的指定位置后生成数据容器,将该数据容器作为跨域通信中转层,该数据容器与当前页面的数据存储空间进行有效隔离,二者之间无法进行互通。本申请的虚拟的iframe元素不会渲染在当前web页面中,即不会占用当前web页面的布局空间,从而可以提高web页面空间的利用率。
S203、通过应用端SDK,向第一服务器安装的服务端SDK发送web服务调用请求。
其中,web服务调用请求携带通信协议标识、服务端SDK的网络地址、传入参数和请求的目标web服务的网络地址;第一服务器和当前web页面对应的第二服务器属于不同域。
在完成跨域通信中转层的创建后,终端设备通过应用端SDK向第一服务器的服务端SDK发送web服务调用请求,服务端SDK可以安装或卸载于第一服务器的服务端中。当需要对当web应用需要以跨域方式调用web服务时,即要在web应用的浏览器中加载应用端SDK,也要在第一服务器的服务端中加载服务端SDK。第一服务器可以通过服务端SDK设置的API接口调用其功能。第一服务器提供多个web服务,web服务调用请求用于在多个web服务中调用一个web服务。web服务调用请求中携带通信协议标识、服务端SDK的网络地址、传入参数和请求的目标web服务的网络地址,通信协议标识用于标记该web服务调用请求为跨域请求,服务端SDK的网络地址和目标web服务的网络地址可以使用IP地址和端口号来表示;传入参数表示传入给目标web服务的参数。
其中,第一服务器和第二服务器的协议类型、主机名称、端口号不同,即第一服务器和第二服务器属于不同的域,第二服务器在浏览器上推送和渲染当前web页面的服务器,第二服务器上设置有同域策略。
在本申请的一些实施例中,终端设备可以对传输参数进行加密,加密方式可以是对称加密或非对称加密,本申请不作限制。例如:采用SM4(国密4)加密算法对传入参数进行加密,web服务调用请求中携带的是加密后的传入参数。
S204、通过应用端SDK接收来自第一服务器安装的服务端SDK基于web服务调用请求返回的响应数据。
其中,响应数据携带传出参数和通信协议标识,传出参数是目标web服务响应于传入参数生成的传出参数,通信协议标识表示该响应数据为跨域通信数据。
S205、通过应用端SDK解析响应数据,以及验证web服务调用请求中携带的通信协议标识和响应数据中携带的通信协议标识相同时,将传出参数写入到跨域通信中转层。
其中,服务端SDK挂载在服务域下可被http/https协议访问的任意网络地址,提升服务端SDK访问的安全性。服务端SDK使用WebAPI接口window.addEventListener('message',callback)方法监听接收应用端SDK发送过来的web服务调用请求,并在callback回调函数中对接收到的数据进行通信标识验证、数据解密、格式化解析。验证并解析通过的数据,服务端SDK则继续调用WebAPI接口XMLHttpRequestXHR与第一服务器进行交互获取服务接口数据,并将接口返回的传出参数进行加密处理,再通过WebAPI接口parent.postMessage(cmd,data)向应用端SDK发送响应数据。
在本申请的一些实施例中,当验证web服务调用请求中携带的通信协议标识和响应数据中携带的通信协议标识不相同时,丢弃该响应数据,以及进行报错提示,例如:在终端设备上显示错误提示消息。这样可以减少其他web服务的消息对web应用的干扰,提升数据传输的可靠性。
在本申请的一些实施例中,在需要对传入参数和传输参数进行对称加密和解密时,应用端SDK和服务器端SDK的源码中预先设置有相同的密钥,也可以在加载应用端SDK和服务端SDK时,将密钥传入给两个SDK,从而提升密钥管理的安全性。本申请通过特定的通信标协议识和密钥来保证双向跨域通信的数据传输安全。
在本申请的一些实施例中,应用端SDK和服务端SDK中主要提供两种服务请求API分别供浏览器和第一服务调用:SDK.post(params)和SDK.get(params),从而提升API调用的灵活性。
本申请的实施例在进行跨域通信时,通过在浏览器的应用端SDK和在服务器的服务端SDK的相互配合实现跨域通信,可以在服务器不支持跨域通信的情况下绕过浏览器的同源策略,提高跨域通信的兼容性。用户只需要分别在浏览器和服务器安装SDK实现跨域通信,不需要在服务器上进行跨域通信的重配置,减少跨域配置的操作,降低服务器配置跨域的成本。通过应用端SDK和服务端SDK内置的通信协议标识保证双向数据传输的安全性。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参见图3,其示出了本申请一个示例性实施例提供的web应用的跨域通信装置的结构示意图,以下简称装置3。该装置3可以通过软件、硬件或者两者的结合实现成为终端设备的全部或一部分。装置3包括:加载单元301、创建单元302、收发单元303、处理单元304。
加载单元301,用于在web应用中加载应用端SDK;
创建单元302,用于加载成功后,通过所述应用端SDK在当前web页面中创建跨域通信中转层;
收发单元303,用于通过所述应用端SDK,向第一服务器安装的服务端SDK发送web服务调用请求;其中,所述web服务调用请求携带通信协议标识、所述服务端SDK的网络地址、传入参数和请求的目标web服务的网络地址;所述第一服务器和所述当前web页面对应的第二服务器属于不同域;
所述收发单元303,还用于通过所述应用端SDK接收来自所述第一服务器安装的服务端SDK基于所述web服务调用请求返回的响应数据;其中,所述响应数据携带传出参数和通信协议标识;
处理单元304,用于通过所述应用端SDK解析响应数据,以及当验证所述web服务调用请求中携带的通信协议标识和所述响应数据中携带的通信协议标识相同时,将传出参数写入到跨域通信中转层。
在一个或多个可能的实施例中,使用密钥通过对称加密算法所述web服务调用请求中的传入参数和所述响应数据中的传出参数进行加密。
在一个或多个可能的实施例中,所述密钥存储在所述应用端SDK和所述服务端SDK的源码中;或所述密钥在初始化时通过API接口传入给所述应用端SDK和所述服务端SDK。
在一个或多个可能的实施例中,所述通过所述应用端SDK在当前web页面中创建跨域通信中转层,包括:
通过应用端SDK提供的API接口创建一个虚拟的iframe元素;
将所述虚拟的iframe元素插入到当前页面的指定位置后生成数据容器,以及将该数据容器作为跨域通信中转层。
在一个或多个可能的实施例中,所述在web应用中加载应用端SDK,包括:
通过script标签引用的方式在web应用中加载应用端SDK。
在一个或多个可能的实施例中,还包括:
报错单元,用于当验证所述web服务调用请求中携带的通信协议标识和所述响应数据中携带的通信协议标识不相同时,丢弃所述响应数据,以及进行报错提醒。
在一个或多个可能的实施例中,所述第一服务器通过https协议调用所述服务端SDK。
需要说明的是,上述实施例提供的装置3在执行web应用的跨域通信方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成上述的全部或者部分功能。另外,上述实施例提供的web应用的跨域通信装置与web应用的跨域通信方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图2所示实施例的方法步骤,具体执行过程可以参见图2所示实施例的具体说明,在此不进行赘述。
本申请还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的web应用的跨域通信方法。
请参见图4,为本申请实施例提供了一种终端设备的结构示意图。如图4所示,所述终端设备400可以包括:至少一个处理器401,至少一个网络接口404,用户接口403,存储器405,至少一个通信总线402。
其中,通信总线402用于实现这些组件之间的连接通信。
其中,用户接口403可以包括显示屏(Display)、摄像头(Camera),可选用户接口403还可以包括标准的有线接口、无线接口。
其中,网络接口404可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
其中,处理器401可以包括一个或者多个处理核心。处理器401利用各种接口和线路连接整个终端设备400内的各个部分,通过运行或执行存储在存储器405内的指令、程序、代码集或指令集,以及调用存储在存储器405内的数据,执行终端400的各种功能和处理数据。可选的,处理器401可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(ProgrammableLogic Array,PLA)中的至少一种硬件形式来实现。处理器401可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器401中,单独通过一块芯片进行实现。
其中,存储器405可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器405包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器405可用于存储指令、程序、代码、代码集或指令集。存储器405可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器405可选的还可以是至少一个位于远离前述处理器401的存储装置。如图4所示,作为一种计算机存储介质的存储器405中可以包括操作系统、网络通信模块、用户接口模块以及应用程序。
在图4所示的终端设备400中,用户接口403主要用于为用户提供输入的接口,获取用户输入的数据;而处理器401可以用于调用存储器405中存储的应用程序,并具体执行如图2所示的方法,具体过程可参照图2所示,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (10)
1.一种web应用的跨域通信方法,其特征在于,包括:
在web应用中加载应用端SDK;
加载成功后,通过所述应用端SDK在当前web页面中创建跨域通信中转层;
通过所述应用端SDK,向第一服务器安装的服务端SDK发送web服务调用请求;其中,所述web服务调用请求携带通信协议标识、所述服务端SDK的网络地址、传入参数和请求的目标web服务的网络地址;所述第一服务器和所述当前web页面对应的第二服务器属于不同域;
通过所述应用端SDK接收来自所述第一服务器安装的服务端SDK基于所述web服务调用请求返回的响应数据;其中,所述响应数据携带传出参数和通信协议标识;
通过所述应用端SDK解析响应数据,以及当验证所述web服务调用请求中携带的通信协议标识和所述响应数据中携带的通信协议标识相同时,将传出参数写入到跨域通信中转层。
2.根据权利要求1所述的方法,其特征在于,使用密钥通过对称加密算法所述web服务调用请求中的传入参数和所述响应数据中的传出参数进行加密。
3.根据权利要求2所述的方法,其特征在于,所述密钥存储在所述应用端SDK和所述服务端SDK的源码中;或所述密钥在初始化时通过API接口传入给所述应用端SDK和所述服务端SDK。
4.根据权利要求1或2或3所述的方法,其特征在于,所述通过所述应用端SDK在当前web页面中创建跨域通信中转层,包括:
通过应用端SDK提供的API接口创建一个虚拟的iframe元素;
将所述虚拟的iframe元素插入到当前页面的指定位置后生成数据容器,以及将该数据容器作为跨域通信中转层。
5.根据权利要求3所述的方法,其特征在于,所述在web应用中加载应用端SDK,包括:
通过script标签引用的方式在web应用中加载应用端SDK。
6.根据权利要求1或2或3或5所述的方法,其特征在于,还包括:
当验证所述web服务调用请求中携带的通信协议标识和所述响应数据中携带的通信协议标识不相同时,丢弃所述响应数据,以及进行报错提醒。
7.根据权利要求6所述的方法,其特征在于,所述第一服务器通过https协议调用所述服务端SDK。
8.一种web应用的跨域通信装置,其特征在于,包括:
加载单元,用于在web应用中加载应用端SDK;
创建单元,用于加载成功后,通过所述应用端SDK在当前web页面中创建跨域通信中转层;
收发单元,用于通过所述应用端SDK,向第一服务器安装的服务端SDK发送web服务调用请求;其中,所述web服务调用请求携带通信协议标识、所述服务端SDK的网络地址、传入参数和请求的目标web服务的网络地址;所述第一服务器和所述当前web页面对应的第二服务器属于不同域;
所述收发单元,还用于通过所述应用端SDK接收来自所述第一服务器安装的服务端SDK基于所述web服务调用请求返回的响应数据;其中,所述响应数据携带传出参数和通信协议标识;
处理单元,用于通过所述应用端SDK解析响应数据,以及当验证所述web服务调用请求中携带的通信协议标识和所述响应数据中携带的通信协议标识相同时,将传出参数写入到跨域通信中转层。
9.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1~7任意一项的方法步骤。
10.一种终端设备,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1~7任意一项的方法步骤。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310947889.3A CN116866329A (zh) | 2023-07-31 | 2023-07-31 | web应用的跨域通信方法、装置、存储介质及终端设备 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310947889.3A CN116866329A (zh) | 2023-07-31 | 2023-07-31 | web应用的跨域通信方法、装置、存储介质及终端设备 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN116866329A true CN116866329A (zh) | 2023-10-10 |
Family
ID=88226977
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202310947889.3A Pending CN116866329A (zh) | 2023-07-31 | 2023-07-31 | web应用的跨域通信方法、装置、存储介质及终端设备 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN116866329A (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119155114A (zh) * | 2024-11-14 | 2024-12-17 | 苏州元脑智能科技有限公司 | 一种跨域访问方法、设备、介质及程序产品 |
-
2023
- 2023-07-31 CN CN202310947889.3A patent/CN116866329A/zh active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119155114A (zh) * | 2024-11-14 | 2024-12-17 | 苏州元脑智能科技有限公司 | 一种跨域访问方法、设备、介质及程序产品 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10601633B2 (en) | Virtual window screen renderings using application connectors | |
| US8037191B2 (en) | Low-level remote sharing of local devices in a remote access session across a computer network | |
| EP2355447A2 (en) | Secure and automated credential information transfer mechanism | |
| US12067136B2 (en) | Display method, display device, and electronic device | |
| CN112866225A (zh) | 验证方法、验证装置、电子设备和存储介质 | |
| CN109068153A (zh) | 视频播放方法、装置和计算机可读存储介质 | |
| US10135763B2 (en) | System and method for secure and efficient communication within an organization | |
| CN102868728A (zh) | 在vdi环境下基于虚拟通道的网络代理方法 | |
| CN112653670A (zh) | 业务逻辑漏洞检测方法、装置、存储介质以及终端 | |
| CN112202744B (zh) | 一种多系统数据通信方法和装置 | |
| CN112329049A (zh) | 业务数据管理方法、装置、电子设备和介质 | |
| CN103548007A (zh) | 用户装置和外部装置的连接系统和方法 | |
| CN115022106B (zh) | 一种群信息处理方法、装置、设备及介质 | |
| CN112702336A (zh) | 政务服务的安全控制方法、装置、安全网关及存储介质 | |
| US11765112B2 (en) | Context driven dynamic actions embedded in messages | |
| CN113472785B (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
| CN116866329A (zh) | web应用的跨域通信方法、装置、存储介质及终端设备 | |
| CN117879940A (zh) | 域前置攻击的可信检测方法、装置、存储介质及电子设备 | |
| CN114491489A (zh) | 请求响应方法、装置、电子设备及存储介质 | |
| CN114285659A (zh) | 一种反向代理方法、装置、设备及存储介质 | |
| US20210281629A1 (en) | Processing of web-based applications | |
| US12445274B2 (en) | Systems and methods to dynamically provision multi-party computation (MPC) nodes | |
| CN113778499A (zh) | 发布服务的方法、装置、设备和计算机可读介质 | |
| CN111752625A (zh) | 用于接口mock的方法和装置 | |
| CN113676482B (zh) | 数据传输系统和方法与基于双层ssl的数据传输系统和方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination |