网页加速的方法

文档序号:9754341阅读:1720来源:国知局
网页加速的方法
【技术领域】
[0001]本发明涉及网络协议驱动技术领域,具体涉及一种网页加速的方法。
【背景技术】
[0002]用户在浏览网页时,网页打开的速度影响着用户的体验感受。网页打开的快慢除与网速、硬件设备等有关,还与网页的加速方法有关。现有的网页加速方法需要区分浏览器,根据不同浏览器采用不同的技术,用户体验较差。

【发明内容】

[0003]本发明实施例的目的在于克服现有技术的上述不足,提供一种网页加速的方法,使用不同浏览器的用户都可以体验到网页加速效果。
[0004]一种网页加速的方法,包括:应用层将需要加速的网页的信息发送到NDIS驱动;所述NDIS驱动判断所述数据包携带的网页的地址是否满足HTTP协议;如果所述数据包携带的网页的地址满足HTTP协议,则校验所述数据包携带的网页的地址是否为所述需要加速的网页的地址;如果所述数据包携带的网页的地址是所述需要加速的网页的地址,则所述NDIS驱动拦截所述数据包;所述应用层读取所述NDIS驱动拦截的所述数据包,并对所述数据包的数据进行修改;所述应用层将修改后的所述数据包发送到协议层;所述协议层将修改后的所述数据包发送到相应的浏览器进程。
[0005]进一步,所述NDIS驱动判断所述数据包携带的网页的地址是否满足HTTP协议的过程包括:如果所述数据包的协议是TCP协议,则判断所述TCP协议的目的端口号是否为80;如果所述TCP协议的目的端口号为80,则获取所述数据包携带的数据的大小;如果所述数据的大小不为O,则检查所述数据包的目的IP地址和源端口号是否存在于HTTP分段信息表中;如果所述数据包的目的IP地址和源端口号不存在于所述HTTP分段信息表中,则判断所述HTTP请求方式是否为GET;如果所述HTTP请求方式是GET,则所述NDIS驱动判断所述数据包携带的网页的地址满足HTTP协议。
[0006]进一步:如果所述数据的大小为O,则确认所述数据包为ACK数据包,检查所述数据包的目的IP地址、源端口号和ACK值是否存在于TCP信息表中;如果所述数据包的ACK值存在于所述TCP信息表中,则更新所述TCP信息表。
[0007]进一步:如果所述数据包的目的IP地址和源端口号存在于所述HTTP分段信息表中,则判断所述数据包的HTTP请求方式GET是否结束;如果所述HTTP请求方式GET结束,则根据所述数据包更新所述TCP信息表中的ACK值和SEQ值,并从所述HTTP分段信息表中删除该条记录;如果所述HTTP请求方式GET没有结束,则将所述数据包拦截并标记为仅发送ACK回应。
[0008]进一步:所述校验所述数据包携带的网页的地址是否为所述需要加速的网页的地址的过程包括:如果所述NDIS驱动判断所述数据包携带的网页的地址满足HTTP协议,则解析所述数据包的HTTP请求的头部并获取URI和HOST;将URI和HOST拼成完整的URL;计算所述完整的URL的HASH值;查询计算的所述完整的URL的HASH值是否存在于所述URL映射表中。
[0009]进一步,所述NDIS驱动拦截所述数据包的过程包括:如果所述完整的URL的HASH值存在于所述URL映射表中,则将所述数据包的ACK值和SEQ值保存到所述TCP信息表中;判断所述数据包是否为HTTP分段数据包或者校验所述HTTP请求方式GET是否结束;如果所述数据包是HTTP分段数据包或者所述HTTP请求方式GET没有结束,则保存到所述HTTP分段信息表中;如果所述数据包不是HTTP分段数据包或者所述HTTP请求方式GET结束,则拦截所述数据包;在拦截的该数据包内加入完整的URL的HASH值,并将拦截的该数据包对应的回应的数据包标记为需要发送完整数据的数据包。
[0010]进一步,所述应用层读取所述数据包,并对所述数据包的数据进行修改的过程包括:启动读取线程和并发处理线程;所述读取线程读取所述NDIS驱动拦截的所述数据包,并校验所述数据包;所述读取线程获取校验后的所述数据包的完整的URL的HASH值,并读取缓存的所述网页的页面的信息;所述读取线程将所述数据包发送到所述并发处理线程;所述并发处理线程将所述数据包的源MAC地址和目的MAC地址互换,源IP与目的IP互换,源端口号与目的端口号互换。
[0011 ]进一步,在所述并发处理线程将所述数据包的源MAC地址和目的MAC地址互换,源IP与目的IP互换,源端口号与目的端口号互换的过程之后,所述应用层读取所述数据包,并对所述数据包的数据进行修改的过程还包括:所述并发处理线程根据缓存的所述网页的页面的信息的大小将所述数据包分段。
[0012]进一步,所述应用层将修改后的所述数据包发送到协议层的过程包括:所述并发处理线程计算和校验所述数据包的IP和TCP,并将所述数据包发送到所述协议层。
[0013]进一步,还包括:所述NDIS驱动启动时创建并保存所述TCP信息表,所述TCP信息表包括:所述TCP数据包的IP地址、源端口号、ACK值和SEQ值;以及,所述NDIS驱动启动时创建并保存所述HTTP分段信息表,所述HTTP分段信息表包括:HTTP的分段信息。
[0014]进一步,所述应用层将需要加速的网页的信息发送到NDIS驱动的过程包括:所述应用层从配置文件中获取所述需要加速的网页的网址并缓存所述网页的页面的信息;所述应用层从注册表中获取TCP协议参数;所述应用层将所述网页的网址和所述TCP协议参数发送到所述NDIS驱动。
[0015]进一步,所述获取所述需要加速的网页的网址的过程包括:获取所述需要加速的网页的URL的HASH值;建立所述URL映射表,将所述HASH值和所述URL对应。
[0016]进一步:所述TCP协议参数包括:最大数据帧长度、TCP窗口的大小和TCP窗口扩大因子。
[0017]本发明实施例的有益效果如下:
[0018]本发明实施例的网页加速的方法,不管应用层是否是浏览器进程,只要访问指定的网页都能获得加速访问的功能。
【附图说明】
[0019]图1是本发明实施例的网页加速的方法的流程图;
[0020]图2是本发明实施例的步骤SlO的流程图;
[0021 ]图3是本发明实施例的步骤S20的流程图;
[0022]图4是本发明实施例的步骤S30的流程图;
[0023]图5是本发明实施例的步骤S40的流程图;
[0024]图6是本发明实施例的步骤S50的流程图。
【具体实施方式】
[0025]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0026]本发明实施例提供了一种网页加速的方法。如图1所示,为本发明实施例的网页加速的方法的流程图。该方法的具体流程如下:
[0027]步骤S10:应用层将需要加速的网页的信息发送到NDIS驱动。
[0028]具体的,应用层可预先获取应用层与NDIS驱动的交互接口,例如,可通过微软的MSDN服务获取。应用层通过该应用层与NDIS驱动的交互接口将需要加速的网页的信息发送到NDIS驱动。
[0029]如图2所示,为本发明实施例的步骤SlO的流程图,步骤SlO包括如下的过程:
[0030]步骤SlOl:应用层从配置文件中获取需要加速的网页的网址并缓存网页的页面的
?目息O
[0031]配置文件是在用户登录电脑时或是用户在使用软件等时,软件系统为用户所要加载所需环境的设置和文件的集合。它包括所有用户专用的配置设置,如程序项目、屏幕颜色、网络连接、打印机连接、鼠标设置及窗口的大小和位置等。配置文件分为两种:一种是应用程序的配置文件,一种是web的配置文件。两种配置文件最大的区别是web的配置文件更新之后会实时更新,应用程序的配置文件不会实时更新。本发明中所述的配置文件主要是指web的配置文件,该配置文件可以后台检测更新,发现更新时可从云服务平台等网络服务器处获取更新的信息。
[0032]步骤SlOl中获取需要加速的网页的网址的具体做法如下:
[0033](I)获取需要加速的网页的URL的HASH值。
[0034]HASH值是根据URL的内容通过逻辑运算得到的数值,不同的URL得到的HASH值是不同的。
[0035](2)建立URL映射表,将HASH值和URL对应。
[0036]通过建立URL映射表可以通过HASH值获取相应的需要加速的网页的URL。
[0037]步骤S102:应用层从注册表中获取TC
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1