发送资源文件的方法、缓存资源文件的方法和装置制造方法及图纸

技术编号:11895523 阅读:120 留言:0更新日期:2015-08-17 23:14
本发明专利技术提供了一种发送资源文件的方法、缓存资源文件的方法和装置,包括:服务器从客户端发送的对象访问请求中解析出客户端本地缓存的资源文件列表;从客户端要访问对象的资源文件中,确定在资源文件列表中的版本信息与服务器本地维护的最新版本信息不一致的资源文件或者资源文件列表中不存在的资源文件为客户端需要加载的资源文件;将客户端需要加载的资源文件的内容输出给客户端。本发明专利技术避免了客户端采用额外的请求来确认本地缓存的资源是否有更新,从而节约了网络流量,并且要访问对象需要的资源数越多,效果越明显。

【技术实现步骤摘要】
【专利说明】
本专利技术涉及网络
,特别涉及一种发送资源文件的方法、缓存资源文件的方法和装置。【
技术介绍
】在JSP (Java Server Pages)页面中有很多资源都是静态的,很少发生改变,如弓丨入的js、CSS文件,如果每次加载页面都要到服务器去请求这些静态资源会造成一定的浪费,如果浏览器将这些静态资源进行缓存,在下次加载页面时,如果该页面中的静态资源在浏览器中已经缓存,则无需重复请求和下载,直接利用浏览器缓存的静态资源即可,一方面加载速度更快,用户体验更好,另一方面也更节约网络资源。现有的缓存机制中,浏览器在第一次访问并加载页面时,获取所有的静态资源文件,当再次需要已缓存的静态资源文件时,需要浏览器额外发送请求向服务器确认已缓存的静态资源文件是否有更新,如果有,服务器会再次将更新的静态资源文件返回给浏览器,如果没有更新,则服务器告知浏览器可以使用缓存中的该静态资源文件。然而,现有技术中的该缓存机制浏览器在资源加载时会额外发送请求确认本地缓存的静态资源是否有更新,且页面需要的静态资源数越多,额外发送的请求也会越多,这就造成了网络流量上的浪费。【
技术实现思路
】有鉴于此,本专利技术提供了一种发送资源文件的方法、缓存资源文件的方法和装置,以便于节约网络流量。具体技术方案如下:本专利技术提供了一种发送资源文件的方法,该方法包括:S1、服务器从客户端发送的对象访问请求中解析出客户端本地缓存的资源文件列表;S2、从客户端要访问对象的资源文件中,确定在所述资源文件列表中的版本信息与所述服务器本地维护的最新版本信息不一致的资源文件或者所述资源文件列表中不存在的资源文件为所述客户端需要加载的资源文件;S3、将所述客户端需要加载的资源文件的内容输出给所述客户端。根据本专利技术一优选实施方式,所述步骤S2中还包括:从客户端要访问对象的资源文件中,确定在所述资源文件列表中的版本信息与服务器本地维护的最新版本信息一致的资源文件为所述客户端可采用的本地缓存的资源文件;所述步骤S3中还包括:告知所述客户端可采用的本地缓存的资源文件。根据本专利技术一优选实施方式,在所述步骤SI之前还包括:判断所述对象访问请求中是否携带调试标志位,如果否,则继续执行所述步骤SI ;如果是,则将所述客户端要访问对象中的资源文件以可调式形式输出给所述客户端,结束流程。根据本专利技术一优选实施方式,所述资源文件列表包括客户端本地缓存的资源文件的路径和版本信息;在所述服务器的内存池中维护了所述服务器抓取到的资源文件的路径和最新版本信息;在所述步骤S2中利用所述客户端要访问对象的资源文件的路径,确定在所述资源文件列表中的版本信息与所述服务器本地维护的最新版本信息。根据本专利技术一优选实施方式,所述服务器在内存池中维护所述服务器抓取到的资源文件的路径和最新版本信息的过程包括:Al、周期性地抓取资源文件的路径和资源文件的最新版本信息并存储于map中;A2、遍历所述map中的每一个资源文件的路径;A3、判断当前遍历到的资源文件的路径是否在服务器的内存池中找到对应的版本信息,如果是,执行步骤A4 ;否则执行步骤A5 ;A4、判断当前遍历到的资源文件的路径在所述map中对应的最新版本信息是否与在所述服务器的内存池中对应的版本信息一致,如果是,针对map中下一个资源文件转至步骤A3 ;否则执行步骤A5 ;A5、利用当前遍历到的资源文件的路径在所述map中对应的最新版本信息更新当前遍历到的资源文件的路径在服务器的内存池中对应的版本信息,针对map中下一个资源文件转至步骤A3。根据本专利技术一优选实施方式,在所述步骤A5中还包括:利用当前遍历到的资源文件的路径和最新的版本信息拼接出当前遍历到的资源文件的URL,根据该URL获取该资源文件的内容并存储于所述服务器的内存池。根据本专利技术一优选实施方式,在获取该资源文件的内容时,进一步判断该资源文件是否为js,如果是,则分析该资源文件所依赖的所有资源文件的路径并存储于所述服务器的内存池。本专利技术还提供了一种缓存资源文件的方法,该方法包括:客户端在向服务器发送的对象访问请求中携带客户端本地缓存的资源文件列表,所述资源文件列表中包含客户端本地缓存的资源文件的版本信息;获取并缓存所述服务器输出的所述客户端需要加载的资源文件的内容,并标识版本信息。根据本专利技术一优选实施方式,该方法还包括:客户端确定所述服务器所告知的要访问对象可采用的客户端本地缓存的资源文件。根据本专利技术一优选实施方式,若所述对象访问请求中携带调试标志位,则所述客户端接收所述服务器以可调式形式输出的要访问对象中的资源文件。本专利技术还提供了一种发送资源文件的装置,该装置设置于服务器端,该装置包括:解析单元,用于从客户端发送的对象访问请求中解析出客户端本地缓存的资源文件列表;识别单元,用于从客户端要访问对象的资源文件中,确定在所述资源文件列表中的版本信息与所述服务器本地维护的最新版本信息不一致的资源文件或者所述资源文件列表中不存在的资源文件为所述客户端需要加载的资源文件;输出单元,用于将所述客户端需要加载的资源文件的内容输出给所述客户端。根据本专利技术一优选实施方式,所述识别单元,还用于从客户端要访问对象的资源文件中,确定在所述资源文件列表中的版本信息与服务器本地维护的最新版本信息一致的资源文件为所述客户端可采用的本地缓存的资源文件;所述输出单元,还用于告知所述客户端可采用的本地缓存的资源文件。根据本专利技术一优选实施方式,该装置还包括:判断单元,用于判断所述对象访问请求中是否携带调试标志位,如果否,则触发所述解析单元执行所述解析的操作;如果是,则触发所述输出单元;所述输出单元,还用于受到所述判断单元的触发后,将所述客户端要访问对象中的资源文件以可调式形式输出给所述客户端。根据本专利技术一优选实施方式,所述资源文件列表包括客户端本地缓存的资源文件的路径和版本信息;该装置还包括:内存池维护单元,用于在所述服务器的内存池中维护所述服务器抓取到的资源文件的路径和最新版本信息;所述识别单元利用所述客户端要访问对象的资源文件的路径,确定在所述资源文件列表中的版本信息与所述服务器本地维护的最新版本信息。根据本专利技术一优选实施方式,所述内存池维护单元具体包括:抓取子单元,用于周期性地抓取资源文件的路径和资源文件的最新版本信息并存储于map中;遍历子单元,用于遍历所述map中的每一个资源文件的路径;第一判断子单元,用于判断当前遍历到的资源文件的路径是否在服务器的内存池中找到对应的版本信息,如果是,触发第二判断子单元,否则触发实例化子单元;第二判断子单元,用于受到触发后,判断当前遍历到的资源文件的路径在所述map中对应的最新版本信息是否与在所述服务器的内存池中对应的版本信息一致,如果是,触发所述遍历子单元遍历下一个资源文件,否则触发实例化子单元;实例化子单元,用于受到触发后,利用当前遍历到的资源文件的路径在所述map中对应的最新版本信息更新当前遍历到的资源文件的路径在服务器的内存池中对应的版本信息,触发所述遍历子单元遍历下一个资源文件。根据本专利技术一优选实施方式,所述实例化子单元,还用于利用当前遍历到的资源文件的路径和最新的版本信息拼接出当前遍历到的资源文件的URL,根据该URL获取该资源文件的内容并存储于所本文档来自技高网...

【技术保护点】
一种发送资源文件的方法,其特征在于,该方法包括:S1、服务器从客户端发送的对象访问请求中解析出客户端本地缓存的资源文件列表;S2、从客户端要访问对象的资源文件中,确定在所述资源文件列表中的版本信息与所述服务器本地维护的最新版本信息不一致的资源文件或者所述资源文件列表中不存在的资源文件为所述客户端需要加载的资源文件;S3、将所述客户端需要加载的资源文件的内容输出给所述客户端。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘晓明
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1