发明内容
鉴于上述,本发明提出了一种网络加载方法,网络加载耗时更少,网页加载速度更快,实现更快速浏览网页。
本发明提供的技术方案如下:本发明提供一种网络加载方法,包括:接收到浏览请求时,根据域名和端口的信息在预连接缓存池中查找可用的预连接,其中,所述预连接为根据网页的页面特性预先与网络侧建立的连接;当查找到域名和端口与请求所属的域名和端口相同的预连接时,确定所述预连接为可用,直接使用所述可用的预连接向网络侧发送所述浏览请求。
优选的,所述方法还包括:当查找不到域名和端口与请求所属的域名和端口相同的预连接时,确定没有可用的预连接,则进行域名解析和连接创建,再使用创建后的连接向网络侧发送所述浏览请求。
优选的,其中:所述预连接为根据网页的页面特性预先与网络侧建立的连接包括:所述预连接是在当前页面加载完成后,获取当前页面的域名,并根据当前页面的域名建立的与该域名对应的预连接;或者,所述预连接是在当前页面加载完成后,获取当前页面在屏幕中显示的页面内容和页面浏览状态,进而确定屏幕中显示的页面内容所对应的域名,并根据对应的域名建立的与该域名对应的预连接。
优选的,其中:所述预连接为根据网页的页面特性预先与网络侧建立的连接包括:所述预连接是按以下方式建立的连接:在当前页面加载完成后,获取当前页面的域名,判断当前页面的域名是否是网站的子域名;如果是,则根据当前页面的域名建立的与该域名对应的预连接;如果否,则获取当前页面在屏幕中显示的页面内容和页面浏览状态,进而确定屏幕中显示的页面内容所对应的域名,并根据对应的域名建立的与该域名对应的预连接。
优选的,其中:所述当前页面的域名,为网页网站的子域名或者网页网站的主域名;或者,所述屏幕中显示的页面内容所对应的域名,为网页网站的子域名或者网页网站的主域名。
优选的,其中:所述在预连接缓存池中的预连接设置有连接有效时间,所述预连接在所述有效时间到期后被清理。
本发明提供一种网络加载装置,包括:请求接收单元,用于接收浏览请求;连接查找单元,用于在所述请求接收单元接收到浏览请求时,根据域名和端口的信息在预连接缓存池中查找可用的预连接,其中,所述预连接为根据网页的页面特性预先与网络侧建立的连接;第一处理单元,用于当所述连接查找单元查找到域名和端口与请求所属的域名和端口相同的预连接时,确定所述预连接为可用,直接使用所述可用的预连接向网络侧发送所述浏览请求。
优选的,网络加载装置还包括:第二处理单元,用于当所述连接查找单元查找不到域名和端口与请求所属的域名和端口相同的预连接时,确定没有可用的预连接,则进行域名解析和连接创建,再使用创建后的连接向网络侧发送所述浏览请求。
优选的,网络加载装置还包括:第一预连接单元,用于在当前页面加载完成后,获取当前页面的域名,并根据当前页面的域名建立与该域名对应的预连接,并放入预连接缓存池;或者,第二预连接单元,用于在当前页面加载完成后,获取当前页面在屏幕中显示的页面内容和页面浏览状态,进而确定屏幕中显示的页面内容所对应的域名,并根据对应的域名建立与该域名对应的预连接,并放入预连接缓存池。
优选的,网络加载装置还包括:判断单元,用于在当前页面加载完成后,获取当前页面的域名,判断当前页面的域名是否是网站的子域名;所述第一预连接单元在所述判断单元判断出当前页面的域名是网站的子域名时,根据当前页面的域名建立的与该域名对应的预连接;所述第二预连接单元在所述判断单元判断出当前页面的域名不是网站的子域名时,获取当前页面在屏幕中显示的页面内容和页面浏览状态,进而确定屏幕中显示的页面内容所对应的域名,并根据对应的域名建立的与该域名对应的预连接。
利用上述方法,本发明方案在预连接缓存池中存储了根据网页的页面特性预先与网络侧建立的连接,那么在接收到用户发起的浏览请求时,就可以根据域名和端口的信息在预连接缓存池中查找是否有可用的预连接,当查找到域名和端口与请求中含有的域名和端口相同的预连接时,就确定所述预连接为可用,此时就可以省略域名解析和连接创建的步骤,直接使用所述可用的预连接向网络侧发送所述浏览请求,从而节省网络加载所花费的时间,将网页访问时间缩短,网页加载速度更快,实现更快速浏览网页,提升用户体验。
为了实现上述以及相关目的,本发明的一个或多个方面包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明了本发明的某些示例性方面。然而,这些方面指示的仅仅是可使用本发明的原理的各种方式中的一些方式。此外,本发明旨在包括所有这些方面以及它们的等同物。
具体实施方式
下面描述本公开的各个方面。应该明白的是,本文的教导可以以多种多样形式具体体现,并且在本文中公开的任何具体结构、功能或两者仅仅是代表性的。基于本文的教导,本领域技术人员应该明白的是,本文所公开的一个方面可以独立于任何其它方面实现,并且这些方面中的两个或多个方面可以按照各种方式组合。例如,可以使用本文所阐述的任何数目的方面,实现装置或实践方法。另外,可以使用其它结构、功能、或除了本文所阐述的一个或多个方面之外或不是本文所阐述的一个或多个方面的结构和功能,实现这种装置或实践这种方法。此外,本文所描述的任何方面可以包括权利要求的至少一个元素。
本发明提出了一种网络加载方法,网络加载耗时更少,网页加载速度更快,实现更快速浏览网页。
本发明通过对网络加载流程各步骤耗时的统计分享,发现域名解析、连接创建这两个步骤所占用的时间占整个网络请求的时间比例大于10%。因此,本发明方案提出在进行网络加载时,预先建立与想访问的网页的连接,则在用户通过浏览器客户端发起网页请求时,可省去域名解析和连接创建的步骤,直接使用预先建立好的连接发送网页请求,节省网络加载所花费的时间、将网页访问时间缩短,提升用户体验。
目前访问网络的方法,一般包括两种方式,一种是中转模式,一种是直连模式。所谓中转模式,即浏览器客户端通过云端服务器(中转服务器)访问目标网站服务器;所谓直连模式,即浏览器客户端直接访问目标网站服务器。针对中转模式,浏览器客户端一般都是连接相同的云端服务器,所以如果要建立预连接,那么浏览器客户端比较容易获取云端服务器地址并建立和维持一定数量的预连接。但对于直连模式,因为浏览器客户端无法预知用户真正要访问的目标网站服务器,浏览器客户端不容易预先得到目标网站服务器地址,就比较难发起预连接,因此需要考虑其他可以用于发起预连接的判断因素。
因此,为了进一步更好实现直连模式下的预连接,并同样适用于中转模式下的应用,本发明提出根据用户访问的网页的页面特性预先建立预连接的方案。具体是根据页面特性信息(例如当前页面的域名、当前页面在屏幕中显示的页面内容和页面浏览状态),预先进行连接,这样当真正需要发起网页访问请求时,即可使用已经创建完成的预连接,直接发起网页访问请求,接收网络侧的响应数据,缩短网页访问时间,将首次显示网页的时间提前。
下面将参照附图描述本发明的各个实施例。
图1是本发明网络加载方法的第一流程图。
如图1所示,包括步骤:
步骤101、接收到浏览请求时,根据域名和端口的信息在预连接缓存池中查找可用的预连接,其中,所述预连接为根据网页的页面特性预先与网络侧建立的连接。
其中,所述预连接为根据网页的页面特性预先与网络侧建立的连接包括:
所述预连接是在当前页面加载完成后,获取当前页面的域名,并根据当前页面的域名建立的与该域名对应的预连接;或者,
所述预连接是在当前页面加载完成后,获取当前页面在屏幕中显示的页面内容和页面浏览状态,进而确定屏幕中显示的页面内容所对应的域名,并根据对应的域名建立的与该域名对应的预连接。
步骤102、当查找到域名和端口与请求所属的域名和端口相同的预连接时,确定所述预连接为可用,直接使用所述可用的预连接向网络侧发送所述浏览请求。
需说明的,还进一步包括:当查找不到域名和端口与请求中含有的域名和端口相同的预连接时,确定没有可用的预连接,则进行域名解析和连接创建,再使用创建后的连接向网络侧发送所述浏览请求。
另外,所述在预连接缓存池中的预连接设置有连接有效时间,所述预连接在所述有效时间到期后被清理。
可以发现,本发明方案在预连接缓存池中存储了根据网页的页面特性预先与网络侧建立的连接,那么在接收到用户发起的浏览请求时,就可以根据域名和端口的信息在预连接缓存池中查找是否有可用的预连接,当查找到域名和端口与请求所属的域名和端口相同的预连接时,就确定所述预连接为可用,此时就可以省略域名解析和连接创建的步骤,直接使用所述可用的预连接向网络侧发送所述浏览请求,从而节省网络加载所花费的时间,将网页访问时间缩短,网页加载速度更快,实现更快速浏览网页,提升用户体验。
图2是本发明网络加载方法的第二流程图。
如图2所示,包括步骤:
步骤201、接收到用户发起的浏览请求,准备开始网络加载;
步骤202、在预连接缓存池中查询是否存在可用的预连接,如存在,进入步骤203,如不存在,进入步骤204。
该步骤中判断预连接缓存池中的预连接是否可用的原则是:比较预连接中的域名和端口,是否与请求所属的域名和端口相同,如果连接的域名及端口相同,则认为预连接可用。一般的,在域名和端口(一般是80端口)相同的情况下,不同的URL(UniformResourceLocator,统一资源定位符)使用相同的TCP连接。
其中,预连接缓存池中的预连接为预先设置,具体处理过程参见图3所示的流程描述。
步骤203、有可用预连接,则直接使用预连接缓存池中查找到的可用的预连接,向网络侧发送浏览请求。
因为预连接缓存池中已经有可用的预连接,从而不需再像现有技术那样进行域名解析和创建连接的过程,直接可以利用预连接发送浏览请求,可以将网页访问时间缩短,网页加载速度更快。
步骤204、没有可用预连接,则进行域名解析和连接创建,进入205。
步骤205、根据创建的连接,向网络侧发送浏览请求。
图3是本发明网络加载方法中预先建立预连接的流程图。
如图3所示,预先建立预连接的过程包括:
步骤301、网页页面加载完成后,收集当前页面的页面特性信息。
按照访问请求进行网页加载完成后,收集当前页面的页面特性信息。页面特性信息可以是例如当前页面的域名,或者是当前页面在屏幕中显示的页面内容和页面浏览状态。
举例说明,用户浏览网页为新浪首页页面时,按照访问请求对新浪首页页面加载完成后,搜集当前新浪首页的页面特性信息。当用户对页面执行滚屏操作,滚动到新浪体育专栏时不再滚动,此时检测到移动终端当前屏幕中显示的页面基本上都是新浪体育这个专栏的页面内容。那么,此时收集当前页面的页面特性信息是:当前浏览的屏幕中显示的页面的特征是对应体育类内容,页面浏览状态是停留在体育专栏不再滚动。根据这两种信息可以判断出用户最可能访问的内容是新浪体育,其对应的域名是“sports.sina.cn”,因此下一步就可以考虑对新浪体育对应的域名“sports.sina.cn”进行预连接。
再举例说明,用户浏览的网页为新浪网站下面的新浪体育专栏页面时,那么,此时收集当前页面的页面特性信息是:当前域名为新浪体育对应的域名“sports.sina.cn”。当用户进入网站中的其中一个专栏,观看完一条URL链接对应的内容之后,最可能看的也可能是这个专栏下的其它链接内容。所以当用户进入新浪体育专栏页面看完一个URL对应的新闻后,可能还想看新浪体育专栏页面的其他内容,因此根据收集的当前域名信息“sports.sina.cn”,下一步就可以考虑对“sports.sina.cn”进行预连接。
需要说明的是,上述举例的是所述页面浏览状态为页面停止滚动状态,如果是缓慢滚动状态,也可以认为用户当前关注屏幕中显示的页面。
还需要说明的是,上述例子在描述收集当前页面的页面特性信息是当前页面的域名时,该当前页面的域名是一个子域名,例如是新浪网站主域名“sina.cn”下的新浪体育子域名“sports.sina.cn”,这是因为子域名下的连接相对于主域名下的连接要更少,因此优选的是对子域名进行预连接,但也不局限于此,对主域名如“sina.cn”同样可以进行预连接。
同理,上述例子在描述收集当前页面的页面特性信息为当前浏览的屏幕中显示的页面的特征是对应体育类内容,页面浏览状态是停留在体育专栏不再滚动时,所对应的域名也是一个子域名,是“sports.sina.cn”,优选的也是对子域名进行预连接,但也不局限于此,对主域名同样可以进行预连接。
步骤302、根据收集的当前页面的页面特性信息建立预连接。
该步骤有2种实现方式:
1)一种实现方式是,获取当前页面的域名,并根据当前页面的域名建立与该域名对应的预连接:
例如图4所示,图4是根据当前域名对新浪体育建立预连接的示意图。
在新浪首页首先点击“体育”,收集到的子域名为“sports.sina.cn”,针对“sports.sina.cn”进行预连接。
因为当用户进入一个专栏观看完其中1个链接内容后,最可能看的也可能是这个专栏下的其它链接对应的内容,所以当用户进入专栏后,就可以根据该专栏的当前域名的信息,对当前域名进行预连接。
2)另外一种方式是,获取当前页面在屏幕中显示的页面内容和页面浏览状态,进而确定屏幕中显示的页面内容所对应的域名,并根据对应的域名建立与该域名对应的预连接:
例如图5所示,图5是根据屏幕中显示的页面内容和页面浏览状态对新浪新闻建立预连接的示意图。
用户浏览新浪首页时,检测到当前屏幕的内容基本上是新浪新闻的内容,即用户当前浏览的页面的内容特征信息体现的是新闻类内容,且检测到用户浏览状态为停止滚动页面。此时,可以判断出用户最可能访问的内容是新浪新闻,获得其对应的域名是“news.sina.cn”,因此对新浪新闻的域名“news.sina.cn”发起预连接。
需说明的是,当前用户正在浏览的页面的连接也有可能是域名相同的情况,也就是说当前页面在屏幕中显示的页面内容所对应的域名,也可能就是当前页面所对应的域名,页面中所有内容都属于同一域名,而前面所描述的新浪首页页面的内容中,与体育相关的页面内容则有新的体育专栏的域名,与新闻相关的页面内容则有新的新闻专栏的域名。
另外,上述是以两种情形分别描述进行说明,也可以是结合起来应用。例如,在网页被点击打开后,首先判断当前页面的域名是否是网站的子域名,如果是,则按第一种方式处理,即获取当前页面的域名,并根据当前页面的域名建立与该域名对应的预连接;如果否,则按第二种方式处理,即获取当前页面在屏幕中显示的页面内容和页面浏览状态,进而确定屏幕中显示的页面内容所对应的域名,并根据对应的域名建立与该域名对应的预连接。
步骤303、将建立好的预连接存放到预连接缓存池中。
在步骤302建立好不同的预连接后,存放到预连接缓存池中待用。
进一步的,可以设定每个预连接的有效时间,根据不同的网络情况设置的有效时间不同,例如一般在wifi情况下设置的有效时间长,目前wifi网络下可以设置为1分钟,而移动网络情况下设置的有效时间将较短,目前可以设置为30秒。
可以定期对预连接缓存池中的预连接的有效时间进行检查,如果发现预连接超过有效时间,则进行清理。
可以发现,本发明的有益效果是:根据页面特性提前建立预连接,在预连接缓存池中存储了根据网页的页面特性预先建立的连接。那么在接收到用户发起的浏览请求时,就可以根据域名和端口的信息在预连接缓存池中查找是否有可用的预连接。当有可用的预连接时,可以直接利用预连接缓存池中预先已经建立好的预连接发起网络请求,为加载过程节省了域名解析时间和连接建立的时间。根据统计,域名解析时间和连接建立的时间约占整个加载过程耗时约大于10%,因此使用本提案的优化方法后,就可以节省这10%的时间,使得加载耗时更少,更快,减少了网页展现所需的时间,实现快速浏览网页,大大提高了用户体验。
上述详细介绍了本发明方法,以下相应介绍本发明提供的装置。
图6是本发明网络加载装置结构示意图。
如图6所示,网络加载装置60包括:请求接收单元601、连接查找单元602、第一处理单元603。
请求接收单元601,用于接收用户发起的浏览请求;
连接查找单元602,用于在所述请求接收单元601接收到用户发起的浏览请求时,根据域名和端口的信息在预连接缓存池中查找可用的预连接,其中,所述预连接为根据网页的页面特性预先与网络侧建立的连接;
第一处理单元603,用于当所述连接查找单元602查找到域名和端口与请求所属的域名和端口相同的预连接时,确定所述预连接为可用,直接使用所述可用的预连接向网络侧发送所述浏览请求。
进一步的,网络加载装置还包括:第二处理单元604。第二处理单元604,用于当所述连接查找单元602查找不到域名和端口与请求所属的域名和端口相同的预连接时,确定没有可用的预连接,则进行域名解析和连接创建,再使用创建后的连接向网络侧发送所述浏览请求。
进一步的,网络加载装置还包括:第一预连接单元605和/或第二预连接单元606。
第一预连接单元605,用于在当前页面加载完成后,获取当前页面的域名,并根据当前页面的域名建立与该域名对应的预连接,并放入预连接缓存池;或者,
第二预连接单元606,用于在当前页面加载完成后,获取当前页面在屏幕中显示的页面内容和页面浏览状态,进而确定屏幕中显示的页面内容所对应的域名,并根据对应的域名建立与该域名对应的预连接,并放入预连接缓存池。
进一步的,网络加载装置还包括:判断单元(图中未示出)。判断单元,用于在当前页面加载完成后,获取当前页面的域名,判断当前页面的域名是否是网站的子域名;所述第一预连接单元605在所述判断单元判断出当前页面的域名是网站的子域名时,根据当前页面的域名建立的与该域名对应的预连接;所述第二预连接单元606在所述判断单元判断出当前页面的域名不是网站的子域名时,获取当前页面在屏幕中显示的页面内容和页面浏览状态,进而确定屏幕中显示的页面内容所对应的域名,并根据对应的域名建立的与该域名对应的预连接。
其中:所述当前页面的域名,为网页网站的子域名或者网页网站的主域名;或者,所述屏幕中显示的页面内容所对应的域名,为网页网站的子域名或者网页网站的主域名。
所述页面浏览状态为页面停止滚动或缓慢滚动。
进一步的,网络加载装置还包括:期限设置单元(图中未示出)。期限设置单元,用于对预连接缓存池中的预连接设置连接有效时间,所述预连接在所述有效时间到期后被清理。
上述各单元之间的交互过程,参见前面方法中的描述,此处不再赘述。
图7是本发明的移动终端的结构示意图。
如图7所示,该移动终端70包括上述描述的网络加载装置60。该装置60的结构具体如图6所示,此处不再赘述。
此外,典型地,本发明所述的移动终端可为各种具有蓝牙功能的手持终端设备,例如具有蓝牙功能的手机、个人数字助理(PDA)。
此外,根据本发明的方法还可以被实现为由移动终端中的处理器(比如CPU)执行的计算机程序,并且存储在移动终端的存储器中。在该计算机程序被处理器执行时,执行本发明的方法中限定的上述功能。
此外,根据本发明的方法还可以实现为一种计算机程序产品,该计算机程序产品包括计算机可读介质,在该计算机可读介质上存储有用于执行本发明的方法中限定的上述功能的计算机程序。
此外,上述方法步骤以及系统单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储设备实现。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现所述的功能,但是这种实现决定不应被解释为导致脱离本发明的范围。
尽管前面公开的内容示出了本发明的示例性实施例,但是应当注意,在不背离权利要求限定的本发明的范围的前提下,可以进行多种改变和修改。根据这里描述的发明实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明的元素可以以个体形式描述或要求,但是也可以设想多个,除非明确限制为单数。
虽然如上参照图描述了根据本发明的各个实施例进行了描述,但是本领域技术人员应当理解,对上述本发明所提出的各个实施例,还可以在不脱离本发明内容的基础上做出各种改进。因此,本发明的保护范围应当由所附的权利要求书的内容确定。