一种网页处理方法和装置与流程

文档序号:23652446发布日期:2021-01-15 13:48阅读:60来源:国知局
一种网页处理方法和装置与流程

本申请是于“2015-10-14”递交、申请号为2015106620820,发明创造名称是“一种网页处理方法和装置”的分案申请。

本申请涉及网络技术,特别涉及一种网页处理方法和装置。



背景技术:

随着网络技术的发展,人们越来越多的使用网络来进行各种应用,例如,可以通过上网浏览新闻,通过网络购买衣服,或者通过网络进行生活缴费等。不论是何种网络应用,通常对应的应用都会开发该应用的客户端,该客户端会集成网络浏览器,加载应用的网页供用户浏览和选择应用信息。其中,客户端在加载网页时,为了能够实现较为流畅的网页加载效果,给用户较好的使用体验,客户端可以根据一定的网页资源加载策略来加载网页。比如,有的客户端按照预先设定的资源加载顺序加载,或者,根据获取的网络类型(如,2g/3g/wifi)来确定如何加载,但是,这种网页加载方式仍然不能实现较好的加载效果,比如,加载速度较慢,或者容易出现卡顿等。



技术实现要素:

有鉴于此,本申请提供一种网页处理方法和装置,以提高网页加载的速度。

具体地,本申请是通过如下技术方案实现的:

第一方面,提供一种网页处理方法,所述方法由拦截器执行,包括:

接收网页客户端向服务端发送的资源请求,将所述资源请求转发至所述服务端;或者,接收所述服务端向网页客户端反馈的资源,并将所述资源转发至所述网页客户端;

根据所述资源请求和资源,得到网络状态信息;

将所述网络状态信息发送至所述网页客户端,以使得所述网页客户端根据所述网络状态信息设置网页加载策略。

第二方面,提供一种网页处理方法,所述方法由网页客户端执行,包括:

接收拦截器发送的网络状态信息,所述网络状态信息是所述拦截器根据网页客户端向服务端发送的资源请求以及所述服务端向网页客户端反馈的资源得到;

根据所述网络状态信息,设置网页加载策略。

第三方面,提供一种网页处理装置,包括:

转发模块,用于接收网页客户端向服务端发送的资源请求,将所述资源请求转发至所述服务端;或者,接收所述服务端向网页客户端反馈的资源,并将所述资源转发至所述网页客户端;

统计模块,用于根据所述资源请求和资源,得到网络状态信息;

推送模块,用于将所述网络状态信息发送至所述网页客户端,以使得所述网页客户端根据所述网络状态信息设置网页加载策略。

第四方面,提供一种网页处理装置,包括:

信息接收模块,用于接收拦截器发送的网络状态信息,所述网络状态信息是所述拦截器根据网页客户端向服务端发送的资源请求以及所述服务端向网页客户端反馈的资源得到;

网页加载模块,用于根据所述网络状态信息,设置网页加载策略。

本申请提供的网页处理方法和装置,通过根据资源请求和资源得到网络状态信息,并将网络状态信息发送至网页客户端,以使得客户端据此设置网页加载策略,使得网页的加载能够符合真实的网络状态,适应网络状态的变化,从而提高网页加载的速度。

附图说明

图1是本申请一示例性实施例示出的一种客户端的网页浏览示意图;

图2是本申请一示例性实施例示出的数据交互示意图;

图3是本申请一示例性实施例示出的一种网页处理方法的流程图;

图4是本申请一示例性实施例示出的拦截器作用示意图;

图5是本申请一示例性实施例示出的另一种网页处理方法的流程图;

图6是本申请一示例性实施例示出的一种网页处理装置的结构图;

图7是本申请一示例性实施例示出的另一种网页处理装置的结构图;

图8是本申请一示例性实施例示出的又一种网页处理装置的结构图;

图9是本申请一示例性实施例示出的又一种网页处理装置的结构图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

人们经常在终端上浏览网页,例如,可以在智能手机(或者pc)上通过浏览器打开淘宝页面,或者,通过浏览器打开某个社交网站的页面。参见图1所示,用户通过浏览器11打开了多个客户端,示例性的,可以包括淘宝客户端、新浪客户端、社交网站客户端等,每个客户端是在浏览器11中打开的一个网页,因为本申请的实施例中也可以称为“网页客户端”。

