本发明实施例涉及软件开发,具体涉及一种h5混合开发客户端的请求处理方法、客户端、计算机设备及计算机可读存储介质。
背景技术:
1、目前,随着移动网络和web开发技术的发展,移动端app已广泛采用了native+h5的混合开发模式,以实现移动端产品的跨平台开发和热更新能力。然而,h5技术天然具有页面加载慢、网络流量消耗大及安全性隐患等缺陷,主要存在以下问题:
2、1.页面资源多、加载慢,网络请求耗时和流量大,导致页面白屏,用户体验差;
3、2.页面资源需要频繁从服务器下载,用户网络流量消耗大,web服务器的负载和带宽压力大;
4、3.h5代码开源透明,敏感信息和数据传输存在安全隐患。
5、因此,亟需一种可以提高页面加载速度,减少网络请求耗时及网络流量的客户端的请求处理方法。
技术实现思路
1、鉴于上述问题,本发明实施例提供了一种h5混合开发客户端的请求处理方法、客户端、计算机设备及计算机可读存储介质,用于解决现有技术中存在的页面加载速度慢,网络请求耗时及网络流量消耗大的问题。
2、根据本发明实施例的一个方面,提供了一种h5混合开发客户端的请求处理方法,所述方法应用于客户端,所述客户端为h5混合开发的客户端,所述客户端包括web引擎,所述方法包括:
3、响应于用户点击h5功能所生成的访问请求,将所述访问请求发送给所述web引擎;所述访问请求中携带有url信息;
4、所述web引擎根据url信息,确定所述访问请求为资源请求还是业务数据请求;
5、当所述访问请求为资源请求时,所述web引擎根据所述资源请求加载本地资源;
6、当所述访问请求为业务数据请求时,确定所述业务数据请求对应的业务数据是否存在缓存,若存在缓存,则从缓存中读取所述业务数据;
7、若不存在缓存,则所述web引擎将所述业务数据请求转发给对应的远端服务器,以从所述远端服务器获取所述业务数据请求对应的业务数据。
8、在一种可选的方式中,所述响应于用户点击h5功能所生成的访问请求,将所述访问请求发送给所述web引擎之前,所述方法还包括:
9、当用户点击h5功能生成访问请求时,检查所述web引擎是否正常运行;
10、当所述web引擎正常运行时,将所述url信息中的服务器地址拼接为所述web引擎的代理服务器的地址。
11、在一种可选的方式中,所述响应于用户点击h5功能所生成的访问请求,将所述访问请求发送给所述web引擎之前,所述方法还包括:
12、当所述web引擎运行异常时,则将所述url信息中的服务器地址拼接为远端服务器的地址;
13、根据所述url信息中的服务器地址,将所述访问请求发送给所述远端服务器。
14、在一种可选的方式中,所述web引擎根据url信息,确定所述访问请求为资源请求还是业务数据请求,包括:
15、所述web引擎根据url信息与预设的资源类型进行匹配,当匹配成功时,确定为资源请求;
16、当匹配不成功时,确定所述访问请求中是否包含业务对应的远端服务器信息;
17、当包含业务对应的远端服务器信息时,确定访问请求为业务数据请求。
18、在一种可选的方式中,所述当所述访问请求为资源请求时,所述web引擎根据所述资源请求加载本地资源,包括:
19、确定所述访问请求对应的本地资源是否存在;
20、若存在,则计算本地资源的md5,当本地资源的md5与预存md5一致时,加载本地资源;
21、若不存在,则从远端服务器下载资源,并返回所下载的资源给h5页面。
22、在一种可选的方式中,所述若不存在,则从远端服务器下载资源,并返回给h5页面之后,所述方法还包括:
23、确定从远端服务器所下载的资源的md5与预存的md5是否一致,若一致,则将所下载的资源缓存至所述客户端本地。
24、在一种可选的方式中,所述方法还包括:
25、当h5资源管理后台发布灰度升级版本,生成灰度的全量资源升级包,并发布到远端灰度web服务器上时,所述客户端启动时,通过web引擎确定当前客户是否命中灰度白名单;
26、如果命中,则返回最新的灰度版本号,进入灰度模式,所有的本地资源请求及业务请求转发至远端灰度web服务器;
27、如果未命中,则执行所述web引擎根据url信息,确定所述访问请求为资源请求还是业务数据请求,当所述访问请求为资源请求时,所述web引擎根据所述资源请求加载本地资源;当所述访问请求为业务数据请求时,所述web引擎将所述业务数据请求转发给远端服务器,以从所述远端服务器获取所述业务数据请求对应的业务数据的步骤。
28、根据本发明实施例的另一方面,提供了一种客户端,所述客户端为h5混合开发的客户端,所述客户端包括web引擎;
29、所述客户端响应于用户点击h5功能所生成的访问请求,将所述访问请求发送给所述web引擎;所述访问请求中携带有url信息;
30、所述web引擎根据url信息,确定所述访问请求为资源请求还是业务数据请求;
31、当所述访问请求为资源请求时,所述web引擎根据所述资源请求加载本地资源;
32、当所述访问请求为业务数据请求时,确定所述业务数据请求对应的业务数据是否存在缓存,若存在缓存,则从缓存中读取所述业务数据;
33、若不存在缓存,则所述web引擎将所述业务数据请求转发给对应的远端服务器,以从所述远端服务器获取所述业务数据请求对应的业务数据。
34、根据本发明实施例的另一方面,提供了一种计算机设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行所述的h5混合开发客户端的请求处理方法的操作。
35、根据本发明实施例的又一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令在计算机设备上运行时,使得计算机设备执行所述的h5混合开发客户端的请求处理方法的操作。
36、本发明实施例应用于客户端,所述客户端为h5混合开发的客户端,所述客户端包括web引擎,本发明实施例通过响应于用户点击h5功能所生成的访问请求,将所述访问请求发送给所述web引擎,web引擎根据所述访问请求中携带的url信息,确定所述访问请求为资源请求还是业务数据请求;当所述访问请求为资源请求时,所述web引擎根据所述资源请求加载本地资源;当所述访问请求为业务数据请求时,确定所述业务数据请求对应的业务数据是否存在缓存,若存在缓存,则从缓存中读取所述业务数据;若不存在缓存,则所述web引擎将所述业务数据请求转发给对应的远端服务器,以从所述远端服务器获取所述业务数据请求对应的业务数据,能够有效减少网络请求耗时和流量。通过将h5页面需要加载的资源文件缓存到客户端,h5功能页面展示时从客户端本地加载,减少网络请求耗时和流量。本发明实施例通过在客户端缓存资源数据及业务数据,能够有效提高页面加载速度;通过代理获取h5请求、资源版本管理、多系统集成请求路由、灰度发布和安全校验等手段,从而提升加载速度、网络安全和用户体验。
37、上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。