一种基于分光技术的HTTP缓存方法技术

技术编号:23343773 阅读:27 留言:0更新日期:2020-02-15 04:01
本发明专利技术公开一种基于分光技术的HTTP缓存方法,包括以下步骤:用户需要访问网络上的资源时,浏览器发送HTTP请求;用户的HTTP请求到达交换机,交换机一方面把数据报文发送至保存了相关资源的WEB服务器;另外还复制了一份数据报文,发送至缓存服务器;分光的HTTP请求数据报文先到达缓存服务器;交换机发送的HTTP请求数据报文后到达WEB服务器,WEB服务器收到请求后,返回一个相应的HTTP响应;浏览器对WEB服务器返回的HTTP响应进行处理。本发明专利技术通过分光技术把用户的上行流量复制一份到后台进行分析,因为不会直接拦截用户的原始流量,对现有网络没有侵入性,部署方便。

A method of HTTP caching based on optical technology

【技术实现步骤摘要】
一种基于分光技术的HTTP缓存方法
本专利技术涉及一种基于分光技术的HTTP缓存方法,属于通信软件

技术介绍
随着近年来宽带速度大幅提升,大量互联网业务应运而生,特别是在线视频业快速增长,根据相关的统计信息显示,视频业务已经占全球互联网流量的58%,这对网络带宽带来越来越大的压力。传统方式是通过宽带扩容来解决,但这涉及的巨大的投资,这种方式已经无法适应新形势下企业的发展,必须寻找到新的建设方式满足业务发展需求。缓存是一种保存资源副本到本地,并在下次请求时直接使用该副本的技术,是一种有效的用存储换带宽的技术,它将热点资源缓存到本地,下次访问时可以直接使用本地资源,从而避免了数据传输,可以有效节省带宽。现有采用较多的是通过标准代理服务器和透明代理服务器进行缓存。其中一个标准得代理缓存服务器是本地网络中的一个存储web资源的代理服务器。用户浏览器配置代理服务器地址,用户浏览器的所有请求都会先经过代理服务器,代理服务器再把请求转发到web服务器,从web服务器获取资源,再把获取到的资源转发给浏览器。因为所有资源都要经过代理服务器,因此代理服务器很容易实现缓存功能,从web服务器获取到资源后除了转发一份给客户端,还可以缓存一份在本地。这样当资源被请求时,代理服务器可以查询资源是否有被缓存,如果有缓存,代理服务器直接返回缓存的资源,而不用从web服务器获取,从而达到减少带宽的目的。但是存在以下缺点:1、需要在用户的浏览器上明确设置代理服务器的地址,由于需要用户配置浏览器,需要一一通知用户,用户量大之后,工作量巨大;2、由于所有用户的HTTP请求都会到代理服务器,导致代理服务器压力巨大;3、代理服务器成为一个关键节点,一旦服务器宕机,所有用户都会受到影响。其中一个透明的代理所要实现的功能和一个标准代理是一样的,但是它对于浏览器的操作是透明的。浏览器不需要明确的配置使用代理服务器。取而代之的是透明代理将截获网络通讯,并且将在80端口的HTTP通讯过滤出来。如果被过滤出来的请求存在于透明代理服务器的缓存中,那么它将缓存的资源直接返回给客户端;如果缓存中没有,那么这个请求报文将发给WEB服务器。在Linux下透明代理一般是通过iptables和ipchains来截获网络通讯的。透明代理被ISPs(Internet服务提供者)大量的使用,这是因为他们需要无浏览器设置的模式,也存在以下缺点:1、因为是直接劫持用户的HTTP请求,因此对现有网络有侵入性,需要改造现有网络,前期工作量比较大。2、因为是直接劫持用户的请求,代理服务器就成了关键节点,一旦宕机,所有用户都会受到影响。
技术实现思路
针对上述问题,本专利技术主要是克服现有技术中的不足之处,提出一种基于分光技术的HTTP缓存方法。本专利技术解决上述技术问题所提供的技术方案是:一种基于分光技术的HTTP缓存方法,包括以下步骤:S1、用户需要访问网络上的资源时,浏览器发送HTTP请求;S2、用户的HTTP请求到达交换机,交换机一方面把数据报文发送至保存了相关资源的WEB服务器;另外还复制了一份数据报文,发送至缓存服务器;S3、分光的HTTP请求数据报文先到达缓存服务器,缓存服务器查询用户的HTTP请求的资源是否在缓存服务器内有缓存;若有缓存,则返回一个302跳转的HTTP响应,浏览器收到跳转响应后,从缓存服务器下载资源;若没有缓存,则缓存服务器丢弃用户的HTTP请求,也不回复任何响应;同时开始进行缓存更新流程;S4、交换机发送的HTTP请求数据报文后到达WEB服务器,WEB服务器收到请求后,返回一个相应的HTTP响应;S5、浏览器对WEB服务器返回的HTTP响应进行处理;若浏览器已经收到缓存服务器的HTTP响应,则丢弃WEB服务器返回的HTTP响应;若浏览器未收到缓存服务器的HTTP响应,则浏览器从WEB服务器上获取资源。进一步的技术方案是,所述步骤S3中缓存更新流程包括以下步骤:步骤A、尝试从WEB服务器上下载用户HTTP请求的资源到缓存服务器;步骤B、使用HTTP协议提供的HEAD请求,从WEB服务器获取到资源的大小;步骤C、检查缓存服务器的存储空间,并WEB服务器上下载资源,完成资源的缓存;步骤D、资源完成缓存后,下一次用户再请求同一个资源时,就可以直接返回缓存的资源,而不需要从WEB服务器上下载。进一步的技术方案是,所述步骤C中检查缓存服务器的存储空间中,若有存储空间足够,则直接从WEB服务器上下载资源,完成资源的缓存;如果存储空间不够,则通过LRU算法找到使用最少的资源并清理掉,直到存储空间满足新资源的下载要求。进一步的技术方案是,所述LRU算法的具体过程为:缓存服务器内的所有资源通过一个列表来管理,当缓存服务器的存储空间不足时,将列表尾部的数据丢弃。进一步的技术方案是,所述列表中数据的排列是根据数据的缓存下载、缓存命中时间从列表头部到尾部进行排列,其中列表头部的数据是最新的数据,列表尾部的数据是最久的数据。本专利技术具有以下有益效果:1、当前网络上的流量大部分是HTTP流量,实现HTTP缓存后可以节省大量带宽;2、由于缓存系统通过旁路实现,对现有系统没有侵入性,用户可以很方便的在现有网络中快速部署;3、由于通过旁路实现,缓存系统不是整个系统的关键节点,用户不用担心缓存系统宕机,影响整个系统的稳定性;4、由于对用户透明,不需要具体用户进行任何设置操作,因此运维方便。附图说明图1为本专利技术系统的结构示意图;图2为本专利技术的流程框图;图3为本专利技术中步骤S3的流程框图;图4为缓存服务器中数据列表示意图。具体实施方式下面结合实施例和附图对本专利技术做更进一步的说明。本专利技术使用的系统如图1所示,整个系统主要包含两个部分,交换机和缓存服务器。交换机需要实现分光功能,把来自用户的上行流量复制一份给缓存服务器。如图2所示,本专利技术的一种基于分光技术的HTTP缓存方法,包括以下步骤:S1、用户需要访问网络上的资源时,打开浏览器并输入资源地址,通过浏览器给交换机发送HTTP请求;S2、用户的HTTP请求到达交换机,交换机一方面把数据报文发送至保存了相关资源的WEB服务器;另外还复制了一份数据报文,发送至缓存服务器;S3、因为缓存服务器设置在本地,因此分光的HTTP请求数据报文先到达缓存服务器,缓存服务器查询用户的HTTP请求的资源是否在缓存服务器内有缓存;若有缓存,则直降向浏览器返回一个302跳转的HTTP响应,浏览器收到跳转响应后,从缓存服务器下载资源;若没有缓存,则缓存服务器丢弃用户的HTTP请求,也不回复任何响应;同时开始进行缓存更新流程;S4、因为WEB服务器离用户较远,因此交换机发送的HTTP请求数据报文通过广域网后到达WEB服务器,WEB服务器收到请求后,依次通广域网、交换机向浏览器返回一个相应本文档来自技高网
...