如图1所示,每个网页客户端都对应着至少一个服务端,例如,淘宝客户端(该客户端是淘宝公司提供给用户的一个应用客户端,可提供购物等服务)所显示的网页可以是服务器13发送至浏览器解析显示,社交网站客户端(该客户端是指社交公司提供给用户的一个应用客户端,可提供社交等服务)所显示的网页可以是服务器14发送至浏览器,新浪客户端(该客户端是新浪公司提供给用户的一个应用客户端,可提供新闻等服务)的网页可以是服务器15发送至浏览器显示。由于客户端的网页是在浏览器中解析显示,因此客户端与服务端之间的数据交互都经过浏览器,比如,客户端向服务端发送的请求资源(该资源例如包括:网页中的图片、文字、视频等)的资源请求由浏览器发送出去,服务端反馈给客户端的资源也是由浏览器接收。

结合图1和图2所示,假设将浏览器与服务端之间的数据交互通道称为一个网络通道,那么该通道中可以包括一个网络出口以及外部网络。其中,网络出口可以具有汇聚的作用,客户端向服务端发送的所有请求都经过该网络出口的位置,并且服务端向客户端反馈的所有数据也都经过该网络出口。本申请实施例中,就在该网络出口的位置设置了“拦截器”12。例如,该拦截器12可以属于浏览器的一部分,或者也可以如图1所示的,独立于浏览器之外,作为终端(例如,手机、pc等)的一部分功能模块。

图3示例了拦截器所执行的处理流程,需要说明的是,如下的301和302等处理步骤的序号,并不限制各步骤之间的执行顺序,比如,302和301可以并行执行。如图3所示,该方法可以包括:

在步骤301中,拦截器可以执行转发的功能,包括:接收网页客户端向服务端发送的资源请求,将资源请求转发至服务端;或者,接收服务端向网页客户端反馈的资源,并将资源转发至网页客户端。通过本步骤的请求或数据的转发,来保证网络通信的正常进行。

其中,由于拦截器设置在网络出口层的位置,因此各个网页客户端向服务端发送的资源请求,都会经过拦截器;并且服务端向网页客户端返回的资源,也都会由拦截器转发给网页客户端。

同时,在拦截器执行数据转发的过程中,拦截器还可以统计其所在的网络通道的网络状态信息。如图2所示,拦截器本身就处于客户端和服务端之间的网络通道上,其可以统计该网络通道的网络状态信息。例如,在步骤302中,拦截器可以根据接收的资源请求和资源,统计得到网络状态信息。该网络状态信息,包括但不限于:网速统计信息、各种不同的数据流量。

在步骤303中,拦截器可以将网络状态信息发送至网页客户端,这样网页客户端可以根据所述网络状态信息设置网页加载策略。其中,图4示出了拦截器的作用,拦截器既负责正常的数据转发,同时也向网页客户端主动推送网络状态信息,以供网页客户端据此调整网页加载策略。

网络状态信息是影响网页的加载效果的其中一个重要因素,比如,如果网速比较低,可能导致网页加载较慢,此时如果客户端调整加载策略,指示服务端发送低质量的图片,或者延迟加载部分资源,可能会在一定程度上减轻网络拥塞的情况,提高网页的显示速度。因此,本实施例设置拦截器获取实时的当前网络状态,提供给客户端作为调整网页加载策略的依据。

在传统方式中,网页客户端通常是无法获取准确可靠的实时网络状态,这样客户端就不能设置准确合理的网页加载策略,可能导致网页加载的效果较差;而在本申请的实施例中,通过设置拦截器获取网络状态信息提供至网页客户端,由于拦截器设置在网络通道上的网络出口,其获取到的网络状态是准确可靠的,并且通过将该网络状态信息提供给网页客户端,客户端也可以据此合理的调整网页加载策略,达到较好的网页显示效果。

