一种在mvc下的访问请求处理方法技术

技术编号:37717342 阅读:9 留言:0更新日期:2023-06-02 00:14
本发明专利技术提供一种在mvc下的访问请求处理方法,其特征在于,包括:用户终端识别所述访问请求;若所述访问请求为静态文件请求,则从CDN节点获取所述静态文件;若所述访问请求为业务请求时,则向业务服务器发送请求,所述业务服务器响应并返回结果页面。这样,通过本发明专利技术不仅能加快用户的访问,而且可节省CDN的流量。而且可节省CDN的流量。而且可节省CDN的流量。

【技术实现步骤摘要】
一种在mvc下的访问请求处理方法


[0001]本专利技术涉及一种计算机信息
,尤其是一种在mvc下的访问请求处理方法。

技术介绍

[0002]参考图1至3,CDN的全称是Content Delivery Network,翻译成中文就是内容分发网络。CDN依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取内容,降低网络延迟,提高访问速度。简单来讲,CDN是用来进行加速的,它可以让用户更快获得所需的数据,当用户请求一个文件时,CDN的工作过程如下:1.DNS请求当地local DNS;2.当地local DNS递归地查询服务器的gslb;3.服务器根据local DNS 分配最佳节点,返回IP;4.用户获得最佳接入IP,访问最佳节点。5.如果该节点没有用户想要获取的内容,则通过内部路由访问上一节点,直到找到文件或到达源站为止。6.CDN节点缓存该数据,下次请求该文件时可以直接返回;目前web网站有两种结构,一种是如图1的mvc结构,一种是如图2的前后端分离。前后端分离就是页面和业务代码都独立开发、独立部署。用户首先是请求到页面,然后页面再请求业务代码所在服务器并将得到的数据用js语言渲染页面。而mvc结构是页面和业务代码一起开发,并作为一个应用部署。用户直接请求该应用,应用处理完业务后直接用结果生成页面并返回给用户;可以看出前后端分离的结构很适合将页面服务器映射到CDN上,因为页面部分都是静态文件。而对于mvc结构而言,服务器总是返回生成的结果页面,所以不适合将mvc结构的网站域名映射到CDN上。但是mvc结构所返回的结果页面,也大量引用了本服务器的静态文件。如果能将这些静态文件的访问映射到CDN上,则一样能加快用户的访问;目前行业内,对于mvc结构都是,将web网站直接映射到CDN服务器上如图3,然后设置文件后缀白名单,访问路径的后缀不在名单里的就不缓存,但这样会浪费CDN的流量。

技术实现思路

[0003]本专利技术的主要目的是克服现有技术的不足,提供在mvc下的访问请求处理方法,可以让用户终端访问mvc结构的web网站时,当访问的是非静态文件时直接走服务器,当访问的是静态文件时走CDN,不仅能加快用户的访问,而且可节省CDN的流量;为实现上述目的,本专利技术提出在mvc下的访问请求处理方法,其特征在于,包括:用户终端识别所述访问请求;若所述访问请求为静态文件请求,则从CDN节点获取所述静态文件;若所述访问请求为业务请求时,则向业务服务器发送请求,所述业务服务器响应并返回结果页面;优选地,定义有静态文件的引用则指定其域名为自定义域名,所述自定义域名的访问请求走从CDN节点获取所述静态文件;进一步,若所述访问请求为静态文件请求,还包括CDN节点识别所述静态文件请求
是否首次,若是则由CDN节点向业务服务器发送请求,所述业务服务器响应并返回该静态文件至CDN节点后,由所述CDN节点缓存并返回至所述用户终端;进一步,所述方法还包括在mvc下的访问请求处理方法包括在springmvc的拦截层配置一个拦截器,所述拦截器调用java的System.getProperty方法获取静态文件的请求域名;并生成一个随机字符串作为访问版本并将该值设到CDNHostInterceptor的属性visitVersion中;进一步,所述CDNHostInterceptor实现springmvc拦截器的接口的方法包括判断cdnHost属性是否为空,不为空则设置页面模板中的属性staticSourcesURIHost为cdnHost的值,为空则staticSourcesURIHost设为空字符串;进一步,当处于本地开发模式,将静态文件请求向业务服务器发送请求,所述业务服务器响应并返回结果页面。
附图说明
[0004]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图;图1至3,为现有技术中访问请求的处理方法;图4为本专利技术一优选实施例中的流程示意图之一;图5为本专利技术一优选实施例中的流程示意图之二;本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0005]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围;本专利技术涉及一种在mvc下的访问请求处理方法,其特征在于,包括:用户终端识别所述访问请求;若所述访问请求为静态文件请求,则从CDN节点获取所述静态文件;若所述访问请求为业务请求时,则向业务服务器发送请求,所述业务服务器响应并返回结果页面。具体来说,定义有静态文件的引用则指定其域名为自定义域名,所述自定义域名的访问请求走从CDN节点获取所述静态文件。若所述访问请求为静态文件请求,还包括CDN节点识别所述静态文件请求是否首次,若是则由CDN节点向业务服务器发送请求,所述业务服务器响应并返回该静态文件至CDN节点后,由所述CDN节点缓存并返回至所述用户终端。在mvc下的访问请求处理方法包括在springmvc的拦截层配置一个拦截器,所述拦截器调用java的System.getProperty方法获取静态文件的请求域名;并生成一个随机字符串作为访问版本并将该值设到CDNHostInterceptor的属性visitVersion中。所述CDNHostInterceptor实现springmvc拦截器的接口的方法包括判断cdnHost属性是否为空,不为空则设置页面模板中的属性staticSourcesURIHost为cdnHost的值,为空则staticSourcesURIHost设为空字符
串。另外当处于本地开发模式,将静态文件请求向业务服务器发送请求,所述业务服务器响应并返回结果页面;参考图4和5,另一优选实施例被示例和描述。本专利技术方法通过基于springmvc的拦截层来作,因为springmvc的拦截层在业务请求返回时是处在业务方法之后,渲染页面之前。在这里设置的属性值对一般程序员不可见;具体来说,首先java代码部分,在springmvc的拦截层实现一个拦截器CDNHostInterceptor。该拦截器的启动部分有以下逻辑:1、调用java的System.getProperty方法获取key为“CDN_HOST”的值,该值就是静态文件的请求域名。将“//”和该值作字符串拼接并设到CDNHostInterceptor的属性cdnHost中;2、生成一个随机字符串作为访问版本并将该值设到CDNHostInterceptor的属性visitVersion中;请求时部分,CDNHostInterceptor所实现的springmvc拦截器的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种在mvc下的访问请求处理方法,其特征在于,包括:用户终端识别所述访问请求;若所述访问请求为静态文件请求,则从CDN节点获取所述静态文件;若所述访问请求为业务请求时,则向业务服务器发送请求,所述业务服务器响应并返回结果页面。2.如权利要求1所述的在mvc下的访问请求处理方法,其特征在于,定义有静态文件的引用则指定其域名为自定义域名,所述自定义域名的访问请求走从CDN节点获取所述静态文件。3.如权利要求1所述的在mvc下的访问请求处理方法,其特征在于,若所述访问请求为静态文件请求,还包括CDN节点识别所述静态文件请求是否首次,若是则由CDN节点向业务服务器发送请求,所述业务服务器响应并返回该静态文件至CDN节点后,由所述CDN节点缓存并返回至所述用户终端。4.如权利要求1所述的在mvc下的访问请求处理方法,其特征在于,所述方法还包括在mvc...

【专利技术属性】
技术研发人员:李宝君何玉华
申请(专利权)人:全通金信控股广东有限公司
类型:发明
国别省市:

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

1