一种基于关键字的HTTP报文缓存机制的实现方法技术

技术编号:5522784 阅读:443 留言:0更新日期:2012-04-11 18:40
一种基于关键字的HTTP报文缓存机制的实现方法,客户的HTTP请求报文,需要先匹配对应的配置项;需要根据配置项中的关键字搜索客户请求报文,并确定是从缓存中给给用户HTTP响应,还是从服务器获取完整HTTP响应,还是从服务器获取部分HTTP响应,并根据配置修改缓存报文,合成完整的HTTP响应。本发明专利技术有效减少代理服务器与WEB服务器之间的数据流量;有效缩短客户端获取WEB页面的等待延时的时间;可以确保客户端每次请求到的WEB页面均为最新的页面;与客户端用户状态,浏览器类型有关的WEB页面,也能达到减少数据流,缩短延时的效果;同时,可以根据配置文件来优化WEB页面的缓存。

【技术实现步骤摘要】

本专利技术属于一种HTTP网络代理缓存方法,尤其是用于反向代理,WEB服务器多网 加速等场景的方法,具体地说是一种基于关键字的HTTP报文缓存机制的实现方法。
技术介绍
代理服务器是介于浏览器和Web服务器之间的一台服务器,有了它之后,浏览器 不是直接到Web服务器去取回网页而是向代理服务器发出请求,Request信号会先送到代 理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。HTTP代理,其功能就是代理网络用户去取得网络信息;现在也用于WEB类网站加 速。常见的HTTP代理分为无缓存机制的,与有缓存机制的。无缓存机制的HTTP代理代理服务器不检测用户请求的内容,自己从服务器请求 相关内容,返回给用户;它存在如下问题无缓存机制的HTTP代理流量大、网络延时大;所 有数据均需要从客户端,代理服务器,WEB服务器进行传输,网络流量无缩小,每一步网络传 输都有网络延时,它包括请求客户端浏览器_>代理服务器_>WEB服务器 响应WEB服务器-> 代理服务器_>客户端浏览器每一步骤流程都存在完整的数据流量产生;每一步骤流程都对应产生网络延时的生成。有缓存机制的HTTP代理代理服务器有一个很大的Cache,它有很大的存储空间, 它不断将新取得数据储存到它本机的存储器上,如果浏览器所请求的数据在它本机的存储 器上已经存在而且是最新的,那么它就不重新从Web服务器取数据,而直接将存储器上的 数据传送给用户的浏览器,这样就能显著提高浏览速度和效率。但是,它存在如下问题1、客户端有可能获取到的不是最新的页面。例如代理服务器在缓存更新周期内,TOB服务器更新了 TOB页面。客户端这时候 请求到的页面为未更新前的老页面。2、不能缓存相同URL,但是与用户状态有关的页面。例如某TOB页面需要用户登陆后,页面上固定位置显示的用户名不同,这种页面 是无法进行缓存的。3、不能缓存相同URL,与浏览器类型有关的页面。例如某TOB页面使用动态语句,IE和Firefox浏览器使用的脚本不同,这种页面 是无法进行缓存的。
技术实现思路
本专利技术的目的是针对现有上述问题,提出的一种基于关键字的HTTP报文缓存机 制的实现方法。本专利技术的技术方案是一种基于关键字的HTTP报文缓存机制的实现方法,包括以下步骤(a)、用户建立配置文件,该配置文件包括多个配置项;各配置项均包括需要处理的域 名、页面、Cookie和用户浏览器类型,对应于各配置项设有相应的处理方式;各配置项中的 域名、页面、Cookie和用户浏览器类型均设有多个关键字;(b)、建立报文处理所需要的缓冲内存,启动处理线程,绑定报文处理端口; (C)、读取配置文件,在内存中将配置文件中的每个配置项串成配置链表;(d)、当客户访问代理服务器时,代理服务器与客户建立连接,获取用户的请求报文;(e)、根据客户的请求报文,检索配置链表中的关键字,确定所属配置项,根据配置项中 的方法进行处理;(f)、如果步骤(e)中的处理方式,需要从服务器获取全部,或者部分报文,则与服务器 建立连接,从服务器获取相应的报文;否则,直接从缓冲内存中获取相应的报文;(g)、将步骤(f)处理过的HTTP响应报文发送给客户端用户。本专利技术中客户的HTTP请求报文,需要先匹配对应的配置项;需要根据配置项中 的关键字搜索客户请求报文,并确定是从缓存中给给用户HTTP响应,还是从服务器获取完 整HTTP响应,还是从服务器获取部分HTTP响应,并根据配置修改缓存报文,合成完整的 HTTP响应。本专利技术的有益效果本专利技术可根据配置文件,使得与客户端一切状态无关的静态页面进行缓存处理。本专利技术可根据配置文件,使得页面更新与否仅仅根据HTTP头检测,不必要下载这 个页面进行比较。本专利技术可根据配置文件,解决与客户端状态,浏览器类型有关页面缓存的问题。本专利技术有效减少代理服务器与TOB服务器之间的数据流量;有效缩短客户端获取 WEB页面的等待延时的时间;可以确保客户端每次请求到的WEB页面均为最新的页面;与客 户端用户状态,浏览器类型有关的WEB页面,也能达到减少数据流,缩短延时的效果;同时, 可以根据配置文件来优化WEB页面的缓存。具体实施例方式下面结合实施例对本专利技术作进一步的说明。一种基于关键字的HTTP报文缓存机制的实现方法,它包括以下步骤(a)、用户建立配置文件,该配置文件包括多个配置项;各配置项均包括需要处理的域 名、页面、Cookie和用户浏览器类型,对应于各配置项设有相应的处理方式;各配置项中的 域名、页面、Cookie和用户浏览器类型均设有多个关键字;(b)、建立报文处理所需要的缓冲内存,启动处理线程,绑定报文处理端口; (C)、读取配置文件,在内存中将配置文件中的每个配置项串成配置链表;(d)、当客户访问代理服务器时,代理服务器与客户建立连接,获取用户的请求报文;(e)、根据客户的请求报文,检索配置链表中的关键字,确定所属配置项,根据配置项中 的方法进行处理;(f)、如果步骤(e)中的处理方式,需要从服务器获取全部,或者部分报文,则与服务器建立连接,从服务器获取相应的报文;否则,直接从缓冲内存中获取相应的报文; (g)、将步骤(f)处理过的HTTP响应报文发送给客户端用户。本专利技术中客户的HTTP请求报文,需要先匹配对应的配置项;需要根据配置项中 的关键字搜索客户请求报文,并确定是从缓存中给给用户HTTP响应,还是从服务器获取完 整HTTP响应,还是从服务器获取部分HTTP响应,并根据配置修改缓存报文,合成完整的 HTTP响应。具体实施时一种基于关键字的HTTP报文缓存机制的实现方法,一、需要从配置文件读取配置形成 搜索索引链表;二、需要和客户端建立连接,并从客户端获取HTTP请求报文;三、需要根据 关键字来判断每个HTTP请求使用哪种处理方式是最优秀的方式;四、根据上一步选择的处 理方式形成完整的响应报文;五、将响应报文送给客户端。1、所有WEB页面分等级处理 a、静态页面不经常改变的WEB页面。b、静态页面区分客户端类型的TOB页面。C、具有缓存价值的动态WEB页面。d、无缓存价值的动态TOB页面。说明上述a的意思是,WEB页面的报文内容仅仅与URL有关,与其他一切状态无关。上述b的意思是,WEB页面的报文内容不仅仅与URL有关,还与请求内的HTTP头 其他字段有关系。上述c的意思是,某些动态页面,值得缓存并处理,比如不同用户登陆后的google 主页,仅仅有右上角的用户名不同,其余报文均一样。上述d的意思是,某些动态页面,差异非常大,不值得进行缓存,比如不同用户的 WEB邮箱,整个页面除了框架外均不相同,缓存代价大,效果不好。2、配置文件项,如下 <>DomainID=21 http_hdr_up={} http_hdr_dwn= CheckAck=O ChangeUp=O ChangeDown=I/loginfaild. srf] } & {[Host:login.live.com]}|{[HOST:pktc1ient=cms_pkt//202. up. cmspkt pktserver=cms_pkt//206. cmspkt SSL=Isrch_dwn_va本文档来自技高网
...

【技术保护点】
一种基于关键字的HTTP报文缓存机制的实现方法,其特征是它包括以下步骤:(a)、用户建立配置文件,该配置文件包括多个配置项;各配置项均包括需要处理的域名、页面、Cookie和用户浏览器类型,对应于各配置项设有相应的处理方式;各配置项中的域名、页面、Cookie和用户浏览器类型均设有多个关键字;(b)、建立报文处理所需要的缓冲内存,启动处理线程,绑定报文处理端口;(c)、读取配置文件,在内存中将配置文件中的每个配置项串成配置链表;(d)、当客户访问代理服务器时,代理服务器与客户建立连接,获取用户的请求报文;(e)、根据客户的请求报文,检索配置链表中的关键字,确定所属配置项,根据配置项中的方法进行处理;(f)、如果步骤(e)中的处理方式,需要从服务器获取全部,或者部分报文,则与服务器建立连接,从服务器获取相应的报文;否则,直接从缓冲内存中获取相应的报文;(g)、将步骤(f)处理过的HTTP响应报文发送给客户端用户。

【技术特征摘要】

【专利技术属性】
技术研发人员:张炎朱鹏飞
申请(专利权)人:南京中兴特种软件有限责任公司
类型:发明
国别省市:84[]

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

1