【技术保护点】
1.一种基于分光技术的HTTP缓存方法,其特征在于,包括以下步骤:/nS1、用户需要访问网络上的资源时,浏览器发送HTTP请求;/nS2、用户的HTTP请求到达交换机,交换机一方面把数据报文发送至保存了相关资源的WEB服务器;另外还复制了一份数据报文,发送至缓存服务器;/nS3、分光的HTTP请求数据报文先到达缓存服务器,缓存服务器查询用户的HTTP请求的资源是否在缓存服务器内有缓存;/n若有缓存,则返回一个302跳转的HTTP响应,浏览器收到跳转响应后,从缓存服务器下载资源;/n若没有缓存,则缓存服务器丢弃用户的HTTP请求,也不回复任何响应;同时开始进行缓存更新流程;/nS4、交换机发送的HTTP请求数据报文后到达WEB服务器,WEB服务器收到请求后,返回一个相应的HTTP响应;/nS5、浏览器对WEB服务器返回的HTTP响应进行处理;/n若浏览器已经收到缓存服务器的HTTP响应,则丢弃WEB服务器返回的HTTP响应;/n若浏览器未收到缓存服务器的HTTP响应,则浏览器从WEB服务器上获取资源。/n

【技术特征摘要】
1.一种基于分光技术的HTTP缓存方法,其特征在于,包括以下步骤:
S1、用户需要访问网络上的资源时,浏览器发送HTTP请求;
S2、用户的HTTP请求到达交换机,交换机一方面把数据报文发送至保存了相关资源的WEB服务器;另外还复制了一份数据报文,发送至缓存服务器;
S3、分光的HTTP请求数据报文先到达缓存服务器,缓存服务器查询用户的HTTP请求的资源是否在缓存服务器内有缓存;
若有缓存,则返回一个302跳转的HTTP响应,浏览器收到跳转响应后,从缓存服务器下载资源;
若没有缓存,则缓存服务器丢弃用户的HTTP请求,也不回复任何响应;同时开始进行缓存更新流程;
S4、交换机发送的HTTP请求数据报文后到达WEB服务器,WEB服务器收到请求后,返回一个相应的HTTP响应;
S5、浏览器对WEB服务器返回的HTTP响应进行处理;
若浏览器已经收到缓存服务器的HTTP响应,则丢弃WEB服务器返回的HTTP响应;
若浏览器未收到缓存服务器的HTTP响应,则浏览器从WEB服务器上获取资源。


2.根据权利要求1所述的一种基于分光技术的HTTP缓存方法,其特征在于,所述步骤S3中缓存更新流程包括以下步骤:
步骤A...

【专利技术属性】
技术研发人员:端木凯丁从军周正军
申请(专利权)人:成都云智天下科技股份有限公司
类型:发明
国别省市:四川;51

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

1