基于会话的动态页面缓存方法和系统技术方案

技术编号:8533072 阅读:174 留言:0更新日期:2013-04-04 16:13
本发明专利技术公开了一种基于会话的动态页面缓存方法和系统,解决可登录的动态页面的缓存问题,在不影响CDN服务效率的同时增强缓存可登录动态页面的能力。其技术方案为:方法包括:比较登录用户和未登录用户请求同一个网站时的HTTP请求的请求头,得到网站服务器用于判断用户登录状态的特定差异部分;对用户未登录时源站给出的页面进行缓存;根据用户的HTTP请求中的请求头是否包含特定差异部分判断用户是否登录,对于登录用户,回源取得响应发送给用户,对于未登录用户,使用缓存的页面进行响应。

【技术实现步骤摘要】

本专利技术涉及动态页面缓存技术,尤其涉及内容分发网络(CDN)的动态页面缓存方法和系统。
技术介绍
大部分网站都包含用户登录系统。对于同一个URL,HTTP服务器对登录和未登录的用户可能会响应不同的页面,例如在访问主页时,对未登录用户显示登录页面,对登录用户显示个人主页。我们称此类页面为可登录的动态页面。现在的CDN并不区分可登录的动态页面和其它类型的动态页面,要么不缓存此类页面,要么使用复杂的动态页面缓存技术缓存所有类型的动态页面。现有的动态页面缓存技术包括(I)ESI (Edge Side Include):通过使用标记语言来对网页中可以加速和不能加速的内容片断进行描述,每个网页都被划分成不同的小部分分别使用不同的缓存控制策略,进而让缓存服务器根据这些策略,在把完整的网页发送给用户之前将不同的小部分动态地组合在一起。(2)基于页面分析的动态页面缓存技术通过对请求同一个URL时服务器返回的多个动态页面进行比较,来确定页面中静态不变的内容和动态变化的内容,从而缓存其中的静态部分。缓存服务器每次向源服务器请求动态变化的内容,并和缓存的静态内容组合在一起发送给用户。现有方案的弊端如下(I)如果不缓存可登陆的动态页面,将影响CDN的加速效果,特别是在动态网页应用越来越多的趋势下,这种影响会越来越大。(2)使用ESI技术需要在源站上修改原始的HTML页面,来标记其中的可缓存内容和不可缓存内容,对于CDN而言是不实际的,一方面CDN厂商没有这样的权限,另一方面这需要对源站的页面进行修改,增加CDN客户的负担。(3)基于页面分析的动态页面缓存技术十分复杂,并且需要分析页面内容,影响服务效率,延长响应时间。
技术实现思路
本专利技术的目的在于解决上述问题,提供了一种基于会话的动态页面缓存方法和系统,解决可登录的动态页面的缓存问题,在不影响CDN服务效率的同时增强缓存可登录动态页面的能力。本专利技术的技术方案为本专利技术揭示了一种基于会话的动态页面缓存方法,包括比较登录用户和未登录用户请求同一个网站时的HTTP请求的请求头,得到网站服务器用于判断用户登录状态的特定差异部分;对用户未登录时源站给出的页面进行缓存;根据用户的HTTP请求中的请求头是否包含特定差异部分判断用户是否登录,对于登录用户,回源取得响应发送给用户,对于未登录用户,使用缓存的页面进行响应。根据本专利技术的基于会话的动态页面缓存方法的一实施例,在判断用户是否登录的步骤中,进一步包括若用户的HTTP请求中包含特定差异部分,则判断用户处于登录状态,若用户的HTTP请求中未包含特定差异部分,则判断用户处于未登录状态。本专利技术还揭示了一种基于会话的动态页面缓存系统,包括差异获取装置,比较登录用户和未登录用户请求同一个网站时的HTTP请求的请求头,得到网站服务器用于判断用户登录状态的特定差异部分;未登录页面缓存装置,对用户未登录时源站给出的页面进行缓存;HTTP请求处理装置,根据用户的HTTP请求中的请求头是否包含特定差异部分判断用户是否登录,对于登录用户,回源取得响应发送给用户,对于未登录用户,使用缓存的页面进行响应。根据本专利技术的基于会话的动态页面缓存系统的一实施例,HTTP请求处理装置包括登录状态判断单元根据用户的HTTP请求中的请求头是否包含特定差异部分判断用户是否登录若用户的HTTP请求中包含特定差异部分,则判断用户处于登录状态,若用户的HTTP请求中未包含特定差异部分,则判断用户处于未登录状态。本专利技术对比现有技术有如下的有益效果本专利技术的方案是客户端访问可登录的动态页面时,登录用户发出的请求和未登录用户发出的请求的请求头必然包含一定的差异部分(在本地终端上存储用户特定信息的数据),网站服务器通过这些特定的差异部分来判断用户的登录状态,本专利技术就是利用这些差异部分进行缓存优化的。对比现有技术,本专利技术的方案可以在不影响CDN服务效率的同时增强缓存可登录动态页面的能力。附图说明图1示出了本专利技术的基于会话的动态页面缓存方法的较佳实施例的流程图。图2示出了本专利技术的基于会话的动态页面缓存系统的较佳实施例的原理图。具体实施例方式下面结合附图和实施例对本专利技术作进一步的描述。基于会话的动态页面缓存方法的实施例图1示出了本专利技术的基于会话的动态页面缓存方法的实施例。请参见图1,本实施例的动态页面缓存方法的实施步骤详述如下。步骤SlO :根据用户的HTTP请求获得请求头中的特定差异部分。访问可登录的动态页面时,登录用户发出的请求和未登录用户发出的请求的请求头必然包含一定的差异部分(在本地终端上存储用户特定信息的数据),这个差异部分就是用来区分用户登录状态的标识。步骤Sll :配置缓存策略。缓存策略是对于同一个URL :(I)如果HTTP请求头不包含上述特定差异部分(称为“未登录请求”),则对此请求的响应进行缓存;(2)如果HTTP请求头包含上述特定差异部分(称为“已登录请求”),则对此请求的响应不缓存。步骤S12 :如果⑶N节点上不存在URL的缓存,当处理未登录请求时,会缓存此请求的响应。步骤S13 :接收用户的HTTP请求。步骤S14 :检查用户的HTTP请求中是否包含特定差异部分,若包含则进入步骤S15,若不包含则进入步骤S16。步骤S15 :判断出用户的状态是已登录状态,回源服务器获取响应发送给用户。步骤S16 :判断出用户的状态是未登录状态,使用缓存页面发送给用户。基于会话的动态页面缓存系统的实施例图2示出了本专利技术的基于会话的动态页面缓存系统的较佳实施例的原理。请参见图2,本实施例的动态页面缓存系统包括差异获取装置10、未登录页面缓存装置12、HTTP请求处理装置14。差异获取装置10比较登录用户和未登录用户请求同一个网站时的HTTP请求的请求头,得到网站服务器用于判断用户登录状态的特定差异部分。未登录页面缓存装置12对用户未登录时源站给出的页面进行缓存。在HTTP请求处理装置14中包括登录状态判断单元140。登录状态判断单元140根据用户的HTTP请求中的请求头是否包含特定差异部分判断用户是否登录若用户的HTTP请求中包含特定差异部分,则判断用户处于登录状态,若用户的HTTP请求中未包含特定差异部分,则判断用户处于未登录状态。HTTP请求处理装置14根据用户的HTTP请求中的请求头是否包含特定差异部分判断用户是否登录,对于登录用户,回源取得响应发送给用户,对于未登录用户,使用缓存的页面进行响应。上述实施例是提供给本领域普通技术人员来实现和使用本专利技术的,本领域普通技术人员可在不脱离本专利技术的专利技术思想的情况下,对上述实施例做出种种修改或变化,因而本专利技术的保护范围并不被上述实施例所限,而应该是符合权利要求书所提到的创新性特征的最大范围。本文档来自技高网
...

