本申请提供了一种多域名会话信息共享方法,包括:接收客户端发送的访问请求;判断访问请求中是否包含会话标识符;若包含,则获取会话标识符;若不包含且请求目标为主站,则生成会话标识符并添加到访问请求中;若不包含且请求目标为子站,则通过同步系统向主站发送同步请求,若能够获取会话标识符,则将会话标识符添加到访问请求目标地址中,若不能,则生成会话标识符并将会话标识符分别写入到客户端cookie中当前子站和主站域名中;根据会话标识符读取缓存中的会话信息。本申请还提供了一种实现前述方法的多域名会话信息共享系统。本申请的多域名会话信息共享方法及系统,能够避免多域名会话信息共享时数据丢失、提高同步效率和安全性。
【技术实现步骤摘要】
本申请涉及计算机数据共享
,特别是涉及一种多域名会话信息共享方法及系统。
技术介绍
一般来说,用户在访问不同的域名时会产生不同的session(会话),在某些情况下,为了减少访问数据量,需要对同一用户访问不同的域名实现session共享,例如,主域名、子域名、跨站点域名或跨服务器域名等等。目前,常见的session共享方案为通过cookie方式,将session信息全部存放到客户端浏览器的cookie中,实现集群的session共享,多个域名之间通过异步请求来同步多个域名下的cookie,实现session的共享。此种将session信息大量存储在客户端浏览器中的方式,需要使用大量的cookie,而浏览器对于cookie的大小和数量使用有严格的限制,如果已使用的cookie的超过客户端浏览器的限制,客户端浏览器就会采取不同的策略丢弃部分cookie,这样就造成用户访问过程中信息丢失、用户权限和登陆状态丢失等情况。同时,此种使用cookie来存储所有session信息的方式,需要在用户每次请求过程中将http (超文本传输协议,Hyper Text Transfer Protocol)头中的cookie信息传递到服务端,服务端在修改后再次通过response (反馈)写回到客户端浏览器中,整个请求过程必须全程传递cookie,浪费传输资源。另外,现有的基于cookie存储的多域名会话信息同步,需要在用户session信息改变时,异步发起请求到所有需要共享session的其他域名,来同步修改cookie,因此,在较多的独立域名情况下同步效率较低且安全性差。
技术实现思路
本申请提供一种多域名会话信息共享方法及系统,以够解决多域名会话信息共享时数据丢失、同步效率低和安全性差的问题。为了解决上述问题,本申请公开了一种多域名会话信息共享方法,包括:接收客户端发送的访问请求;判断所述访问请求中是否包含识别会话信息的会话标识符;若包含,则获取所述会话标识符;若不包含且所述访问请求目标为主站,则生成会话标识符并添加到访问请求中;若不包含且所述访问请求目标为子站,则通过同步系统向主站发送同步请求,若能够获取会话标识符,则将所述会话标识符添加到所述访问请求的目标地址中,若不能,则生成会话标识符并将所述会话标识符分别写入到客户端cookie中记载的当前子站和主站域名中;根据所述会话标识符读取缓存中的会话信息。进一步地,所述方法通过同步系统向主站发送同步请求包括:向同步系统发送初步请求,所述初步请求中包含当前访问请求的目标URL ;所述同步系统将初步请求中的目标URL作为源地址,并携带所述源地址向主站发送同步请求,并从向主站发送的同步请求的请求头中读取会话标识符,添加到源地址中,然后对写入会话标识符的源地址重新发起访问请求。进一步地,所述根据所述获取的会话标识符读取缓存中对应的会话信息包括:向缓存发送包含所述会话标识符的读取请求;根据所述会话标识符查询缓存中以所述会话标识符为存储标识的会话信息;若有对应的会话信息,则读取所述会话信息。进一步地,所述根据所述获取的会话标识符读取缓存中对应的会话信息包括:向代理服务器发送将所述会话标识符作为请求参数的读取请求,所述代理服务器解析所述读取请求获取会话标识符,根据会话标识符查询缓存中以所述会话标识符为存储标识的会话信息,若有对应的会话信息,则代理服务器读取所述会话信息;接收代理服务器解析的会话信息。进一步地,所述向代理服务器发送的读取请求为通过超文本传输协议发送。为了解决上述问题,本申请还公开了一种多域名会话信息共享方法,包括以下步骤:接收客户端发送的针对主站的访问请求;判断所述针对主站的访问请求中是否包含识别会话信息的会话标识符,若否,则生成会话标识符添加到当前访问请求中;在同一会话过程中,接收客户端再次发送的访问子站的访问请求;判断所述针对子站的访问请求中是否包含会话标识符,若否,则通过同步系统向主站发送同步请求,获取会话标识符;根据所述获取的会话标识符读取缓存中的会话信息。为了解决上述问题,本申请还公开了一种多域名会话信息共享方法,包括以下步骤:接收客户端发送的针对子站的访问请求;判断针对当前子站的访问请求中是否包含识别会话信息的会话标识符,若否,则通过同步系统向主站获取会话标识符,若获取的会话标识符为空或者不能获取,则通过同步系统生成会话标识符;通过写入客户端cookie的方式,将会话标识符同时添加到子站域名和主站域名中,实现当前子站和主站会话标识符的同步;在同一会话过程中,接收客户端再次发送的访问请求;若再次发送的是针对主站的访问请求,则读取会话标识符,若再次发送的是针对其他子站的访问请求,则判断针对其他子站的访问请求中是否包含会话标识符,若否,则通过同步系统向主站发送同步请求,获取会话标识符;根据所述获取的会话标识符读取缓存中的会话信息。为了解决上述问题,本申请还公开了一种多域名会话信息共享系统,包括:访问请求接收模块,用于接收客户端发送的访问请求;判断模块,用于判断所述访问请求中是否包含识别会话信息的会话标识符,若包含,则获取会话标识符,若不包含,且所述访问请求目标为主站,则生成会话标识符并添加到访问请求中,若不包含,其所述访问请求目标为子站,则传递信息给同步模块;同步模块,向主站发送同步请求,若能从主站获取会话标识符,则添加到访问请求中,若不能,则生成会话标识符并同时添加到当前子站和主站的域名中; 读取模块,根据会话标识符读取缓存中的会话信息。进一步地,所述系统还包括:代理服务器,用于接收读取模块所发送的读取缓存中的会话信息的请求,并解析后传递给缓存,并将从缓存中读取的会话信息解析后返回给读取模块。与现有技术相比,本申请包括以下优点:本申请的多域名会话信息共享方法和系统通过会话管理系统在一次会话过程中首次访问时生成的唯一的不重复的会话标识符来识别一次会话过程中的会话信息。后续访问发生时,则通过同步获取此会话标识符,便可以去读取存储在缓存中的会话信息,从而实现多域名之间会话信息的共享。因为会话标识符的生成,大量的会话信息通过缓存集群存储而不使用cookie,避免了客户端浏览器对cookie使用限制造成的安全稳定风险,如数据丢失等。在共享同步过程中,只需要读取访问请求中的或者写入cookie中的会话标识符,而无需获取其他信息,这减少了大量cookie传递的过程,节约带宽,成本低。在此过程中,只需在独立域名首次请求时,一次性同步主站的会话标识符即可,因为会话标识符是唯一不变的,每次通过会话标识符去读取会话信息,所以后续会话信息的更改对于各域名来说是完全自动同步,不需要每次修改后再发起多个域名的同步,同步过程简单、效率高且信息安全性高。当然,实施本申请的任一产品不一定需要同时达到以上所述的所有优点。附图说明图1是本申请的多域名会话信息共享方法实施例一的流程图;图2是本申请的多域名会话信息共享方法实施例二的流程图;图3是本申请的多域名会话信息共享的实现架构图;图4是本申请的多域名会话信息共享系统实施例一的结构示意图。具体实施例方式为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。本申请的多域名会话信息共享通本文档来自技高网...
【技术保护点】
一种多域名会话信息共享方法,其特征在于,包括:接收客户端发送的访问请求;判断所述访问请求中是否包含识别会话信息的会话标识符;若包含,则获取所述会话标识符;若不包含且所述访问请求目标为主站,则生成会话标识符并添加到访问请求中;若不包含且所述访问请求目标为子站,则通过同步系统向主站发送同步请求,若能够获取会话标识符,则将所述会话标识符添加到所述访问请求的目标地址中,若不能,则生成会话标识符并将所述会话标识符分别写入到客户端cookie中记载的当前子站和主站域名中;根据所述会话标识符读取缓存中的会话信息。
【技术特征摘要】
1.一种多域名会话信息共享方法,其特征在于,包括: 接收客户端发送的访问请求; 判断所述访问请求中是否包含识别会话信息的会话标识符; 若包含,则获取所述会话标识符; 若不包含且所述访问请求目标为主站,则生成会话标识符并添加到访问请求中; 若不包含且所述访问请求目标为子站,则通过同步系统向主站发送同步请求,若能够获取会话标识符,则将所述会话标识符添加到所述访问请求的目标地址中,若不能,则生成会话标识符并将所述会话标识符分别写入到客户端cookie中记载的当前子站和主站域名中; 根据所述会话标识符读取缓存中的会话信息。2.按权利要求1所述的多域名会话信息共享方法,其特征在于,所述方法通过同步系统向主站发送同步请求包括: 向同步系统发送初步请求,所述初步请求中包含当前访问请求的目标URL ; 所述同步系统将初步请求中的目标URL作为源地址,并携带所述源地址向主站发送同步请求,并从向主站发送的同步请求的请求头中读取会话标识符,添加到源地址中,然后对写入会话标识符的源地址重新发起访问请求。3.按权利要求1所述的多域名会话信息共享方法,其特征在于,所述根据所述获取的会话标识符读取缓存中对应的会话信息包括: 向缓存发送包含所述会话标识符的读取请求; 根据所述会话标识符查询缓存中以所述会话标识符为存储标识的会话信息; 若有对应的会话信息,则读取所述会话信息。4.按权利要求1至3中任一所述的多域名会话信息共享方法,其特征在于,所述根据所述获取的会话标识符读取缓存中对应的会话信息包括: 向代理服务器发送将所述会话标识符作为请求参数的读取请求,所述代理服务器解析所述读取请求获取会话标识符,根据会话标识符查询缓存中以所述会话标识符为存储标识的会话信息,若有对应的会话信息,则代理服务器读取所述会话信息; 接收代理服务器解析的会话信息。5.按权利要求4所述的多域名会话信息共享方法,其特征在于,所述向代理服务器发送的读取请求为通过超文本传输协议发送。6.一种多域名会话信息共享方法,其特征在于,包括以下步骤: 接收客户端发送的针对主...
【专利技术属性】
技术研发人员:艾乐强,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。