一种网页打开方法及装置、客户端制造方法及图纸

技术编号:15792027 阅读:61 留言:0更新日期:2017-07-09 23:02
本发明专利技术公开一种网页打开方法及装置、客户端,涉及通信技术领域,用以解决现有技术中网页打开性能差用户体验低的问题。所述方法包括:接收来自服务器的资源文件输入流;读取所述资源文件输入流中的数据并分别进行页面加载和文件缓存。

【技术实现步骤摘要】
一种网页打开方法及装置、客户端
本专利技术涉及通信
,特别是涉及一种网页打开方法及装置、客户端。
技术介绍
目前绝大多数的商业app等客户端都采用混合开发模式,即,既有原生界面,也有web界面。二者各有优势,例如,对于秒杀活动等线上存活时间较短的页面,使用web页面来展示更为适合。但是web页面的用户体验与原生界面的体验相比,仍具有较大差距。产生这些差距主要是由于加载web页面的时候,需要加载很多的页面相关资源,例如html、css、js、图片资源文件等,因此延时较大。为了解决上述问题,现有技术中,可以在客户端的原生层(native层)实现网页相关资源的缓存,例如:(1)异步加载资源。即不阻塞web页面的加载,在后台开启一个线程来下载web页面的相关资源文件并缓存到本地。但这种方式需要进行两次网络请求来拉取web页面相关资源,第一次请求用于web页面的渲染,第二次请求用于请求需要缓存的资源文件,严重浪费了流量,影响app性能。(2)同步资源加载。即阻塞web页面的加载,让webview等待资源文件的下载完成,下载完成后再加载页面,并把资源文件保存到本地。但这种方式阻塞了web页面的下载,需要等待web页面的资源下载完成之后再进行界面的渲染。这样在弱网情况下,app的使用体验极差。
技术实现思路
本专利技术要解决的技术问题是提供一种网页打开方法及装置、客户端,用以解决现有技术中网页打开性能差用户体验低的问题。一方面,本专利技术提供一种网页打开方法,包括:接收来自服务器的资源文件输入流;读取所述资源文件输入流中的数据并分别进行页面加载和文件缓存。可选的,所述读取所述资源文件输入流中的数据并分别进行页面加载和文件缓存包括:在所述资源文件输入流与本地缓存之间设置缓存输出流管道;在读取所述资源文件输入流中的数据进行页面加载的同时,通过所述输出流管道,将所述资源文件输入流中的数据输出到本地缓存。进一步的,所述接收来自服务器的资源文件输入流之前,所述方法还包括:拦截向服务器发送的网页请求;如果存在与所述网页请求对应的本地缓存文件,使用所述本地缓存文件进行页面加载;如果不存在与所述网页请求对应的本地缓存文件,继续向所述服务器发送所述网页请求。进一步的,在所述读取所述资源文件输入流中的数据并分别进行页面加载和文件缓存之后,所述方法还包括:设置缓存文件的文件属性。可选的,所述文件属性包括文件大小、文件数量或文件有效期中的至少一种。另一方面,本专利技术还提供一种网页打开装置,包括:接收单元,用于接收来自服务器的资源文件输入流;加载和缓存单元,用于读取所述资源文件输入流中的数据并分别进行页面加载和文件缓存。可选的,所述加载和缓存单元,具体用于:在所述资源文件输入流与本地缓存之间设置缓存输出流管道;在读取所述资源文件输入流中的数据进行页面加载的同时,通过所述输出流管道,将所述资源文件输入流中的数据输出到本地缓存。进一步的,所述装置还包括拦截单元,用于在接收来自服务器的资源文件输入流之前,拦截向服务器发送的网页请求;所述加载和缓存单元,具体用于:如果存在与所述网页请求对应的本地缓存文件,使用所述本地缓存文件进行页面加载;如果不存在与所述网页请求对应的本地缓存文件,继续向所述服务器发送所述网页请求。进一步的,所述装置还包括设置单元,用于在所述读取所述资源文件输入流中的数据并分别进行页面加载和文件缓存之后,设置缓存文件的文件属性。可选的,所述文件属性包括文件大小、文件数量或文件有效期中的至少一种。另一方面,本专利技术还提供一种客户端,所述客户端上设置有本专利技术提供的任一种网页打开装置。本专利技术实施例提供的网页打开方法及装置、客户端,能够接收来自服务器的资源文件输入流,然后读取所述资源文件输入流中的数据并分别进行页面加载和文件缓存。这样,只需从服务器接收一次资源文件输入流,即可在不阻塞web页面渲染的情况下完成资源文件的下载和缓存,因此有效节省了流量消耗并提高了网页加载性能,大大提升了用户体验。附图说明图1是本专利技术实施例提供的网页打开方法的一种流程图;图2是本专利技术实施例中网页打开方法的一种数据流示意图;图3是本专利技术实施例提供的网页打开方法的一种详细流程图;图4是本专利技术实施例提供的网页打开装置的一种结构示意图。具体实施方式以下结合附图对本专利技术进行详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不限定本专利技术。如图1所示,本专利技术的实施例提供一种网页打开方法,包括:S11,接收来自服务器的资源文件输入流;S12,读取所述资源文件输入流中的数据并分别进行页面加载和文件缓存。本专利技术实施例提供的网页打开方法,能够接收来自服务器的资源文件输入流,然后读取所述资源文件输入流中的数据并分别进行页面加载和文件缓存。这样,只需从服务器接收一次资源文件输入流,即可在不阻塞web页面渲染的情况下完成资源文件的下载和缓存,因此有效节省了流量消耗并提高了网页加载性能,大大提升了用户体验。具体的,当需要打开网页时,在步骤S11中,客户端可以从服务器接收资源文件输入流,然后在步骤S12中读取所述资源文件输入流中的数据并分别进行页面加载和文件缓存。其中,页面加载和文件缓存是同时进行的,可以由同一个数据读取线程完成。具体而言,在步骤S12中,可以在所述资源文件输入流与本地缓存之间设置缓存输出流管道;在读取所述资源文件输入流中的数据进行页面加载的同时,通过所述输出流管道,将所述资源文件输入流中的数据输出到本地缓存。例如,如图2所示,在本专利技术的一个实施例中,在服务器返回的ResouceInputStream(资源文件输入流)与web页面之间插入了一条CacheOutputStream(缓存文件输出流)管道,这条管道的主要用于在web页从ResouceInputStream中读取数据的同时,将输入流的数据写入到CacheOutputStream中,然后CacheoutputStream将数据写入到本地文件缓存中,从而在完成webview页面加载的同时也完成了web页相关资源文件的缓存。进一步的,在步骤S11的接收来自服务器的资源文件输入流之前,客户端会向服务器发送网页请求,以便使服务器提供相应的网页服务。但在向网络服务器发送网页请求之前,本专利技术实施例提供的网页打开方法还可包括:拦截向服务器发送的网页请求;如果存在与所述网页请求对应的本地缓存文件,使用所述本地缓存文件进行页面加载;如果不存在与所述网页请求对应的本地缓存文件,继续向所述服务器发送所述网页请求。举例说明,某用户需要通过铁路购票系统的app订车票,搜索北京到桂林的车票信息,形成搜索请求后,app首先拦截下该北京到桂林车票信息的网页请求,然后在本地缓存文件中查找是否缓存有北京到桂林车票信息的网页资源,如果以前搜索过这样的网页,缓存中还保存着相应的资源,则直接使用本地缓存的该资源进行网络页面加载。如果是首次搜索该网页信息,不存在相应的本地缓存文件,则放开拦截的网页请求,并继续向服务器发送该网页请求。为了提高本地的文件缓存效率,进一步的,在读取所述资源文件输入流中的数据并分别进行页面加载和文件缓存之后,本专利技术提供的网页打开方法还可包括:设置缓存文件的文件属性。可选的,文件属性可包括文件大小、文件数量或文件有效期本文档来自技高网...
一种网页打开方法及装置、客户端

