网页保存、打开方法及装置.pdf

上传人:b*** 文档编号:4758187 上传时间:2018-11-07 格式:PDF 页数:17 大小:1.17MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310042311.X

申请日:

2013.02.03

公开号:

CN103064989A

公开日:

2013.04.24

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 17/30申请日:20130203|||公开

IPC分类号:

G06F17/30

主分类号:

G06F17/30

申请人:

广州市动景计算机科技有限公司

发明人:

梁捷; 俞永福; 何小鹏; 朱顺炎; 梁劲

地址:

510665 广东省广州市天河区科韵路16号自编2栋301房

优先权:

专利代理机构:

广东卓建律师事务所 44305

代理人:

陈江雄

PDF下载: PDF下载
内容摘要

本申请公开了一种网页保存、打开方法及装置。网页保存方法包括如下步骤:向服务器发送请求并接收服务器根据请求而返回的响应;将请求和响应以关联的方式存储在本地。通过上述方案,将浏览器与服务器交互过程中,浏览器向服务器发出的请求以及服务器向浏览器所返回的响应都保存在本地,在本地模仿服务器和浏览器交互的过程,使保存的网页打开时保持原貌。在本发明的优选方案中,可以将网页请求、网页请求所对应的网页响应,外部资源请求以及外部资源请求所对应的外部资源响应都存储在本地,在打开保存的网页时,可利用本地所存储的请求和响应模拟浏览器与服务器交互的过程,从而实现在不修改网页源代码的情况下保存网页,保持网页原貌。

权利要求书

权利要求书一种网页保存方法,包括如下步骤:
向服务器发送请求并接收服务器根据所述请求而返回的响应;
将所述请求和所述响应以关联的方式存储在本地。
根据权利要求1所述的方法,其特征在于,所述方法包括:
S1:获取保存网页控件的状态,并在所述保存网页控件被选择时,向服务器发送网页请求,并接收所述服务器根据网页请求所返回的网页响应,其中,所述网页响应中包含网页源代码;
S2:根据所述网页源代码判断是否需要向所述服务器发送所述外部资源请求;其中,当判断结果为需要向所述服务器发送所述外部资源请求时,则向所述服务器发送外部资源请求,并接收所述服务器根据资源请求所返回的外部资源响应;
S3:将所述网页请求和所述网页响应以关联的方式存储在本地;其中,当存在外部资源请求时,将所述外部资源请求和所述外部资源响应也以关联的方式存储在本地。
根据权利要求2所述的方法,其特征在于,所述步骤S4包括:将所述网页请求以及所述网页响应作为一个记录存储在本地的数据库中。
根据权利要求2所述的方法,其特征在于,所述步骤S4包括:将一个外部资源请求及其相应的外部资源响应作为一个记录存储在本地的数据库中。
一种网页打开方法,包括如下步骤:
获取请求;
根据所述请求与响应的关系在本地查找到所述响应,以从所述响应中读出打开网页所需要的数据,从而打开网页。
根据权利要求5所述的方法,其特征在于,所述方法包括:
获取网页请求;
根据所述网页请求与网页响应的关系在本地查找到所述网页响应,其中,所述网页响应中包含网页源代码;
解析所述网页源代码,并根据所述网页源代码判断是否需要发送外部资源请求;其中,当判断结果为需要发送所述外部资源请求时,则获取外部资源请求;根据所述外部资源请求与外部资源响应的关系在本地查找到相应的外部资源响应;从所述网页响应以及查找到的所述外部资源响应中读出打开网页所需要的数据,进而打开网页。
根据权利要求6所述的方法,其特征在于,所述方法还包括,如果在本地查找不到匹配的外部资源请求,则向服务器发送所述外部资源请求,以从服务器获得外部资源响应。
一种网页保存装置,其特征在于,包括:请求模块以及存储模块,
所述请求模块用于向服务器发送请求并接收服务器根据所述请求而返回的响应,所述请求模块将所述请求和所述响应向所述存储模块发送;
所述存储模块用于接收所述请求和所述响应,将所述请求和所述响应以关联的方式存储在本地。
根据权利要求8所述的装置,其特征在于,所述请求模块包括网页请求单元、判断单元以及外部资源请求单元,
所述网页请求单元用于获取保存网页控件的状态,并在所述保存网页控件被选择时,向服务器发送网页请求,并接收所述服务器根据网页请求所返回的网页响应,其中,所述网页响应中包含网页源代码,所述网页请求单元向所述判断单元发送所述网页源代码,并向所述存储模块发送所述网页请求以及所述网页响应;
所述判断单元用于接收所述网页源代码,并根据所述网页源代码判断是否需要向所述服务器发送所述外部资源请求,所述判断单元向所述外部资源请求单元发送判断结果;
所述外部资源请求单元用于接收所述判断结果,并在需要向所述服务器发送所述外部资源请求时,向所述服务器发送外部资源请求,并接收所述服务器根据资源请求所返回的外部资源响应,所述外部资源请求单元将所述外部资源请求以及所述外部资源响应向所述存储模块发送;
所述存储模块还用于接收所述网页请求、所述网页响应、所述外部资源请求以及所述外部资源响应,并将所述网页请求、所述网页响应、所述外部资源请求以及所述外部资源响应以关联的方式存储在本地。
根据权利要求9所述的装置,其特征在于,所述存储模块还用于将所述网页请求以及所述网页响应作为一个记录存储在本地的数据库中。
根据权利要求9所述的装置,其特征在于,所述存储模块还用于将一个外部资源请求及其相应的外部资源响应作为一个记录存储在本地的数据库中。
一种网页打开装置,其特征在于,包括获取模块以及查找模块,
所述获取模块用于获取请求,将所述请求向所述查找模块发送;
所述查找模块用于接收所述请求,根据所述请求与响应的关系在本地查找到所述响应,以从所述响应中读出打开网页所需要的数据,从而打开网页。
根据权利要求12所述的装置,其特征在于,所述获取模块包括网页请求获取单元以及外部资源请求获取单元,所述查找模块包括网页响应查找单元以及外部资源响应查找单元,所述装置还包括:解析判断模块,
所述网页请求获取单元用于获取网页请求,所述网页请求获取单元向所述网页响应查找单元发送所述网页请求;
所述网页响应查找单元用于接收所述网页请求,根据所述网页请求与网页响应的关系查找到所述网页响应,其中,所述网页响应中包含网页源代码,所述网页响应查找单元将所述网页源代码向所述解析判断模块发送;
所述解析判断模块用于接收所述网页源代码,解析所述网页源代码,并根据所述网页源代码判断是否需要发送外部资源请求,所述解析判断模块将所述判断结果向所述外部资源请求获取单元发送;
所述外部资源请求获取单元用于接收所述判断结果,在所述判断结果为需要发送外部资源请求时,获取外部资源请求,所述外部资源请求获取单元将所述外部资源请求向所述外部资源响应查找单元发送;
所述外部资源响应查找单元用于接收所述外部资源请求,根据所述外部资源请求与外部资源响应的关系在本地查找到相应的外部资源响应,以从所述网页响应以及所述外部资源响应中读出打开网页所需要的数据,进而打开网页。
根据权利要求12所述的装置,其特征在于,所述装置还包括发送模块,所述发送模块用于在本地查找不到匹配的外部资源请求时,向服务器发送所述外部资源请求,以从服务器获得外部资源响应。

