本发明涉及一种计算机信息,尤其是一种在mvc下的访问请求处理方法。
背景技术:
1、参考图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节点缓存该数据,下次请求该文件时可以直接返回;
2、目前web网站有两种结构,一种是如图1的mvc结构,一种是如图2的前后端分离。前后端分离就是页面和业务代码都独立开发、独立部署。用户首先是请求到页面,然后页面再请求业务代码所在服务器并将得到的数据用js语言渲染页面。而mvc结构是页面和业务代码一起开发,并作为一个应用部署。用户直接请求该应用,应用处理完业务后直接用结果生成页面并返回给用户;
3、可以看出前后端分离的结构很适合将页面服务器映射到cdn上,因为页面部分都是静态文件。而对于mvc结构而言,服务器总是返回生成的结果页面,所以不适合将mvc结构的网站域名映射到cdn上。但是mvc结构所返回的结果页面,也大量引用了本服务器的静态文件。如果能将这些静态文件的访问映射到cdn上,则一样能加快用户的访问;
4、目前行业内,对于mvc结构都是,将web网站直接映射到cdn服务器上如图3,然后设置文件后缀白名单,访问路径的后缀不在名单里的就不缓存,但这样会浪费cdn的流量。
技术实现思路
1、本发明的主要目的是克服现有技术的不足,提供在mvc下的访问请求处理方法,可以让用户终端访问mvc结构的web网站时,当访问的是非静态文件时直接走服务器,当访问的是静态文件时走cdn,不仅能加快用户的访问,而且可节省cdn的流量;
2、为实现上述目的,本发明提出在mvc下的访问请求处理方法,其特征在于,包括:
3、用户终端识别所述访问请求;
4、若所述访问请求为静态文件请求,则从cdn节点获取所述静态文件;
5、若所述访问请求为业务请求时,则向业务服务器发送请求,所述业务服务器响应并返回结果页面;
6、优选地,定义有静态文件的引用则指定其域名为自定义域名,所述自定义域名的访问请求走从cdn节点获取所述静态文件;
7、进一步,若所述访问请求为静态文件请求,还包括cdn节点识别所述静态文件请求是否首次,若是则由cdn节点向业务服务器发送请求,所述业务服务器响应并返回该静态文件至cdn节点后,由所述cdn节点缓存并返回至所述用户终端;
8、进一步,所述方法还包括在mvc下的访问请求处理方法包括在springmvc的拦截层配置一个拦截器,所述拦截器调用java的system.getproperty方法获取静态文件的请求域名;并生成一个随机字符串作为访问版本并将该值设到cdnhostinterceptor的属性visitversion中;
9、进一步,所述cdnhostinterceptor实现springmvc拦截器的接口的方法包括判断cdnhost属性是否为空,不为空则设置页面模板中的属性staticsourcesurihost为cdnhost的值,为空则staticsourcesurihost设为空字符串;
10、进一步,当处于本地开发模式,将静态文件请求向业务服务器发送请求,所述业务服务器响应并返回结果页面。
1.一种在mvc下的访问请求处理方法,其特征在于,包括:
2.如权利要求1所述的在mvc下的访问请求处理方法,其特征在于,定义有静态文件的引用则指定其域名为自定义域名,所述自定义域名的访问请求走从cdn节点获取所述静态文件。
3.如权利要求1所述的在mvc下的访问请求处理方法,其特征在于,若所述访问请求为静态文件请求,还包括cdn节点识别所述静态文件请求是否首次,若是则由cdn节点向业务服务器发送请求,所述业务服务器响应并返回该静态文件至cdn节点后,由所述cdn节点缓存并返回至所述用户终端。
4.如权利要求1所述的在mvc下的访问请求处理方法,其特征在于,所述方法还包括在mvc下的访问请求处理方法包括在springmvc的拦截层配置一个拦截器,所述拦截器调用java的system.getproperty方法获取静态文件的请求域名;并生成一个随机字符串作为访问版本并将该值设到cdnhostinterceptor的属性visitversion中。
5.如权利要求4所述的在mvc下的访问请求处理方法,所述cdnhostinterceptor实现springmvc拦截器的接口的方法包括判断cdnhost属性是否为空,不为空则设置页面模板中的属性staticsourcesurihost为cdnhost的值,为空则staticsourcesurihost设为空字符串。
6.如权利要求1所述的在mvc下的访问请求处理方法,其特征在于,当处于本地开发模式,将静态文件请求向业务服务器发送请求,所述业务服务器响应并返回结果页面。