示例性的,在步骤303中,拦截器可以通过websocket方式,将统计得到的网络状态信息发送至各个网页客户端,比如,如图1所示的场景中,拦截器可以将网络状态信息发送至淘宝客户端、社交网站客户端、新浪客户端等。拦截器可以通过websocket接口与各个网页客户端连接,该websocket的方式传输信息,传输开销小,不会对正常业务流程造成影响。并且,拦截器可以实时的统计网络状态信息,并实时的推送至客户端。例如,假设拦截器要统计每10秒钟的网络总流量,则可以每隔10秒钟向网页客户端发送一次网络状态信息。

如下列举两种拦截器侧执行的对网络状态信息的统计处理:

在一个例子中,拦截器可以统计当前进行中的资源请求的请求数量、以及单位时间内的网络总流量。例如,对于通过浏览器打开的一个客户端网页,可能会产生多个资源请求,不同的请求可以用于分别请求该网页中的不同类型的数据,如,向内容服务器请求网页文字的请求,或者向图片服务器请求网页中图片的请求。由于所有的请求都经过拦截器,所以拦截器可以统计出当前的请求数量,这个请求数量可以是拦截器在向网页客户端推送网络状态信息的时刻正在进行中的请求。

此外,单位时间内的网络总流量,包括了各个客户端的数据总流量。例如,假设终端上打开了一个浏览器,浏览器上运行了多个网页客户端,这些网页客户端与各自的服务端之间的流量总和为网络总流量;单位时间内的网络总流量,例如为10秒内的总流量,即拦截器每隔10秒钟就统计一次这10秒内的网络数据传输总量。又例如,如果终端上通过多个浏览器运行了多个网页客户端,该网络总流量也是包括各个浏览器的各个客户端的流量总和。

在另一个例子中,拦截器可以获取资源请求中的不同类型请求的数量,该不同类型请求分别向不同的服务端发送。比如,拦截器接收到了10个资源请求,其中的8个请求是用于向新浪服务器请求一些图片资源,另2个请求是用于向淘宝服务器请求图片资源。也就是说,拦截器可以对网络通道中的各种类型的流量进行细化的分析,这些都有助于网页客户端对网页加载策略调整的支持,具体可以结合参见在客户端侧方法的描述。

网页客户端可以接收拦截器发送的网络状态信息,并据此确定如何加载网页资源。客户端执行的流程可以参见图5,包括:

在步骤501中,接收拦截器发送的网络状态信息,该网络状态信息是拦截器根据网页客户端向服务端发送的资源请求以及服务端向网页客户端反馈的资源得到。例如,拦截器可以每隔10秒钟向客户端推送一次网络状态信息,以使得客户端实时的获知当前的网络状况。

在步骤502中,网页客户端可以根据网络状态信息,设置网页加载策略。

如下的两种例子,对应于上述拦截器对网络状态信息的统计处理的两个例子,描述网页客户端在接收到该信息后如何调整网页加载策略:

在一个例子中,当拦截器向网页客户端发送的网络状态信息,包括:资源请求的请求数量、以及单位时间内的网络总流量时,客户端可以据此确定当前网络的网速状态。比如,假设设定一个指标阈值,设定请求数量阈值为8,单位时间为10秒,单位时间的总流量阈值为0.8m,设定超过上述阈值则表明当前网络出现了拥塞,网速低。那么当拦截器反馈的网络状态信息中,当前资源请求的请求数量为10,10秒内的网络总流量为1m时,客户端可以确定此时网速低。可选的,阈值存储和网速判断,既可以在客户端侧执行,也可以在拦截器执行,由拦截器直接向网页客户端通知网速低的判断结果。

当网页客户端确定网速低时,客户端可以调整资源请求的发送频率或者请求的资源的属性信息。

例如,调整资源请求的发送频率的例子如下:假设网页中有100张图片要加载,打开该网页时先加载10张,然后客户端接收到拦截器发送的网络状态信息,当前资源请求的请求数量为10,10秒内的网络总流量为1m,经过分析确定这时可能发生网络阻塞,网速较低,则客户端可以暂时停止加载后续图片。10秒钟之后,根据拦截器再次发送的网络状态信息,只剩下2个网络请求正在进行,并且网络流量也低于1m,则客户端可以继续开始加载后面的10张图片。这就是一种在低网速时延迟加载部分资源的策略,可以减轻网络负担,防止网络发生严重拥塞,提高网络恢复的效率和网页显示的速度。