说明书

说明书网页保存、打开方法及装置
技术领域
本申请涉及浏览器技术领域,特别是涉及一种网页保存、打开方法及装置。
背景技术
在通过浏览器浏览网页时,如果用户遇到特别感兴趣的网页,通常会将网页保存在本地,以便下次需要浏览网页时,可以直接打开网页,避免重新搜索网页以及网页被删除而导致找不到网页。
现有技术提供了一种网页保存方法,浏览器向服务器发出网页请求,服务器接收到网页请求后,向浏览器发出网页响应,浏览器接收到网页响应后,从网页响应中读出网页源代码,并将网页源代码保存在本地,以供用户需要打开保存的网页时使用。
但是,在这种保存方式下,必须修改网页源代码,将网页源代码中的外部资源的绝对路径改为相对路径。例如:将图片标签<imgsrc="http:∥uc.cn/A.TIF"/>修改为<img src="./files/A.TIF"/>。此时,一些通过动态生成的外部资源的标签将无法保存。例如,通过JavaScript命令来生成一个图片标签,但这个图片标签并不会保存在本地。因此,如果外部资源被删除后,则该图片也会随之丢失,在打开网页后,图片将无法显示,使网页失去原来的风貌。
在另一种现有的网页保存方法中,可以将网页作为图片保存下来,但是,在这种保存方式下,保存的是图片而非网页,使得链接失去了作用,从而使网页失去原来的风貌。
发明内容
本申请主要解决的技术问题是提供一种网页保存、打开方法及装置,能够在本地模仿服务器和浏览器交互的过程,使保存的网页打开时保持原貌。
为解决上述技术问题,本申请第一方面提供一种网页保存方法,包括如下步骤:向服务器发送请求并接收服务器根据该请求而返回的响应;将该请求和该响应以关联的方式存储在本地。
其中,该方法包括:S1:获取保存网页控件的状态,并在所述保存网页控件被选择时,向服务器发送网页请求,并接收该服务器根据网页请求所返回的网页响应,其中,该网页响应中包含网页源代码;S2:根据该网页源代码判断是否需要向该服务器发送该外部资源请求;其中,当判断结果为需要向服务器发送外部资源请求时,则向服务器发送外部资源请求,并接收服务器根据资源请求所返回的外部资源响应;S3:将该网页请求、该网页响应以关联的方式存储在本地;其中,当存在外部资源请求时,将外部资源请求和外部资源响应也以关联的方式存储在本地。
其中,步骤S4包括:将该网页请求以及该网页响应作为一个记录存储在本地的数据库中。
其中,步骤S4包括:将一个外部资源请求及其相应的外部资源响应作为一个记录存储在本地的数据库中。
本申请第二方面提供一种网页打开方法,包括如下步骤:获取请求;根据该请求与响应的关系在本地查找到该响应,以从该响应中读出打开网页所需要的数据,从而打开网页。
其中,该方法包括:获取网页请求;根据该网页请求与网页响应的关系查找到该网页响应,其中,该网页响应中包含网页源代码;解析该网页源代码,并根据该网页源代码判断是否需要发送外部资源请求;其中,当判断结果为需要发送外部资源请求时,则获取外部资源请求;根据外部资源请求与外部资源响应的关系在本地查找到相应的外部资源响应;从网页响应以及查找到的外部资源响应中读出打开网页所需要的数据,进而打开网页。
其中,该方法还包括,如果在本地查找不到匹配的外部资源请求,则向服务器发送该外部资源请求,以从服务器获得外部资源响应。
本申请第三方面提供一种网页保存装置,包括:请求模块以及存储模块,该请求模块用于向服务器发送请求并接收服务器根据该请求而返回的响应,该请求模块将该请求和该响应向该存储模块发送;该存储模块用于接收该请求和该响应,将该请求和该响应以关联的方式存储在本地。
其中,该请求模块包括网页请求单元、判断单元以及外部资源请求单元,该网页请求单元用于获取保存网页控件的状态,并在所述保存网页控件被选择时,向服务器发送网页请求,并接收该服务器根据网页请求所返回的网页响应,其中,该网页响应中包含网页源代码,该网页请求单元向该判断单元发送该网页源代码,并向该存储模块发送该网页请求以及该网页响应;该判断单元用于接收该网页源代码,并根据该网页源代码判断是否需要向该服务器发送该外部资源请求,该判断单元向该外部资源请求单元发送判断结果;该外部资源请求单元用于接收该判断结果,并在需要向该服务器发送该外部资源请求时,向该服务器发送外部资源请求,并接收该服务器根据资源请求所返回的外部资源响应,该外部资源请求单元将该外部资源请求以及该外部资源响应向该存储模块发送;该存储模块还用于接收该网页请求、该网页响应、该外部资源请求以及该外部资源响应,并将该网页请求、该网页响应、该外部资源请求以及该外部资源响应以关联的方式存储在本地。
其中,该存储模块还用于将该网页请求以及该网页响应作为一个记录存储在本地的数据库中。
其中,该存储模块还用于将一个外部资源请求及其相应的外部资源响应作为一个记录存储在本地的数据库中。
本申请第四方面提供一种网页打开装置,包括获取模块以及查找模块,该获取模块用于获取请求,该获取模块将该请求向该查找模块发送;该查找模块用于接收该请求,根据该请求与响应的关系在本地查找到该响应,以从该响应中读出打开网页所需要的数据,从而打开网页。
其中,该获取模块包括网页请求获取单元以及外部资源请求获取单元,该查找模块包括网页响应查找单元以及外部资源响应查找单元,该装置还包括:解析判断模块,该网页请求获取单元用于获取网页请求,该网页请求获取单元向该网页响应查找单元发送该网页请求;该网页响应查找单元用于接收该网页请求,根据该网页请求与网页响应的关系查找到该网页响应,其中,该网页响应中包含网页源代码,该网页响应查找单元将该网页源代码向该解析判断模块发送;该解析判断模块用于接收该网页源代码,解析该网页源代码,并根据该网页源代码判断是否需要发送外部资源请求,该解析判断模块将该判断结果向该外部资源请求获取单元发送;该外部资源请求获取单元用于接收该判断结果,在该判断结果为需要发送外部资源请求时,获取外部资源请求,该外部资源请求获取单元将该外部资源请求向该外部资源响应查找单元发送;该外部资源响应查找单元用于接收该外部资源请求,根据该外部资源请求与外部资源响应的关系在本地查找到相应的外部资源响应,以从该网页响应以及该外部资源响应中读出打开网页所需要的数据,进而打开网页。
其中,该装置还包括发送模块,该发送模块用于在本地查找不到匹配的外部资源请求时,向服务器发送该外部资源请求,以从服务器获得外部资源响应。
通过上述方案,将浏览器与服务器交互过程中,浏览器向服务器发出的请求以及服务器向浏览器所返回的响应都保存在本地,在本地模仿服务器和浏览器交互的过程,使保存的网页打开时保持原貌。
利用本发明的优选方案,可以将网页请求、网页请求所对应的网页响应,外部资源请求以及外部资源请求所对应的外部资源响应都存储在本地,所以在打开保存的网页时,可利用本地所存储的网页请求、网页请求所对应的网页响应,外部资源请求以及外部资源请求所对应的外部资源响应模拟浏览器与服务器交互的过程,从而实现在不修改网页源代码的情况下保存网页,保持网页原貌。
附图说明
图1是本申请网页保存方法一实施方式的流程图;
图2是本申请网页保存方法另一实施方式的流程图;
图3是本申请网页打开方法一实施方式的流程图;
图4是本申请网页打开方法另一实施方式的流程图;
图5是本申请网页保存装置一实施方式的结构示意图;
图6是本申请网页保存装置另一实施方式的结构示意图;
图7是本申请网页打开装置一实施方式的结构示意图;
图8是本申请网页打开装置另一实施方式的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施方式中也可以实现本申请。在其它情况中,省略对众所周知的装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
参阅图1,图1是本申请网页保存方法一实施方式的流程图。本实施方式的网页保存方法包括如下步骤:
S101:浏览器向服务器发送请求并接收服务器根据请求而返回的响应。
浏览器向服务器发送请求,服务器在接收到请求后,根据请求返回响应,浏览器接收服务器根据请求而返回的响应。其中,响应中包含了打开网页所必须的数据。
S102:浏览器将请求和响应以关联的方式存储在本地。
浏览器在接收到响应后,将请求和响应以关联的方式存储在本地,以确保在打开网页时根据请求即可查找到相应的响应,从而在响应中读取到打开网页所必须的数据。
通过上述方案,将浏览器与服务器交互过程中,浏览器向服务器发出的请求以及服务器向浏览器所返回的响应都保存在本地,打开保存的网页时在本地模仿服务器和浏览器交互的过程,使保存的网页打开时保持原貌。
参阅图2,图2是本申请网页保存方法另一实施方式的流程图。本实施方式的网页保存方法包括如下步骤:
S201:浏览器获取保存网页控件的状态,并在保存网页控件被选择时,向服务器发送网页请求,并接收服务器根据网页请求所返回的网页响应。
浏览器首先按现有技术的步骤打开网页。在用户希望保存网页时,用户点击保存网页控件。浏览器获取保存网页控件的状态,并确定所述保存网页控件被选择。于是,浏览器根据统一资源定位符(URL,Uniform/Universal Resource Locator)向服务器发送网页请求。例如,浏览器会根据URL(如,http:∥uc.cn)向服务器发出一个网页请求,该网页请求的表头包含了浏览器与服务器进行交互的链接信息及网页的绝对路径等等。服务器接收到网页请求后,根据网页请求获得需要返回的网页源代码,然后,将网页源代码封装到网页响应中,向浏览器发送。其中,网页响应包括表头与主体,网页响应的表头部分包含了服务器与浏览器进行交互的链接信息等等,网页响应的主体部分包含了网页源代码等等。浏览器接收服务器根据网页请求所返回的网页响应。
S202:浏览器根据网页源代码判断是否需要向服务器发送外部资源请求。其中,外部资源可以是图片、CSS(Cascading Style Sheet,级联样式表)样式以及JavaScript代码等等。
浏览器在接收到服务器所返回的网页响应后,获取网页响应中的网页源代码,并解析网页源代码。如果在网页源代码的解析过程中,没有发现外部资源的标签(如,<img src="http:∥uc.cn/A.TIF"/>),则判断不需要向服务器发送外部资源请求,进入S203;如果在解析的过程中发现了外部资源的标签,则判断需要向服务器发送外部资源请求,进入S204。
S203:浏览器将网页请求和网页响应以关联的方式存储在本地。
在对网页源代码进行解析并没有发现外部资源标签时,没有外部资源请求和外部资源响应,所以,浏览器只需将网页请求和网页响应以关联的方式存储在本地。存储时,可在本地建立一个数据库,数据库中包括至少一个表格。表格包括序号、请求及响应三列。浏览器将网页请求以及网页响应作为第一个记录填入到序号0所对应的行中。然后,结束流程。
S204:浏览器向服务器发送外部资源请求,并接收服务器根据资源请求所返回的外部资源响应。
在需要向服务器发送外部资源请求时,浏览器根据外部资源的URL(如,http:∥uc.cn/A.TIF)向服务器发送外部资源请求。该网页请求的表头包含了浏览器与服务器进行交互的链接信息以及外部资源的绝对路径等等。服务器在接收到外部资源请求后,根据外部资源请求获得需要返回的外部资源的代码,并将代码封装到外部资源响应中,向浏览器发送。其中,外部资源响应包括表头与主体,外部资源响应的表头部分包含了服务器与浏览器进行交互的链接信息等等,外部资源响应的主体部分包含了外部资源的代码等等。例如,外部资源为图片,则外部资源的代码为图片所应对的二进制码。浏览器相应接收服务器根据资源请求所返回的外部资源响应。由于网页源代码可能有多个外部资源的标签,则浏览器每解析到一个外部资源的标签,对应向服务器发送一个外部资源请求及接收一次服务器根据外部资源请求所返回的外部资源响应。而且,不同的外部资源所发送的外部资源请求的表头均不相同,所以,当需要重新打开保存的网页时,可通过查找外部资源请求的表头,从而查找到相应的外部资源。
S205:浏览器将网页请求、网页响应、外部资源请求以及外部资源响应存储在本地。
在获得所有的外部资源响应后,浏览器将网页请求、网页响应、外部资源请求以及外部资源响应存储在本地。存储时,可将网页请求以及网页响应作为一个记录存储在本地的数据库中,而将一个外部资源请求及其相应的外部资源响应作为另一个记录存储在本地的数据库中。具体地,可在本地建立一个数据库,数据库中包括至少一个表格。表格包括序号、请求及响应三列。如表1所示,浏览器将网页请求以及其相应的网页响应作为第一个记录填入到序号0所对应的行中。浏览器将第一个发出的外部资源请求以及相应的外部资源响应作为第二个记录填入到序号1所对应的行中;浏览器将第二个发出的外部资源请求以及相应的外部资源响应作为第三个记录填入到序号2所对应的行中,依次类推,直到所有的外部资源请求及外部资源响应都存储完毕。
表1请求及响应存储表格
序号请求响应0网页请求网页响应1第一个外部资源请求第一个外部资源响应2第二个外部资源请求第二个外部资源响应.........N第N个外部资源请求第N个外部资源响应
为了保存方便,浏览器将网页请求及其相应的网页响应以及所有的外部资源请求及其相应的外部资源响应压缩成一个数据库文件。
可以理解地,由于网页请求和外部资源请求用于搜索及匹配,而网页请求和外部资源请求的表头已经携带了足够的信息,所以,为了方便起见,也可以仅存储网页请求和外部资源请求的表头,而不必将整个网页请求和外部资源请求都存储下来。
通过上述方案,将网页请求、网页请求所对应的网页响应,外部资源请求以及外部资源请求所对应的外部资源响应都存储在本地,所以在打开保存的网页时,可利用本地所存储的网页请求、网页请求所对应的网页响应,外部资源请求以及外部资源请求所对应的外部资源响应来打开网页,模拟浏览器与服务器交互的过程,从而实现在不修改网页源代码的情况下保存网页,保持网页原貌。
参阅图3,图3是本申请网页打开方法一实施方式的流程图。本实施方式的网页打开方法包括:
S301:浏览器获取请求。
在打开网页时,浏览器首先获取请求。
S302:浏览器根据请求与响应的关系在本地查找到响应,以从响应中读出打开网页所需要的数据,从而打开网页。
由于请求和响应在存储时是以关联的方式进行存储,所以在获得请求后,根据请求与响应的关系即可在本地查找到响应,以从响应中读出打开网页所需要的数据,从而打开网页。
通过上述方案,浏览器可以通过获取预先存储在本地的请求和响应模拟服务器和浏览器交互的过程,使保存的网页打开时保持原貌。
参阅图4,图4是本申请网页打开方法另一实施方式的流程图。本实施方式的网页打开方法包括:
S401:浏览器从本地获取网页请求。
由于在保存网页时,网页请求已经存储在数据库文件中的表格的序号为0的行中。当需要打开保存的网页时,浏览器首先读取网页请求。可以理解,如果存储的是网页请求的表头,则读出的是网页请求的表头。
S402:浏览器根据网页请求与网页响应的关系查找到网页响应。
浏览器在获得网页请求后,根据网页请求与网页响应的关系查找到网页响应,其中,网页响应中包含了网页源代码。浏览器对网页请求以及网页请求所对应的网页响应进行解析,进而从网页响应中读出网页源代码。
可以理解的是,为了方便起见,也可以直接从序号为0的行中,直接读出网页请求和网页响应。
S403:浏览器解析网页源代码,并根据网页源代码判断是否需要向打开本地保存网页引擎发送外部资源请求。其中,外部资源可以是图片、CSS(Cascading Style Sheet,级联样式表)样式以及Javascript代码等等。
在读出网页源代码后,浏览器解析网页源代码。如果在网页源代码的解析过程中,没有发现外部资源的标签,则判断不需要发送外部资源请求,进入步骤S404;如果在网页源代码的解析过程中,发现了外部资源的标签,则判断需要发送外部资源请求,进入S405。
S404:浏览器根据网页源代码打开网页。
在不需要发送外部资源请求时,浏览器完成网页源代码的解析,根据网页源代码打开网页,并在屏幕上显示网页,然后,结束流程。
S405:浏览器获取外部资源请求。
在需要发送外部资源请求时,由于在网页保存过程中,已经将上次浏览网页时所发出的外部资源请求及所接收的外部资源响应存储在本地,所以,当发现了外部资源的标签时,浏览器并非向服务器发出外部资源请求,而是直接获取外部资源请求。
S406:浏览器根据外部资源请求与外部资源响应的关系在本地查找到相应的外部资源响应。
浏览器在获取到外部资源请求后,根据外部资源请求在本地的数据库的表格中搜索是否有匹配的外部资源请求。由于在网页保存的过程中,本地已经保存了上次打开时所发出的所有外部资源请求及外部资源响应。所以在大部分情况下,能够在表格中搜索到匹配的外部资源请求,并根据外部资源请求搜索到相应的外部资源响应。浏览器解析外部资源请求及外部资源响应,从而获得外部资源的代码,然后,浏览器根据网页源代码及所有的外部资源的代码将原网页在屏幕显示出来。
如果在本地查找不到匹配的外部资源请求,可向服务器发送外部资源请求,服务器再根据外部资源请求将外部资源响应返回浏览器,从而获得外部资源的代码,然后根据网页源代码以及外部资源的代码打开网页。为了方便下一次打开网页,浏览器再将外部资源请求以及外部资源响应存储在本地,所以,在下一次打开网页时,就无须再向服务器发送外部资源请求。
可以理解的是,如果存储的是网页请求或外部资源请求的表头,也可以根据网页请求或外部资源请求的表头查找到相应的网页响应或外部资源响应。
通过上述方案,将本地存储的网页请求、网页请求所对应的网页响应,外部资源请求以及外部资源请求所对应的外部资源响应读取出来,在打开保存的网页时,利用本地所存储的网页请求、网页请求所对应的网页响应,外部资源请求以及外部资源请求所对应的外部资源响应模拟浏览器与服务器交互的过程,从而实现在不联网的情况下从本地打开保存的网页。
参阅图5,图5是本申请网页保存装置一实施方式的结构示意图。本实施方式的网页保存装置包括:请求模块501以及存储模块502,
请求模块501用于向服务器发送请求并接收服务器根据请求而返回的响应。比如:请求模块501向服务器发送请求,服务器在接收到请求后,根据请求返回响应,请求模块501接收服务器根据请求而返回的响应。其中,响应中包含了打开网页所必须的数据。请求模块501将请求和响应向存储模块502发送。
存储模块502用于接收请求和响应,将请求和响应以关联的方式存储在本地。比如,在请求模块501接收到响应后,存储模块502将请求和响应以关联的方式存储在本地,以确保在打开网页时根据请求即可查找到相应的响应,从而在响应中读取到打开网页所必须的数据。
参阅图6,图6是本申请网页保存装置另一实施方式的结构示意图。本实施方式的网页保存装置包括:请求模块610以及存储模块620。其中,请求模块610包括网页请求单元611、判断单元612以及外部资源请求单元613。
网页请求单元611用于获取保存网页控件的状态,并在所述保存网页控件被选择时,向服务器发送网页请求,并接收服务器根据网页请求所返回的网页响应,其中,网页响应中包含网页源代码。比如,在加载网页时,浏览器首先按现有技术的步骤打开网页。如果用户希望保存网页时,用户点击保存网页控件。浏览器获取保存网页控件的状态,并确定所述保存网页控件被选择。于是,浏览器根据统一资源定位符向服务器发送网页请求。例如,用户打开UC首页,点击“保存网页”按钮,浏览器会根据URL(如,http:∥uc.cn)向服务器发出一个网页请求,该网页请求的表头包含了浏览器与服务器进行交互的链接信息及网页的绝对路径等等。服务器接收到网页请求后,根据网页请求获得需要返回的网页源代码,然后,将网页源代码封装到网页响应中,向浏览器发送。其中,网页响应包括表头与主体,网页响应的表头部分包含了服务器与浏览器进行交互的链接信息等等,网页响应的主体部分包含了网页源代码等等。浏览器接收服务器根据网页请求所返回的网页响应。网页请求单元611向判断单元612发送网页源代码,并向存储模块620发送网页请求以及网页响应。
判断单元612用于接收网页源代码,并根据网页源代码判断是否需要向服务器发送外部资源请求。其中,外部资源可以是图片、CSS样式以及Javascript代码等等。比如,浏览器在接收到服务器所返回的网页响应后,获取网页响应中的网页源代码,并解析网页源代码。如果在网页源代码的解析过程中,没有发现外部资源的标签(如,<imgsrc="http:∥uc.cn/A.TIF"/>),则判断不需要向服务器发送外部资源请求;如果在解析的过程中发现了外部资源的标签,则判断需要向服务器发送外部资源请求。判断单元612向外部资源请求单元613发送判断结果。
外部资源请求单元613用于接收判断结果,并在需要向服务器发送外部资源请求时,向服务器发送外部资源请求,并接收服务器根据资源请求所返回的外部资源响应。例如,在需要向服务器发送外部资源请求时,外部资源请求单元613根据外部资源的URL(如,http:∥uc.cn/A.TIF)向服务器发送外部资源请求。该网页请求的表头包含了浏览器与服务器进行交互的链接信息以及外部资源的绝对路径等等。服务器在接收到外部资源请求后,根据外部资源请求获得需要返回的外部资源的代码,并将代码封装到外部资源响应中,向浏览器发送。其中,外部资源响应包括表头与主体,外部资源响应的表头部分包含了服务器与浏览器进行交互的链接信息等等,外部资源响应的主体部分包含了外部资源的代码等等。例如,外部资源为图片,则外部资源的代码为图片所应对的二进制码。外部资源请求单元613相应接收服务器根据资源请求所返回的外部资源响应。由于网页源代码可能有多个外部资源的标签,则判断单元612每解析到一个外部资源的标签,外部资源请求单元613对应向服务器发送一个外部资源请求及接收一次服务器根据外部资源请求所返回的外部资源响应。而且,不同的外部资源所发送的外部资源请求均不相同,所以,当需要重新打开保存的网页时,可通过查找外部资源请求的表头,从而查找到相应的外部资源。外部资源请求单元613将外部资源请求以及外部资源响应向存储模块620发送。
存储模块620还用于接收网页请求、网页响应、外部资源请求以及外部资源响应,并将网页请求、网页响应、外部资源请求以及外部资源响应以关联的方式存储在本地。比如,在获得所有的外部资源响应后,存储模块620将网页请求、网页响应、外部资源请求以及外部资源响应存储在本地。存储时,可将网页请求以及网页响应作为一个记录存储在本地的数据库中,而将一个外部资源请求及其相应的外部资源响应作为另一个记录存储在本地的数据库中。具体地,可在本地建立一个数据库,数据库中包括至少一个表格。表格包括序号、请求及响应三列。如表1所示,存储模块620将网页请求以及其相应的网页响应作为第一个记录填入到序号0所对应的行中。存储模块620将第一个发出的外部资源请求以及相应的外部资源响应作为第二个记录填入到序号1所对应的行中;存储模块620将第二个发出的外部资源请求以及相应的外部资源响应作为第三个记录填入到序号2所对应的行中,依次类推,直到所有的外部资源请求及外部资源响应都存储完毕。
参阅图7,图7是本申请网页打开装置一实施方式的结构示意图。本实施方式的网页打开装置包括:获取模块701以及查找模块702。
获取模块701用于获取请求,获取模块701将请求向查找模块702发送。
查找模块702用于接收请求,根据请求与响应的关系在本地查找到响应,以从响应中读出打开网页所需要的数据,从而打开网页。比如,由于请求和响应在存储时是以关联的方式进行存储,所以在接收请求后,查找模块702根据请求与响应的关系即可在本地查找到响应,以从响应中读出打开网页所需要的数据,从而打开网页。
参阅图8,图8是本申请网页打开装置另一实施方式的结构示意图。本实施方式的网页打开装置包括:获取模块810、解析判断模块820、查找模块830以及发送模块840。获取模块810包括网页请求获取单元811以及外部资源请求获取单元812,查找模块830包括网页响应查找单元831以及外部资源响应查找单元832。
网页请求获取单元811用于获取网页请求。比如,由于在保存网页时,网页请求已经存储在数据库文件中的表格的序号为0的行中。当需要打开保存的网页时,网页请求获取单元811首先读取网页请求。可以理解,如果存储的是网页请求的表头,则读出的是网页请求的表头。网页请求获取单元811向网页响应查找单元831发送网页请求。
网页响应查找单元831用于接收网页请求,根据网页请求与网页响应的关系查找到网页响应,其中,网页响应中包含网页源代码。比如,在获得网页请求后,网页响应查找单元831根据网页请求与网页响应的关系查找到网页响应,其中,网页响应中包含了网页源代码。浏览器对网页请求以及网页请求所对应的网页响应进行解析,进而从网页响应中读出网页源代码。网页响应查找单元831将网页源代码向解析判断模块820发送。
解析判断模块820用于接收网页源代码,解析网页源代码,并根据网页源代码判断是否需要发送外部资源请求。比如,在读出网页源代码后,解析判断模块820解析网页源代码。如果在网页源代码的解析过程中,没有发现外部资源的标签,则解析判断模块820判断不需要发送外部资源请求;如果在网页源代码的解析过程中,发现了外部资源的标签,则解析判断模块820判断需要发送外部资源请求。解析判断模块820将判断结果向外部资源请求获取单元812发送。
外部资源请求获取单元812用于接收判断结果,在判断结果为需要发送外部资源请求时,获取外部资源请求。比如,在需要发送外部资源请求时,由于在网页保存过程中,已经将上次浏览网页时所发出的外部资源请求及所接收的外部资源响应存储在本地,所以,当发现了外部资源的标签时,外部资源请求获取单元812并非向服务器发出外部资源请求,而是直接获取外部资源请求。外部资源请求获取单元812将外部资源请求向外部资源响应查找单元832发送。
外部资源响应查找单元832用于接收外部资源请求,根据外部资源请求与外部资源响应的关系在本地查找到相应的外部资源响应,以从网页响应以及外部资源响应中读出打开网页所需要的数据,进而打开网页。比如,在获取到外部资源请求后,外部资源响应查找单元832根据外部资源请求在本地的数据库的表格中搜索是否有匹配的外部资源请求。由于在网页保存的过程中,本地已经保存了上次打开时所发出的所有外部资源请求及外部资源响应。所以在大部分情况下,外部资源响应查找单元832能够在表格中搜索到匹配的外部资源请求,并根据外部资源请求搜索到相应的外部资源响应。浏览器解析外部资源请求及外部资源响应,从而获得外部资源的代码,然后,浏览器根据网页源代码及所有的外部资源的代码将原网页在屏幕显示出来。
发送模块840用于在本地查找不到匹配的外部资源请求时,向服务器发送外部资源请求,以从服务器获得外部资源响应。比如,如果在本地查找不到匹配的外部资源请求,发送模块840向服务器发送外部资源请求,服务器再根据外部资源请求将外部资源响应返回浏览器,从而获得外部资源的代码,然后根据网页源代码以及外部资源的代码打开网页。为了方便下一次打开网页,浏览器再将外部资源请求以及外部资源响应存储在本地,所以,在下一次打开网页时,就无须再向服务器发送外部资源请求。
通过上述方案,将网页请求、网页请求所对应的网页响应,外部资源请求以及外部资源请求所对应的外部资源响应都存储在本地,所以在打开保存的网页时,可利用本地所存储的网页请求、网页请求所对应的网页响应,外部资源请求以及外部资源请求所对应的外部资源响应模拟浏览器与服务器交互的过程,从而实现在不联网的情况下从本地打开网页。
在本申请所提供的几个实施方式中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

网页保存、打开方法及装置.pdf_第1页
第1页 / 共17页
网页保存、打开方法及装置.pdf_第2页
第2页 / 共17页
网页保存、打开方法及装置.pdf_第3页
第3页 / 共17页
点击查看更多>>
资源描述

《网页保存、打开方法及装置.pdf》由会员分享,可在线阅读,更多相关《网页保存、打开方法及装置.pdf(17页珍藏版)》请在专利查询网上搜索。

本申请公开了一种网页保存、打开方法及装置。网页保存方法包括如下步骤:向服务器发送请求并接收服务器根据请求而返回的响应;将请求和响应以关联的方式存储在本地。通过上述方案,将浏览器与服务器交互过程中,浏览器向服务器发出的请求以及服务器向浏览器所返回的响应都保存在本地,在本地模仿服务器和浏览器交互的过程,使保存的网页打开时保持原貌。在本发明的优选方案中,可以将网页请求、网页请求所对应的网页响应,外部资源。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1