【技术保护点】
一种基于会话的动态页面缓存方法,包括:比较登录用户和未登录用户请求同一个网站时的HTTP请求的请求头,得到网站服务器用于判断用户登录状态的特定差异部分;对用户未登录时源站给出的页面进行缓存;根据用户的HTTP请求中的请求头是否包含特定差异部分判断用户是否登录,对于登录用户,回源取得响应发送给用户,对于未登录用户,使用缓存的页面进行响应。

【技术特征摘要】
1.一种基于会话的动态页面缓存方法,包括 比较登录用户和未登录用户请求同一个网站时的HTTP请求的请求头,得到网站服务器用于判断用户登录状态的特定差异部分; 对用户未登录时源站给出的页面进行缓存; 根据用户的HTTP请求中的请求头是否包含特定差异部分判断用户是否登录,对于登录用户,回源取得响应发送给用户,对于未登录用户,使用缓存的页面进行响应。2.根据权利要求1所述的基于会话的动态页面缓存方法,其特征在于,在判断用户是否登录的步骤中,进一步包括 若用户的HTTP请求中包含特定差异部分,则判断用户处于登录状态,若用户的HTTP请求中未包含特定差异部分,则判断用户处于未登录状态。3.一种基于会话的动态页面缓存系统,包括 差异获取装置,比较...

【专利技术属性】
技术研发人员:洪珂郭文强程豪
申请(专利权)人:网宿科技股份有限公司
类型:发明
国别省市:

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

1