一种文件动态压缩混淆和双向缓存方法及系统技术方案

技术编号:34645253 阅读:10 留言:0更新日期:2022-08-24 15:21
本发明专利技术公开了一种文件动态压缩混淆和双向缓存方法及系统,方法在用户通过浏览器访问服务器端任意一资源文件,根据资源文件信息生成并上传访问文件请求;资源文件拦截服务收到浏览器上传的访问文件请求后,根据缓存配置器的配置和文件类型对访问文件请求拦截检测;根据拦截检测结果对需拦截的访问文件请求进行文件版本更新检测,若无需更新则返回状态码304至浏览器,并根据访问文件请求调用本地缓存的文件进行呈现;当检测需要更新文件时,先后从资源文件缓存池和本地资源文件中查找并更新文件,若未查找到文件则返回状态码404至浏览器。本发明专利技术大大提高了资源文件压缩、混淆的效率,降低了研发和发布的难度,提高了研发和发布效率。和发布效率。和发布效率。

【技术实现步骤摘要】
一种文件动态压缩混淆和双向缓存方法及系统


[0001]本专利技术涉及文件处理
,尤其涉及一种文件动态压缩混淆和双向缓存方法及系统。

技术介绍

[0002]在互联网大前端技术蓬勃发展的今天,大批前端JS技术不断涌现出来,基于B/S架构研发的互联网系统大量依赖于各种前段技术或框架,形成了大量的JS、CSS、图片等资源和脚本文件,在本专利技术中将这些前端依赖的JS、CSS、图片等统一称之为资源文件,这些文件通常存放在服务器端通过浏览器引擎下载到客户机本地进行呈现,一方面由于前端技术依赖的第三方JS插件越来越多,另一方面前端功能越来越复杂综合导致了现在的前端资源文件越来越大,文件越来越多,大大浪费了网络资源,影响了互联网系统的整体访问速度和响应效率,为了解决这一问题,近年来涌现出了多种静态资源文件自动打包工具,其实现方式是将编写好的资源文件进行压缩、混淆之后形成一个或多个新的文件,再将形成的新文件发布到服务器端,从而来达到资源文件压缩、混淆的目的。
[0003]打包工具在一定程度上解决了大量资源文件影响网络资源和加载效率问题,但其缺陷也很明显,其一是资源文件的任何修改都需要重新进行一次打包工作,尤其是在资源文件庞大的时候,这个打包过程可能会非常耗时,其二是打包工具自身没有办法解决资源文件在服端和浏览器端缓存问题,需要借助第三方服务软件来完成缓存问题,其三是打包工具身自和第三方服务软件身自都不具备缓存版本维护功能,经常导致服务器端资源文件更新了以后,浏览器端并不会同步更新,需要手动在浏览器端删除缓存的资源文件才会重新同步。

技术实现思路