【技术保护点】
一种网页打开方法,其特征在于,包括:接收来自服务器的资源文件输入流;读取所述资源文件输入流中的数据并分别进行页面加载和文件缓存。

【技术特征摘要】
1.一种网页打开方法,其特征在于,包括:接收来自服务器的资源文件输入流;读取所述资源文件输入流中的数据并分别进行页面加载和文件缓存。2.根据权利要求1所述的方法,其特征在于,所述读取所述资源文件输入流中的数据并分别进行页面加载和文件缓存包括:在所述资源文件输入流与本地缓存之间设置缓存输出流管道;在读取所述资源文件输入流中的数据进行页面加载的同时,通过所述输出流管道,将所述资源文件输入流中的数据输出到本地缓存。3.根据权利要求1所述的方法,其特征在于,所述接收来自服务器的资源文件输入流之前,所述方法还包括:拦截向服务器发送的网页请求;如果存在与所述网页请求对应的本地缓存文件,使用所述本地缓存文件进行页面加载;如果不存在与所述网页请求对应的本地缓存文件,继续向所述服务器发送所述网页请求。4.根据权利要求1所述的方法,其特征在于,在所述读取所述资源文件输入流中的数据并分别进行页面加载和文件缓存之后,所述方法还包括:设置缓存文件的文件属性。5.根据权利要求4所述的方法,其特征在于,所述文件属性包括文件大小、文件数量或文件有效期中的至少一种。6.一种网页打开装置,其特征在于,包括:接收单元,用于接收来自服务...

【专利技术属性】
技术研发人员:曲彦桥
申请(专利权)人:五八同城信息技术有限公司
类型:发明
国别省市:天津,12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1