请求代理方法、装置及电子设备与流程
未命名
08-13
阅读:80
评论:0
1.本技术涉及计算机技术领域,尤其涉及一种请求代理方法、装置及电子设备。
背景技术:
2.目前,在一些场景,尤其是跨域访问场景中,前端需要通过代理服务器调用后端服务器。在后端服务器的虚拟地址和真实地址中的至少一个发生变化的情形下,通常需要专门通知代理服务器,以对其存储的代理配置信息进行修改,并暂停前端服务,重新编译前端静态资源,这种通过代理服务器完成地址代理的方式,影响了前端对后端服务器的访问效率,尤其是在前端静态资源比较大的情形下,重新编译前端静态资源所需要的编译时间更长,更加影响访问效率。
技术实现要素:
3.本技术的目的旨在至少在一定程度上解决上述技术问题之一。
4.为此,本技术提出了一种请求代理方法、装置及电子设备。
5.本技术第一方面实施例提出了一种请求代理方法,应用于前端,所述方法包括:响应于针对目标后端服务器的调用请求,获取用于代理服务的代理配置信息,其中,所述代理配置信息包括被代理服务器的虚拟地址和真实地址的对应关系,所述调用请求包括所述目标后端服务器的访问地址;重写所述调用请求,以添加所述代理配置信息;将所述调用请求发送至前端开发服务器,以使所述前端开发服务器在所述访问地址命中所述虚拟地址的情形下,基于与所述虚拟地址对应的真实地址,将所述调用请求发送至所述目标后端服务器。
6.在本技术的一个实施例中,所述重写所述调用请求,以添加所述代理配置信息,包括:调用用于发送所述调用请求的请求发送函数;通过所述请求发送函数将所述代理配置信息添加到所述调用请求中;所述将所述调用请求发送至前端开发服务器,包括:通过所述请求发送函数将所述调用请求发送至所述前端开发服务器。
7.在本技术的一个实施例中,所述请求发送函数包括以下中的一种:send函数、fetch函数。
8.在本技术的一个实施例中,所述方法还包括:接收所述前端开发服务器发送的与所述调用请求对应的调用数据,其中,所述调用数据由所述目标后端服务器发送至所述前端开发服务器;根据所述调用数据对所述前端中待调试前端项目进行调试。
9.在本技术的一个实施例中,所述代理配置信息基于所述前端提供的插件配置。
10.在本技术的一个实施例中,所述前端开发服务器注册了若干中间件;所述将所述调用请求发送至前端开发服务器,以使所述前端开发服务器在所述访问地址命中所述虚拟地址的情形下,基于与所述虚拟地址对应的真实地址,将所述调用请求发送至所述目标后端服务器,包括:将所述调用请求发送至前端开发服务器;所述前端开发服务器将所述调用请求发送至所述中间件;所述中间件响应于接收到所述调用请求,将所述访问地址与所述代理配置信息中的虚拟地址进行比较,并在所述访问地址命中任意虚拟地址的情形下,基
于与所述任意虚拟地址对应的真实地址,将所述调用请求发送至所述目标后端服务器。
11.本技术实施例的请求代理方法,在接收到针对目标后端服务器的调用请求后,获取用于代理服务的代理配置信息,并通过重写该调用请求,将该代理配置信息添加到调用请求,并将调用请求发送至前端开发服务器,以使前端开发服务器在访问地址命中虚拟地址的情形下,基于与虚拟地址对应的真实地址,将调用请求发送至目标后端服务器。由此,通过对调用请求进行重写,即可借助调用请求将被代理服务器的虚拟地址和真实地址的对应关系发送至前端开发服务器,与通过代理服务器完成地址代理的方式相比,在代理配置信息发生变更的时候,无需专门通知前端开发服务器对其内部配置文件进行修改,无需暂停前端服务,无需重新编译前端静态资源,即可使得前端开发服务器获知被代理服务器的虚拟地址和真实地址的对应关系,方便前端开发服务器基于被代理服务器的虚拟地址及时将调用请求发送至对应的真实地址,以将调用请求转发至目标后端服务器,提高前端访问后端服务器的效率。
12.本技术第二方面实施例提出了一种请求代理方法,所述方法应用在前端开发服务器中,接收前端发送的调用请求,其中,所述调用请求包括目标后端服务器的访问地址以及通过重写所述调用请求添加的代理配置信息,所述代理配置信息包括被代理服务器的虚拟地址和真实地址的对应关系;在所述访问地址命中所述虚拟地址的情形下,基于与所述虚拟地址对应的真实地址,将所述调用请求发送至所述目标后端服务器。
13.在本技术的一个实施例中,所述在所述访问地址命中所述虚拟地址的情形下,基于与所述虚拟地址对应的真实地址,将所述调用请求发送至所述目标后端服务器,包括:在所述访问地址命中所述虚拟地址的情况下,从所述对应关系中获取与所述虚拟地址对应的真实地址;基于所述真实地址,将所述调用请求发送至所述目标后端服务器。
14.在本技术的一个实施例中,所述方法还包括:在所述访问地址未命中所述虚拟地址的情况下,基于所述访问地址,将所述调用请求发送至所述目标后端服务器。
15.在本技术的一个实施例中,所述前端开发服务器注册了若干中间件;所述在所述访问地址命中所述虚拟地址的情形下,基于与所述虚拟地址对应的真实地址,将所述调用请求发送至所述目标后端服务器,包括:将所述调用请求发送至所述中间件;所述中间件响应于接收到所述调用请求,将所述访问地址与所述代理配置信息中的虚拟地址进行比较,并在所述访问地址命中任意虚拟地址的情形下,基于与所述任意虚拟地址对应的真实地址,将所述调用请求发送至所述目标后端服务器。
16.本技术实施例的请求代理方法,从前端发送的调用请求中获取被代理服务器的虚拟地址和真实地址之间的对应关系,并在调用请求中目标后端服务器的访问地址命中虚拟地址的情形下,可基于与虚拟地址对应的真实地址,将调用请求发送至目标后端服务器。由此,在代理配置信息发生变更的时候,无需专门通知前端开发服务器对其内部配置文件进行修改,无需暂停前端服务,无需重新编译前端静态资源,即可使得前端开发服务器获知被代理服务器的虚拟地址和真实地址的对应关系,方便前端开发服务器基于被代理服务器的虚拟地址及时将调用请求发送至对应的真实地址,以将调用请求转发至目标后端服务器,提高前端访问后端服务器的效率。
17.本技术第三方面实施例提出了一种请求代理装置,应用于前端,所述装置包括:获取模块,用于响应于针对目标后端服务器的调用请求,获取用于代理服务的代理配置信息,
其中,所述代理配置信息包括被代理服务器的虚拟地址和真实地址的对应关系,所述调用请求包括所述目标后端服务器的访问地址;重写模块,用于重写所述调用请求,以添加所述代理配置信息;发送模块,用于将所述调用请求发送至前端开发服务器,以使所述前端开发服务器在所述访问地址命中所述虚拟地址的情形下,基于与所述虚拟地址对应的真实地址,将所述调用请求发送至所述目标后端服务器。
18.本技术实施例的请求代理装置,在接收到针对目标后端服务器的调用请求后,获取用于代理服务的代理配置信息,并通过重写该调用请求,将该代理配置信息添加到调用请求,并将调用请求发送至前端开发服务器,以使前端开发服务器在访问地址命中虚拟地址的情形下,基于与虚拟地址对应的真实地址,将调用请求发送至目标后端服务器。由此,通过对调用请求进行重写,即可借助调用请求将被代理服务器的虚拟地址和真实地址的对应关系发送至前端开发服务器,与通过代理服务器完成地址代理的方式相比,在代理配置信息发生变更的时候,无需专门通知前端开发服务器对其内部配置文件进行修改,无需暂停前端服务,无需重新编译前端静态资源,即可使得前端开发服务器获知被代理服务器的虚拟地址和真实地址的对应关系,方便前端开发服务器基于被代理服务器的虚拟地址及时将调用请求发送至对应的真实地址,以将调用请求转发至目标后端服务器,提高前端访问后端服务器的效率。
19.本技术第四方面实施例提出了一种请求代理装置,所述装置应用在前端开发服务器中,所述装置包括:接收模块,用于接收前端发送的调用请求,其中,所述调用请求包括目标后端服务器的访问地址以及通过重写所述调用请求添加的代理配置信息,所述代理配置信息包括被代理服务器的虚拟地址和真实地址的对应关系;发送模块,用于在所述访问地址命中所述虚拟地址的情形下,基于与所述虚拟地址对应的真实地址,将所述调用请求发送至所述目标后端服务器。
20.本技术实施例的请求代理装置,从前端发送的调用请求中获取被代理服务器的虚拟地址和真实地址之间的对应关系,并在调用请求中目标后端服务器的访问地址命中虚拟地址的情形下,可基于与虚拟地址对应的真实地址,将调用请求发送至目标后端服务器。由此,在代理配置信息发生变更的时候,无需专门通知前端开发服务器对其内部配置文件进行修改,无需暂停前端服务,无需重新编译前端静态资源,即可使得前端开发服务器获知被代理服务器的虚拟地址和真实地址的对应关系,方便前端开发服务器基于被代理服务器的虚拟地址及时将调用请求发送至对应的真实地址,以将调用请求转发至目标后端服务器,提高前端访问后端服务器的效率。
21.本技术第五方面实施例提出了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的请求代理方法,或者,实现如第二方面所述的请求代理方法。
22.本技术第六方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述的请求代理方法,或者,实现如第二方面所述的请求代理方法。
23.本技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
24.本技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
25.图1为本技术实施例提供的一种请求代理方法的流程示意图;
26.图2为本技术实施例提供的另一种请求代理方法的流程示意图;
27.图3为本技术实施例提供的另一种请求代理方法的流程示意图;
28.图4为本技术实施例提供的另一种请求代理方法的流程示意图;
29.图5为本技术实施例提供的另一种请求代理方法的流程示意图;
30.图6为根据本技术一个实施例的请求代理装置的结构示意图;
31.图7为根据本技术一个实施例的请求代理装置的结构示意图;
32.图8为根据本技术一个实施例的电子设备的结构示意图。
具体实施方式
33.下面详细描述本技术的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本技术,而不能理解为对本技术的限制。
34.图1为本技术实施例提供的一种请求代理方法的流程示意图。
35.本技术实施例的执行主体为本技术提供的请求代理装置。该请求代理装置可以为前端,或者可以配置在前端中,以执行请求代理处理功能。其中,需要说明的是,本示例中的前端可以配置在电子设备中。其中,本示例中的前端是指可以配置在电子设备上支持超文本(hypertext markup language,html)的浏览器。例如,前端可以为配置在电子设备中上支持超文本5.0的浏览器。
36.其中,电子设备可以为任意具有计算能力的设备。其中,具有计算能力的设备例如可以为个人电脑(personal computer,简称pc)、移动终端等,移动终端例如可以为车载设备、手机、平板电脑、个人数字助理、穿戴式设备等具有各种操作系统、触摸屏和/或显示屏的硬件设备。
37.如图1所示,该请求代理方法包括以下步骤:
38.步骤101,响应于针对目标后端服务器的调用请求,获取用于代理服务的代理配置信息,其中,代理配置信息包括被代理服务器的虚拟地址和真实地址的对应关系,调用请求包括目标后端服务器的访问地址。
39.在一些示例性性的实施方式中,为了快速获取该代理配置信息,本示例中的代理配置信息可以保存在前端中。
40.在一些示例性的实施方式中,为了方便开发人员根据实际需求来设置代理配置信息,本示例中的代理配置信息可以是基于前端提供的插件配置。在一些示例中,前端中可以提供用于对代理配置信息进行配置的插件,对应地,开发人员可在该插件中录入该代理配置信息,对应地,在检测到该插件中的确认指令被触发后,对应地,可将在插件中所录入的代理配置信息保存至前端中。由此,方便开发人员通过前端提供的插件来对代理配置信息进行配置。
41.其中,需要说明的是,本示例中的代理配置信息一方面可以保存在前端中,在另一
些示例中,上述代理配置信息还可以保存在前端可以访问的其他存储位置中,该实施例对代理配置信息所对应的存储位置不作具体限定。
42.其中,目标后端服务器是指前端待调用的后端服务器。
43.步骤102,重写调用请求,以添加代理配置信息。
44.也就是说,在本示例中通过重写调用请求使得调用请求中不仅可以包括目标后端服务器的访问地址还可以包括代理配置信息。
45.步骤103,将调用请求发送至前端开发服务器,以使前端开发服务器在访问地址命中虚拟地址的情形下,基于与虚拟地址对应的真实地址,将调用请求发送至目标后端服务器。
46.在一些示例性的实施方式中,在前端将调用请求发送至前端开发服务器后,对应地,前端开发服务器可对调用请求进行解析,以解析出该调用请求中包括的访问地址和上述对应关系,对应地,前端开发服务器在确定访问地址命中虚拟地址的情形下,基于该对应关系,获取与该虚拟地址对应的真实地址,并基于该真实地址,将调用请求发送至目标后端服务器。
47.本技术实施例的请求代理方法,在接收到针对目标后端服务器的调用请求后,获取用于代理服务的代理配置信息,并通过重写该调用请求,将该代理配置信息添加到调用请求,并将调用请求发送至前端开发服务器,以使前端开发服务器在访问地址命中虚拟地址的情形下,基于与虚拟地址对应的真实地址,将调用请求发送至目标后端服务器。由此,通过对调用请求进行重写,即可借助调用请求将被代理服务器的虚拟地址和真实地址的对应关系发送至前端开发服务器,与通过代理服务器完成地址代理的方式相比,在代理配置信息发生变更的时候,无需专门通知前端开发服务器对其内部配置文件进行修改,无需暂停前端服务,无需重新编译前端静态资源,即可使得前端开发服务器获知被代理服务器的虚拟地址和真实地址的对应关系,方便前端开发服务器基于被代理服务器的虚拟地址及时将调用请求发送至对应的真实地址,以将调用请求转发至目标后端服务器,提高前端访问后端服务器的效率。
48.基于上述实施例的基础上,为了可以清楚理解是如何对重写调用请求,以添加代理配置信息的,下面结合图2对该实施例的请求代理方法进行进一步示例性描述。
49.图2为本技术实施例提供的另一种请求代理方法的流程示意图。
50.如图2所示,该请求代理方法可以包括:
51.步骤201,响应于针对目标后端服务器的调用请求,获取用于代理服务的代理配置信息,其中,代理配置信息包括被代理服务器的虚拟地址和真实地址的对应关系,调用请求包括目标后端服务器的访问地址。
52.其中,需要说明的是,关于步骤201的具体实现方式,可参见本技术实施例的相关描述,此处不再赘述。
53.步骤202,调用用于发送调用请求的请求发送函数。
54.在一些示例中,上述请求发送函数可以为send函数;在另一些示例中,上述请求发送函数可以为fetch函数。
55.步骤203,通过请求发送函数将代理配置信息添加到调用请求中。
56.在一些示例性的实施方式中,在上述请求发送函数为send函数的情形下,可通过
send函数在调用请求中添加与代理配置信息对应的请求头字段dev_request_info,并将请求头字段dev_request_info的值设置为该代理配置信息,从而实现了将代理配置信息添加到调用请求中。
57.在另一些示例性的实施方式中,在上述请求发送函数为fetch函数,可通过fetch函数在调用请求中添加与代理配置信息对应的请求头字段dev_request_info,并将请求头字段dev_request_info的值设置为该代理配置信息,从而实现了将代理配置信息添加到调用请求中。
58.步骤204,通过请求发送函数将调用请求发送至前端开发服务器,以使前端开发服务器在访问地址命中虚拟地址的情形下,基于与虚拟地址对应的真实地址,将调用请求发送至目标后端服务器。
59.在一些示例性的实施方式中,为了缓解前端开发服务器压力,防止前端开发服务器宕机,本示例中的前端开发服务器还注册了若干中间件,以通过中间件对调用请求进行转发处理,因此,在一些示例中,通过请求发送函数将调用请求发送至前端开发服务器,以使前端开发服务器在访问地址命中虚拟地址的情形下,基于与虚拟地址对应的真实地址,将调用请求发送至目标后端服务器的一种可能实现方式为:将调用请求发送至前端开发服务器;其中,前端开发服务器将调用请求发送至中间件;中间件响应于接收到调用请求,将访问地址与代理配置信息中的虚拟地址进行比较,并在访问地址命中任意虚拟地址的情形下,基于与任意虚拟地址对应的真实地址,将调用请求发送至目标后端服务器。
60.在本示例中,通过调用用于发送调用请求的请求发送函数,并通过请求发送函数将代理配置信息添加到调用请求中,并利用请求发送函数及时将调用请求发送至前端开发服务器,及时将包含代理配置信息的调用请求及时发送给前端开发服务器,在代理配置信息发生变更的时候,使得前端开发服务器无需对其内部配置文件进行修改,无需暂停前端服务,无需重新编译前端静态资源,即可使得前端开发服务器获知被代理服务器的虚拟地址和真实地址的对应关系,方便前端开发服务器基于被代理服务器的虚拟地址及时将调用请求发送至对应的真实地址,以将调用请求转发至目标后端服务器,提高前端访问后端服务器的效率。
61.图3为本技术实施例提供的另一种请求代理方法的流程示意图。其中,需要说明的是,本实施例是对前述实施例的进一步细化或者优化。
62.如图3所示,该请求代理方法可以包括:
63.步骤301,响应于针对目标后端服务器的调用请求,获取用于代理服务的代理配置信息,其中,代理配置信息包括被代理服务器的虚拟地址和真实地址的对应关系,调用请求包括目标后端服务器的访问地址。
64.步骤302,重写调用请求,以添加代理配置信息。
65.步骤303,将调用请求发送至前端开发服务器,以使前端开发服务器在访问地址命中虚拟地址的情形下,基于与虚拟地址对应的真实地址,将调用请求发送至目标后端服务器。
66.其中,需要说明的是,步骤301至步骤303的具体实现方式,可参见本技术实施例的相关描述,此处不再赘述。
67.步骤304,接收前端开发服务器发送的与调用请求对应的调用数据,其中,调用数
据由目标后端服务器发送至前端开发服务器。
68.对应地,前端开发服务器将该调用请求发送至目标后端服务器,目标后端服务器获取与该调用请求对的调用数据,并将该调用数据发送至前端开发服务器,对应地,前端开发服务器将该调用数据发送至前端。对应地,前端接收前端开发服务器发送的该调用数据。
69.步骤305,根据调用数据对前端中待调试前端项目进行调试。
70.在本示例中,通过调用请求及时将代理配置信息发送至前端开发服务器,因此,在代理配置信息发生变更的时候,使得前端开发服务器无需对其内部配置文件进行修改,无需暂停前端服务,无需重新编译前端静态资源,即可使得前端开发服务器获知被代理服务器的虚拟地址和真实地址的对应关系,方便前端开发服务器基于被代理服务器的虚拟地址及时将调用请求发送至对应的真实地址,以将调用请求转发至目标后端服务器,并及时将目标后端服务返回的与调用请求对应的调用数据发送给前端,方便基于调用数据对前端中待调试前端项目进行及时调试,继而可提高前端项目的开发效率。
71.图4为本技术实施例提供的另一种请求代理方法的流程示意图。其中,需要说明的是,该实施例的请求代理方法应用在前端开发服务器中。
72.如图4所示,该请求代理方法可以包括:
73.步骤401,接收前端发送的调用请求,其中,调用请求包括目标后端服务器的访问地址以及通过重写调用请求添加的代理配置信息,代理配置信息包括被代理服务器的虚拟地址和真实地址的对应关系。
74.步骤402,在访问地址命中虚拟地址的情形下,基于与虚拟地址对应的真实地址,将调用请求发送至目标后端服务器。
75.其中,本示例中的虚拟地址是指该被代理服务器的虚拟网际互连协议(internet protocol,ip)地址。
76.其中,本示例中的真实地址是指被代理服务器的真实ip地址。
77.在一些示例性的实施方式中,可对访问地址和虚拟地址进行命中分析,在基于命中分析结果获知访问地址命中虚拟地址的情形下,基于代理配置信息中真实地址和虚拟地址两者之间的对应关系,获取与该虚拟地址对应的真实地址,并将所获取到的真实地址作为该目标后端服务器的真实地址,并基于该目标后端服务器的真实地址,将该调用请求发送至目标后端服务器。
78.在另一些示例性的实施方式中,在从调用请求中确定出被代理服务器的虚拟地址后,可将该虚拟地址与调用请求中目标后端服务器的访问地址进行匹配分析,如果基于匹配分析结果获知访问地址和虚拟地址两者匹配,则确定访问地址命中虚拟地址,并在访问地址命中虚拟地址的情形下,基于代理配置信息中真实地址和虚拟地址两者之间的对应关系,获取与该虚拟地址对应的真实地址,并将所获取到的真实地址作为该目标后端服务器的真实地址,并基于该目标后端服务器的真实地址,将该调用请求发送至目标后端服务器。
79.在一些示例性的实施方式中,为了缓解前端开发服务器压力,防止前端开发服务器宕机,本示例中的前端开发服务器还注册了若干中间件,以通过中间件对调用请求进行转发处理,因此,在一些示例中,在访问地址命中虚拟地址的情形下,基于与虚拟地址对应的真实地址,将调用请求发送至目标后端服务器的一种可能实现方式为:将调用请求发送至中间件;中间件响应于接收到调用请求,将访问地址与代理配置信息中的虚拟地址进行
比较,并在访问地址命中任意虚拟地址的情形下,基于与任意虚拟地址对应的真实地址,将调用请求发送至目标后端服务器。由此,通过中间件对前端开发服务器接收到的调用请求进行处理以及转发,减少前端开发服务器压力的同时,可提升请求转发效率。
80.本技术实施例提供的请求代理方法,从前端发送的调用请求中获取被代理服务器的虚拟地址和真实地址之间的对应关系,并在调用请求中目标后端服务器的访问地址命中虚拟地址的情形下,可基于与虚拟地址对应的真实地址,将调用请求发送至目标后端服务器。由此,在代理配置信息发生变更的时候,无需专门通知前端开发服务器对其内部配置文件进行修改,无需暂停前端服务,无需重新编译前端静态资源,即可使得前端开发服务器获知被代理服务器的虚拟地址和真实地址的对应关系,方便前端开发服务器基于被代理服务器的虚拟地址及时将调用请求发送至对应的真实地址,以将调用请求转发至目标后端服务器,提高前端访问后端服务器的效率。
81.图5为本技术实施例提供的另一种请求代理方法的流程示意图。其中,需要说明的是,本示例是对上述实施例的进一步细化。
82.如图5所示,该请求代理方法可以包括:
83.步骤501,接收前端发送的调用请求,其中,调用请求包括目标后端服务器的访问地址以及通过重写调用请求添加的代理配置信息,代理配置信息包括被代理服务器的虚拟地址和真实地址的对应关系。
84.步骤502,判断访问地址是否命中代理配置信息中的虚拟地址,若否,则执行步骤503,否则,执行步骤504至步骤。
85.步骤503,基于访问地址,将调用请求发送至目标后端服务器。
86.也就是说,在判断获知访问地址未命中代理配置信息中的虚拟地址的情形下,基于访问地址,将调用请求发送至目标后端服务器。
87.步骤504,从该对应关系中,获取与虚拟地址对应的真实地址。
88.也就是说,在判断获知访问地址名命中代理配置信息中的任意虚拟地址的情形下,可基于代理配置信息中的该对应关系,获取与该任意虚拟地址对应的真实地址信息。
89.步骤505,基于真实地址,将调用请求发送至目标后端服务器。
90.在一些示例性的实施方式中,在前端开发服务器基于真实地址,将调用请求发送至目标后端服务器后,对应地,目标后端服务器获取与该调用请求对应的调用数据,并将调用数据发送至前端开发服务器。
91.步骤506,接收目标后端服务器针对该调用请求对应的调用数据。
92.步骤507,将该调用数据发送至前端。
93.对应地,前端接收调用数据,并基于所接收到的调用数据对前端中待调试前端项目进行调试。由此,使得前端可及时从目标后端服务器中获取对应的调用数据,并基于所获取到的调用数据对待调试前端项目进行及时调试,继而可提高前端项目的开发和联调的效率。
94.在本示例中,从前端发送的调用请求中获取被代理服务器的虚拟地址,并在调用请求中目标后端服务器的访问地址命中虚拟地址的情形下,可基于与虚拟地址对应的真实地址,将调用请求发送至目标后端服务器,以及在访问地址未命中虚拟地址的情形下,基于访问地址,将调用请求发送至目标后端服务器,以及将目标后端服务器针对调用请求的调
用数据返回给前端,以方便前端及时基于调用数据对前端中的待调试前端项目进行调试。由此,在代理配置信息发生变更的时候,无需专门通知前端开发服务器对其内部配置文件进行修改,无需暂停前端服务,无需重新编译前端静态资源,即可使得前端开发服务器获知被代理服务器的虚拟地址和真实地址的对应关系,方便前端开发服务器基于被代理服务器的虚拟地址及时将调用请求发送至对应的真实地址,以将调用请求转发至目标后端服务器,并及时将目标后端服务器针对该调用请求对应的调用数据发送至前端,方便对前端中待调试前端项目进行调试,提高了前端从后端服务器获取调用数据的效率,继而可提高对前端项目的调试效率,提高前端项目的开发效率。
95.图6为根据本技术一个实施例的请求代理装置的结构示意图。其中,需要说明的是,本示例中的请求代理装置应用在前端中。
96.如图6所示,该请求代理装置600可以包括:获取模块601、重写模块602和发送模块603,其中:
97.获取模块601,用于响应于针对目标后端服务器的调用请求,获取用于代理服务的代理配置信息,其中,代理配置信息包括被代理服务器的虚拟地址和真实地址的对应关系,调用请求包括目标后端服务器的访问地址。
98.重写模块602,用于重写调用请求,以添加代理配置信息。
99.发送模块603,用于将调用请求发送至前端开发服务器,以使前端开发服务器在访问地址命中虚拟地址的情形下,基于与虚拟地址对应的真实地址,将调用请求发送至目标后端服务器。
100.在本技术的一个实施例中,重写模块,具体用于:调用用于发送调用请求的请求发送函数;通过请求发送函数将代理配置信息添加到调用请求中;将调用请求发送至前端开发服务器,包括:通过请求发送函数将调用请求发送至前端开发服务器。
101.在本技术的一个实施例中,请求发送函数包括以下中的一种:send函数、fetch函数。
102.在本技术的一个实施例中,装置还包括:接收模块,用于接收前端开发服务器发送的与调用请求对应的调用数据,其中,调用数据由目标后端服务器发送至前端开发服务器;调试模块,用于根据调用数据对前端中待调试前端项目进行调试。
103.在本技术的一个实施例中,代理配置信息基于前端提供的插件配置。
104.在本技术的一个实施例中,前端开发服务器注册了若干中间件;发送模块603,具体用于:将调用请求发送至前端开发服务器;其中,前端开发服务器将调用请求发送至中间件;中间件响应于接收到调用请求,将访问地址与代理配置信息中的虚拟地址进行比较,并在访问地址命中任意虚拟地址的情形下,基于与任意虚拟地址对应的真实地址,将调用请求发送至目标后端服务器。
105.其中,需要说明的是,前述对请求代理装置实施例的解释说明也适用于该实施例的请求代理装置,此处不再赘述。
106.本技术实施例提供的请求代理装置,在接收到针对目标后端服务器的调用请求后,获取用于代理服务的代理配置信息,并通过重写该调用请求,将该代理配置信息添加到调用请求,并将调用请求发送至前端开发服务器,以使前端开发服务器在访问地址命中虚拟地址的情形下,基于与虚拟地址对应的真实地址,将调用请求发送至目标后端服务器。由
此,通过对调用请求进行重写,即可借助调用请求将被代理服务器的虚拟地址和真实地址的对应关系发送至前端开发服务器,与通过代理服务器完成地址代理的方式相比,在代理配置信息发生变更的时候,无需专门通知前端开发服务器对其内部配置文件进行修改,无需暂停前端服务,无需重新编译前端静态资源,即可使得前端开发服务器获知被代理服务器的虚拟地址和真实地址的对应关系,方便前端开发服务器基于被代理服务器的虚拟地址及时将调用请求发送至对应的真实地址,以将调用请求转发至目标后端服务器,提高前端访问后端服务器的效率。
107.图7为根据本技术一个实施例的请求代理装置的结构示意图。其中,需要说明的是,本示例中的请求代理装置应用在前端开发服务器中。
108.如图7所示,该请求代理装置700可以包括:接收模块701和发送模块702,其中:
109.接收模块701,用于接收前端发送的调用请求,其中,调用请求包括目标后端服务器的访问地址以及通过重写调用请求添加的代理配置信息,代理配置信息包括被代理服务器的虚拟地址和真实地址的对应关系;
110.发送模块702,用于在访问地址命中虚拟地址的情形下,基于与虚拟地址对应的真实地址,将调用请求发送至目标后端服务器。
111.在本技术的一个实施例中,在访问地址命中虚拟地址的情形下,该发送模块702,包括:
112.获取单元,用于在访问地址命中虚拟地址的情况下,从对应关系中获取与虚拟地址对应的真实地址;发送单元,用于基于真实地址,将调用请求发送至目标后端服务器。
113.在本技术的一个实施例中,装置还包括:
114.发送模块702,还用于在访问地址未命中虚拟地址的情况下,基于访问地址,将调用请求发送至目标后端服务器。
115.在本技术的一个实施例中,前端开发服务器注册了若干中间件,发送模块702,具体用于:将调用请求发送至中间件;中间件响应于接收到调用请求,将访问地址与代理配置信息中的虚拟地址进行比较,并在访问地址命中任意虚拟地址的情形下,基于与任意虚拟地址对应的真实地址,将调用请求发送至目标后端服务器。
116.在一些示例性的实施方式中,中间件还用于在访问地址未命中虚拟地址的情况下,基于访问地址,将调用请求发送至目标后端服务器。
117.其中,需要说明的是,前述对请求代理方法实施例的解释说明也适用于该实施例的请求代理装置,该实施例对此不作具体限定。
118.本技术实施例提供的请求代理装置,从前端发送的调用请求中获取被代理服务器的虚拟地址和真实地址之间的对应关系,并在调用请求中目标后端服务器的访问地址命中虚拟地址的情形下,可基于与虚拟地址对应的真实地址,将调用请求发送至目标后端服务器。由此,在代理配置信息发生变更的时候,无需专门通知前端开发服务器对其内部配置文件进行修改,无需暂停前端服务,无需重新编译前端静态资源,即可使得前端开发服务器获知被代理服务器的虚拟地址和真实地址的对应关系,方便前端开发服务器基于被代理服务器的虚拟地址及时将调用请求发送至对应的真实地址,以将调用请求转发至目标后端服务器,提高前端访问后端服务器的效率。
119.为了实现上述实施例,本技术还提出一种电子设备,图8为本技术实施例提供的一
种电子设备的结构示意图。该电子设备包括:
120.存储器801、处理器802及存储在存储器801上并可在处理器802上运行的计算机程序。
121.处理器802执行程序时实现上述实施例中提供的请求代理方法。
122.进一步地,电子设备还包括:
123.通信接口803,用于存储器801和处理器802之间的通信。
124.存储器801,用于存放可在处理器802上运行的计算机程序。
125.存储器801可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
126.处理器802,用于执行程序时实现上述实施例的请求代理方法。
127.如果存储器801、处理器802和通信接口803独立实现,则通信接口803、存储器801和处理器802可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(industry standard architecture,简称为isa)总线、外部设备互连(peripheral component,简称为pci)总线或扩展工业标准体系结构(extended industry standard architecture,简称为eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
128.可选的,在具体实现上,如果存储器801、处理器802及通信接口803,集成在一块芯片上实现,则存储器801、处理器802及通信接口803可以通过内部接口完成相互间的通信。
129.处理器802可能是一个中央处理器(central processing unit,简称为cpu),或者是特定集成电路(application specific integrated circuit,简称为asic),或者是被配置成实施本技术实施例的一个或多个集成电路。
130.为了实现上述实施例,本技术实施例还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述实施例中提供的请求代理方法。
131.为了实现上述实施例,本技术实施例还提出一种计算机程序产品,当计算机程序产品中的指令处理器执行时,实现上述实施例中提供的请求代理方法。
132.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
133.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本技术的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
134.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部
分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
135.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
136.应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
137.本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
138.此外,在本技术各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
139.上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本技术的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施例进行变化、修改、替换和变型。
技术特征:
1.一种请求代理方法,应用于前端,其特征在于,所述方法包括:响应于针对目标后端服务器的调用请求,获取用于代理服务的代理配置信息,其中,所述代理配置信息包括被代理服务器的虚拟地址和真实地址的对应关系,所述调用请求包括所述目标后端服务器的访问地址;重写所述调用请求,以添加所述代理配置信息;将所述调用请求发送至前端开发服务器,以使所述前端开发服务器在所述访问地址命中所述虚拟地址的情形下,基于与所述虚拟地址对应的真实地址,将所述调用请求发送至所述目标后端服务器。2.如权利要求1所述的方法,其特征在于,所述重写所述调用请求,以添加所述代理配置信息,包括:调用用于发送所述调用请求的请求发送函数;通过所述请求发送函数将所述代理配置信息添加到所述调用请求中;所述将所述调用请求发送至前端开发服务器,包括:通过所述请求发送函数将所述调用请求发送至所述前端开发服务器。3.如权利要求2所述的方法,其特征在于,所述请求发送函数包括以下中的一种:send函数、fetch函数。4.如权利要求1所述的方法,其特征在于,所述方法还包括:接收所述前端开发服务器发送的与所述调用请求对应的调用数据,其中,所述调用数据由所述目标后端服务器发送至所述前端开发服务器;根据所述调用数据对所述前端中待调试前端项目进行调试。5.如权利要求1所述的方法,其特征在于,所述代理配置信息基于所述前端提供的插件配置。6.如权利要求1所述的方法,其特征在于,所述前端开发服务器注册了若干中间件;所述将所述调用请求发送至前端开发服务器,以使所述前端开发服务器在所述访问地址命中所述虚拟地址的情形下,基于与所述虚拟地址对应的真实地址,将所述调用请求发送至所述目标后端服务器,包括:将所述调用请求发送至前端开发服务器;所述前端开发服务器将所述调用请求发送至所述中间件;所述中间件响应于接收到所述调用请求,将所述访问地址与所述代理配置信息中的虚拟地址进行比较,并在所述访问地址命中任意虚拟地址的情形下,基于与所述任意虚拟地址对应的真实地址,将所述调用请求发送至所述目标后端服务器。7.一种请求代理方法,其特征在于,所述方法应用在前端开发服务器中,所述方法包括:接收前端发送的调用请求,其中,所述调用请求包括目标后端服务器的访问地址以及通过重写所述调用请求添加的代理配置信息,所述代理配置信息包括被代理服务器的虚拟地址和真实地址的对应关系;在所述访问地址命中所述虚拟地址的情形下,基于与所述虚拟地址对应的真实地址,将所述调用请求发送至所述目标后端服务器。8.如权利要求7所述的方法,其特征在于,所述在所述访问地址命中所述虚拟地址的情
形下,基于与所述虚拟地址对应的真实地址,将所述调用请求发送至所述目标后端服务器,包括:在所述访问地址命中所述虚拟地址的情况下,从所述对应关系中获取与所述虚拟地址对应的真实地址;基于所述真实地址,将所述调用请求发送至所述目标后端服务器。9.如权利要求7所述的方法,其特征在于,所述方法还包括:在所述访问地址未命中所述虚拟地址的情况下,基于所述访问地址,将所述调用请求发送至所述目标后端服务器。10.如权利要求7所述的方法,其特征在于,所述前端开发服务器注册了若干中间件;所述在所述访问地址命中所述虚拟地址的情形下,基于与所述虚拟地址对应的真实地址,将所述调用请求发送至所述目标后端服务器,包括:将所述调用请求发送至所述中间件;所述中间件响应于接收到所述调用请求,将所述访问地址与所述代理配置信息中的虚拟地址进行比较,并在所述访问地址命中任意虚拟地址的情形下,基于与所述任意虚拟地址对应的真实地址,将所述调用请求发送至所述目标后端服务器。11.一种请求代理装置,应用于前端,其特征在于,所述装置包括:获取模块,用于响应于针对目标后端服务器的调用请求,获取用于代理服务的代理配置信息,其中,所述代理配置信息包括被代理服务器的虚拟地址和真实地址的对应关系,所述调用请求包括所述目标后端服务器的访问地址;重写模块,用于重写所述调用请求,以添加所述代理配置信息;发送模块,用于将所述调用请求发送至前端开发服务器,以使所述前端开发服务器在所述访问地址命中所述虚拟地址的情形下,基于与所述虚拟地址对应的真实地址,将所述调用请求发送至所述目标后端服务器。12.一种请求代理装置,其特征在于,所述装置应用在前端开发服务器中,所述装置包括:接收模块,用于接收前端发送的调用请求,其中,所述调用请求包括目标后端服务器的访问地址以及通过重写所述调用请求添加的代理配置信息,所述代理配置信息包括被代理服务器的虚拟地址和真实地址的对应关系;发送模块,用于在所述访问地址命中所述虚拟地址的情形下,基于与所述虚拟地址对应的真实地址,将所述调用请求发送至所述目标后端服务器。13.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-6中任一项所述的请求代理方法,或者,权利要求7-10中任一项所述的请求代理方法。14.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-6中任一项所述的请求代理方法,或者,权利要求7-10中任一项所述的请求代理方法。
技术总结
本申请提出了一种请求代理方法、装置及电子设备,涉及计算机技术领域,其中,该方法包括:在接收到针对目标后端服务器的调用请求后,通过对调用请求进行重写,即可借助调用请求将被代理服务器的虚拟地址和真实地址的对应关系发送至前端开发服务器,由此,在代理配置信息发生变更的时候,无需专门通知前端开发服务器对其内部配置文件进行修改,无需暂停前端服务,无需重新编译前端静态资源,即可使得前端开发服务器获知被代理服务器的虚拟地址和真实地址的对应关系,方便前端开发服务器基于所述对应关系将调用请求转发至目标后端服务器,提高前端访问后端服务器的效率。提高前端访问后端服务器的效率。提高前端访问后端服务器的效率。
技术研发人员:韩玉凯
受保护的技术使用者:杭州数梦工场科技有限公司
技术研发日:2022.12.29
技术公布日:2023/8/9
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