又例如,调整请求的资源的属性信息的例子如下:当网页客户端向服务端发送资源请求,请求传输网页显示需要的图片资源时,假设客户端接收到的服务端传送的网络状态信息包括:当前资源请求的请求数量为10,10秒内的网络总流量为1m,经过分析确定这时可能发生网络阻塞,网速较低,则客户端此时可以指示服务端发送低质量的图片,以降低网络数据的传输量。这就是根据网速调整网页信息的例子,服务端可以存储高质量大尺寸的图片以及低质量小尺寸的图片等多种版本的图片,客户端可以根据网速情况指示服务端动态调整所发送的图片的属性信息(如,尺寸)。

在另一个例子中,当拦截器向网页客户端发送的网络状态信息,包括:不同类型的资源请求的数量时,客户端可以调整该不同类型的资源请求对应的资源的加载顺序。举例如下:假设拦截器统计得到当前的十个网络数据请求中,其中有八个请求是向新浪服务器请求资源,另外的两个请求是向淘宝服务器请求资源,也就是说,当前与新浪服务器通信链路的负担是相对较重的,那么网页客户端在获取到该信息后,可以先加载淘宝服务器的资源,因为此时与淘宝服务器的通信链路负担较轻,加载速度会快一些。

由上述图5所示的客户端执行流程来看,网页客户端在拦截器推送网络状态信息的辅助下,可以实时的获取到当前网络的状态,并且拦截器反馈的网络状态信息是准确可靠的,客户端能够这些准确可靠的网络状态信息,更加清楚的了解到当前网络的使用情况,从而更加合理的调整网页的加载策略,使得客户端网页的加载效果更好(如,更加流畅、更加快速)。

为了实现上述的网页处理方法,本申请实施例设计了用于实现该方法的功能模块,如拦截器,可以是以软件形式实现,例如可以用javascript实现。本申请实施例可以将用于实现上述方法的功能模块称为网页处理装置。如图6所示,该网页处理装置可以是应用于拦截器,包括:转发模块61、统计模块62和推送模块63。

转发模块61,用于接收网页客户端向服务端发送的资源请求,将所述资源请求转发至所述服务端;或者,接收所述服务端向网页客户端反馈的资源,并将所述资源转发至所述网页客户端;

统计模块62,用于根据资源请求和资源,得到网络状态信息;

推送模块63,用于将所述网络状态信息发送至所述网页客户端,以使得所述网页客户端根据所述网络状态信息设置网页加载策略。

进一步的,推送模块63,用于按照预定时间间隔,将所述网络状态信息发送至所述网页客户端。

参见图7所示,在图6所示的结构基础上,统计模块62可以包括:

网速确定子模块621,用于获取当前进行中的所述资源请求的请求数量、以及单位时间内的网络总流量;

网络细分子模块622,用于获取所述资源请求中的不同类型请求的数量,所述不同类型请求分别向不同的服务端发送。

图8示例了一种网页处理装置,该装置可以应用于网页客户端,如图8所示,该装置可以包括:信息接收模块81和网页加载模块82。

信息接收模块81,用于接收拦截器发送的网络状态信息,所述网络状态信息是所述拦截器根据网页客户端向服务端发送的资源请求以及所述服务端向网页客户端反馈的资源得到;

网页加载模块82,用于根据所述网络状态信息,设置网页加载策略。

进一步的,网页加载模块82,用于根据所述网络状态信息中包括的不同类型的资源请求的数量,调整所述不同类型的资源请求对应的资源的加载顺序。

参见图9所示,该装置中的网页加载模块82可以包括:

信息分析子模块821,用于根据所述网络状态信息中包括的资源请求的请求数量、以及单位时间内的网络总流量,确定当前网络的网速状态;

策略设定子模块822,用于根据所述网速状态,调整所述资源请求的发送频率或者请求的资源的属性信息。

通过在网页客户端设置图8或图9所示的网页处理装置,使得网页客户端可以接收到拦截器发送的网络状态信息,并根据该网络状态信息调整网页的加载策略,加快网页的显示速度。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1