[0004]本专利技术的目的在于克服现有技术的不足,提供一种文件动态压缩混淆和双向缓存方法及系统,将压缩、混淆、缓存、资源文件访问服务四者合一,按需进行动态压缩、混淆、缓存,在保留了原资源文件结构的同时对其进行压缩和混淆,很好的解决了以上问题。
[0005]本专利技术的目的是通过以下技术方案来实现的:一种文件动态压缩混淆和双向缓存方法,包括以下步骤:步骤一:用户通过浏览器访问服务器端任意一资源文件,根据资源文件信息生成并上传访问文件请求;步骤二:资源文件拦截服务收到浏览器上传的访问文件请求后,根据缓存配置器的配置和文件类型对访问文件请求拦截检测;步骤三:根据拦截检测结果对需拦截的访问文件请求进行文件版本更新检测,若无需更新则返回状态码304至浏览器,并根据访问文件请求调用本地缓存的文件进行呈现;步骤四:当检测需要更新文件时,先后从资源文件缓存池和本地资源文件中查找并更新文件,若未查找到文件则返回状态码404至浏览器。
[0006]具体的,所述步骤一具体包括:设置浏览器与服务器端之间的通信协议为http/https标准协议,用户通过浏览器在访问服务器端任意一资源文件时,根据资源文件的文件名、文件类型和路径信息生成访问文件请求并上传服务器端;若在本地缓存有访问文件请求对应的资源文件,则在访问文件请求中附加资源文件的缓存时间信息。
[0007]具体的,所述步骤二具体包括:资源文件拦截服务收到浏览器上传的访问文件请求后,获取访问文件请求的资源文件信息,根据缓存配置器的配置和拦截文件类型进行拦截检测,若访问文件请求的资源文件不需要拦截,则直接通过访问文件请求并交由其它服务进行请求处理。
[0008]具体的,所述拦截文件类型包括图片文件、JS类型文件和CSS类型文件。
[0009]具体的,所述步骤三具体包括:当检测到需要对访问文件请求进行拦截服务之后,根据浏览器上传访问文件请求中的文件名和缓存时间信息与服务器端的本地缓存的资源文件进行版本对比,若不需要更新资源文件时直接返回状态码304至浏览器,浏览器在收到304状态码后调用服务器端本地缓存的资源文件进行呈现。
[0010]具体的,所述步骤四具体包括:当检测到需要进行文件更新时,先从资源文件缓存池中进行文件查找,找到对应的资源文件后直接进行浏览器缓存协议组装并返回状态码200,同时返回文件体和对应资源文件在浏览器上的缓存信息;若在资源文件缓存池中未查找到对应的资源文件,则从本地资源文件中查找该资源文件;若未从本地资源文件中查找到对应的资源文件,则返回状态码404至浏览器,告知所访问的资源文件不存在;若在本地资源文件中查找到所访问的资源文件后,根据文件类型对资源文件进行压缩和混淆,其中,对于图片文件不作压缩和混淆,对于JS类型文件则调用JS文件压缩混淆引擎进行处理,对于CSS类型文件则调用CSS文件压缩混淆引擎进行处理;在资源文件压缩和混淆完成以后放入资源文件缓存池中,再重新获取缓存文件并返回状态码200、文件体,以及浏览器缓存信息。
[0011]一种采用上述一种文件动态压缩混淆和双向缓存方法实现的文件动态压缩混淆和双向缓存系统,包括浏览器、资源文件拦截服务模块、资源文件缓存池、资源文件压缩混淆引擎和缓存配置器;其中,浏览器用于访问服务器端资源文件并提交访问文件请求,以及根据服务器端返回的状态码对资源文件进行加载处理;缓存配置器用于配置需要拦截的资源文件名、路径信息和缓存时间信息;资源文件缓存池用于缓存资源文件;资源文件拦截服务模块用于根据缓存配置器的配置和文件类型拦截浏览器上传的访问文件请求;资源文件压缩混淆引擎用于对资源文件进行压缩和混淆处理,资源文件压缩混淆引擎包括JS文件压缩混淆引擎和CSS文件压缩混淆引擎。
[0012]本专利技术的有益效果:1、本专利技术解决了现有技术在互联网前端领域上的压缩、混淆效率问题,同时通过动态压缩、混淆技术以及双向缓存(浏览器和服务器端缓存)技术很好的解决了大量资源文件加载所消耗的大量网络资源问题,解决了浏览器和服务器端缓存同步问题,大大提高了资源文件压缩、混淆的效率,降低了研发和发布的难度,提高了研发和发布效率。
[0013]2、本专利技术有两种部署方式,一种是嵌入到现有的WEB应用中去,一种是独立部署,无论是哪种部署方式,都能很好的屏蔽掉资源文件的压缩、混淆、缓存以及缓存同步等过程,研发和维护人员无需关心其整个实现过程,通过简单的配置就能很好的实现打包、发
布、第三方资源服务软件等一系列操作才能完成的工作,可大大提高研发和发布的效率,减少资源文件加载对网络资源的消耗,自动解决资源文件缓存同步问题。
附图说明
[0014]图1是本专利技术的方法步骤流程图;图2是资源文件动态压缩和混淆以及双向缓存实现流程图;图3是系统的功能模块关系图。
具体实施方式
[0015]为了对本专利技术的技术特征、目的和有益效果有更加清楚的理解,现对本专利技术的技术方案精选以下详细说明。显然,所描述的实施案例是本专利技术一部分实施例,而不是全部实施例,不能理解为对本专利技术可实施范围的限定。基于本专利技术的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的其他所有实施例,都属于本专利技术的保护范围。
[0016]实施例一:本实施例中,如图1所示,一种文件动态压缩混淆和双向缓存方法,包括以下步骤:步骤一:用户通过浏览器访问服务器端任意一资源文件,根据资源文件信息生成并上传访问本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种文件动态压缩混淆和双向缓存方法,其特征在于,包括:步骤一:用户通过浏览器访问服务器端任意一资源文件,根据资源文件信息生成并上传访问文件请求;步骤二:资源文件拦截服务收到浏览器上传的访问文件请求后,根据缓存配置器的配置和文件类型对访问文件请求拦截检测;步骤三:根据拦截检测结果对需拦截的访问文件请求进行文件版本更新检测,若无需更新则返回状态码304至浏览器,并根据访问文件请求调用本地缓存的文件进行呈现;步骤四:当检测需要更新文件时,先后从资源文件缓存池和本地资源文件中查找并更新文件,若未查找到文件则返回状态码404至浏览器。2.根据权利要求1所述的一种文件动态压缩混淆和双向缓存方法,其特征在于,所述步骤一具体包括:设置浏览器与服务器端之间的通信协议为http/https标准协议,用户通过浏览器在访问服务器端任意一资源文件时,根据资源文件的文件名、文件类型和路径信息生成访问文件请求并上传服务器端;若在本地缓存有访问文件请求对应的资源文件,则在访问文件请求中附加资源文件的缓存时间信息。3.根据权利要求1所述的一种文件动态压缩混淆和双向缓存方法,其特征在于,所述步骤二具体包括:资源文件拦截服务收到浏览器上传的访问文件请求后,获取访问文件请求的资源文件信息,根据缓存配置器的配置和拦截文件类型进行拦截检测,若访问文件请求的资源文件不需要拦截,则直接通过访问文件请求并交由其它服务进行请求处理。4.根据权利要求3所述的一种文件动态压缩混淆和双向缓存方法,其特征在于,所述拦截文件类型包括图片文件、JS类型文件和CSS类型文件。5.根据权利要求1所述的一种文件动态压缩混淆和双向缓存方法,其特征在于,所述步骤三具体包括:当检测到需要对访问文件请求进行拦截服务之后,根据浏览器上传访问文件请求中的文件名和缓存时间信息与服务器端的本地缓存的资源文件进行...

【专利技术属性】
技术研发人员:刘勇谢方建杨永刚吕菲张良会蒋龙
申请(专利权)人:川藏铁路技术创新中心有限公司中铁二院工程集团有限责任公司
类型:发明
国别省市:

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

1