一种处理http请求的方法及服务器的制造方法

文档序号:7988125阅读:180来源:国知局
一种处理http请求的方法及服务器的制造方法
【专利摘要】本申请公开了一种处理HTTP请求的方法及服务器;方法包括:接收客户端的HTTP请求及所述HTTP请求携带的指定参数;在当前域调用与当前域预先关联的域的HTTP接口,并将所述HTTP请求中所携带的指定参数发送给所调用的HTTP接口;所述当前域为客户端当前访问的页面对应的域;被调用的HTTP接口将所收到的参数保存到所述与当前域预先关联的域下的cookie中。本申请能够使访问网页时的参数应用到其它域。
【专利说明】—种处理HTTP请求的方法及服务器
【技术领域】
[0001]本发明涉及网络领域,尤其涉及一种处理HTTP请求的方法及服务器。
【背景技术】
[0002]随着网络技术的发展,网站面向的用户众多,使用不同的终端,比如高端智能手机、低端手机、PAD、PC等,终端的性能和屏幕分辨率各不相同;对于无线产品,不同用户因为所选择的上网方式和服务提供商各不相同,相应的上网速率也相差甚远。因此,当用户进入网站时,网站会根据用户的终端设备和上网速率,提供给用户最优的网页版本;并且同时也会提供手动切换功能方便用户自主选择。
[0003]对于大中型的互联网综合网站,因为业务的发展和分类,都会同时存在多个域名,比如阿里巴巴就有taoba0.com、tmall.com等域名对应不同的业务。当用户切换到不同域名下的网页时,很多参数需要重新设定,比如网页版本可能会需要重新选择,用户名需要重新填与等。
[0004]以网页版本为例,目前,当用户用浏览器打开一个网页时,网页中的javascript代码出于安全方面的考虑,是不允许跨域调用其他页面的对象的。简单地理解就是因为javascript同源策略的限制,a.com域名下的js无法操作b.com或是c.a.com域名下的网页中的对象。是否是跨域是由协议、子域、主域、端口号一起判断的。对于不同情况的跨域判断如下表所示:
[0005]表一、不同情况的跨域判断
[0006]
【权利要求】
1.一种处理HTTP请求的方法,其特征在于,包括: 接收客户端的HTTP请求及所述HTTP请求携带的指定参数; 在当前域调用与当前域预先关联的域的HTTP接口,并将所述HTTP请求中所携带的指定参数发送给所调用的HTTP接口 ;所述当前域为客户端当前访问的页面对应的域; 被调用的HTTP接口将所收到的参数保存到所述与当前域预先关联的域下的cookie中。
2.如权利要求1所述的方法,其特征在于: 在当前域通过JSONP的方式调用与当前域预先关联的域的HTTP接口 ; 所述在当前域调用与当前域预先关联的域的HTTP接口的步骤前还包括: 分别在各与当前域关联的域的服务器中,为当前域开放使用JSONP方式调用本域HTTP接口的权限。
3.如权利要求2所述的方法,其特征在于,所述在当前域调用与当前域预先关联的域的HTTP接口的步骤包括: 在当前域发送跨域调用请求给与当前域预先关联的域的HTTP接口,在所述跨域调用请求中携带回调函数的名称、所述HTTP请求中携带的指定参数、以及该与当前域预先关联的域的cookie ; 被调用的HTTP接口将所收到的参数保存到相应域下的cookie中的步骤包括: 与当前域预先关联的域的HTTP接口收到所述跨域调用请求后,使用该跨域调用请求中携带的指定参数,更新该跨域调用请求中所携带的cookie中的相应内容; 将更新后的cookie携带在所述回调函数中返回。
4.如权利要求3所述的方法,其特征在于,在当前域发送跨域调用请求给与当前域预先关联的域的HTTP接口的步骤前还包括: 当前域的服务器先从与当前域预先关联的域的服务器处获取一个令牌,在所述跨域调用请求中携带该令牌;该令牌的有效性为一次;与当前域预先关联的域的服务器缓存该令牌,并记录获取该令牌的是当前域的服务器; 所述与当前域预先关联的域的HTTP接口收到跨域调用请求的步骤后还包括: 与当前域预先关联的域的服务器判断跨域调用请求中所携带的令牌是否和缓存的、当前域的服务器所获取的令牌一致; 如果一致则进行使用该跨域调用请求中携带的指定参数更新该跨域调用请求中所携带的cookie中的相应内容的步骤;如果不一致则返回调用失败的消息。
5.如权利要求1到4中任一项所述的方法,其特征在于: 所述HTTP请求为切换网页版本的请求,该请求所携带的指定参数为所选的网页版本。
6.一种服务器,其特征在于,包括: 接收模块,用于接收客户端的HTTP请求及所述HTTP请求携带的指定参数; 调用模块,用于在本域调用与本域预先关联的域的HTTP接口,并将所述HTTP请求中所携带的指定参数发送给所调用的HTTP接口 ; 接口模块,用于当本域的HTTP接口被与本域预先关联的域调用并收到指定参数时,将该参数保存到本域下的cookie中。
7.如权利要求6所 述的服务器,其特征在于:所述调用模块在本域通过JSONP的方式调用与本域预先关联的域的HTTP接口 ; 所述接口模块还用于为与本域预先关联的域开放使用JSONP方式调用本域HTTP接口的权限。
8.如权利要求7所述的服务器,其特征在于,所述调用模块在本域调用与本域预先关联的域的HTTP接口是指: 所述调用模块在本域发送跨域调用请求给与本域预先关联的域的HTTP接口,在所述跨域调用请求中携带回调函数的名称、所述HTTP请求中携带的指定参数、以及该与本域预先关联的域的cookie ; 所述接口模块将参数保存到本域下的cookie中是指: 所述接口模块收到所述跨域调用请求后,使用该跨域调用请求中携带的所述指定参数,更新该跨域调用请求中所携带的cookie中的相应内容;将更新后的cookie携带在所述回调函数中返回。
9.如权利要求8所述的服务器,其特征在于: 所述调用模块在本域发送跨域调用请求给与本域预先关联的域的HTTP接口前,还用于先从与本域预先关联的域的服务器处获取一个令牌,在所述跨域调用请求中携带该令牌; 所述服务器还包括: 安全模块,用于根据与本域预先关联的域的服务器的请求产生一个令牌,该令牌的有效性为一次;将令牌返回给请求该令牌的服务器,缓存该令牌并记录获取该令牌的服务器; 所述接口模块当收到所述跨域调用请求后,还用于判断该跨域调用请求中所携带的令牌是否和所述安全模块缓存的、发送该跨域调用请求的服务器所获取的令牌一致;如果一致则使用该跨域调用请求中携带的指定参数更新该跨域调用请求中所携带的cookie中的相应内容;如果不一致则返回调用失败的消息。
10.如权利要求6到9中任一项所述的服务器,其特征在于: 所述HTTP请求为切换网页版本的请求,该请求所携带的指定参数为所选的网页版本。
11.一种服务器,其特征在于,包括: 接收单元,用于接收客户端的HTTP请求及所述HTTP请求携带的指定参数; 调用单元,用于在当前域调用与当前域预先关联的域的HTTP接口,并将所述HTTP请求中所携带的指定参数发送给所调用的HTTP接口 ;所述当前域为客户端当前访问的页面对应的域; HTTP接口,用于在被调用时将所收到的参数保存到本域下的cookie中。
12.如权利要求11所述的服务器,其特征在于: 所述调用单元在当前域通过JSONP的方式调用与当前域预先关联的域的HTTP接口 ; 与当前域预先关联的域的HTTP接口 还用于为当前域开放使用JSONP方式调用本HTTP接口的权限。
13.如权利要求12所述的服务器,其特征在于,所述调用单元在当前域调用与当前域预先关联的域的HTTP接口是指: 所述调用单元在当前域发送跨域调用请求给与当前域预先关联的域的HTTP接口,在所述跨域调用请求中携带回调函数的名称、所述HTTP请求中携带的指定参数、以及该与当前域预先关联的域的cookie ; 所述HTTP接口将所收到的参数保存到本域下的cookie中是指: HTTP接口收到所述跨域调用请求后,使用该跨域调用请求中携带的指定参数,更新该跨域调用请求中所携带的cookie中的相应内容;将更新后的cookie携带在所述回调函数中返回。
14.如权利要求13所述的服务器,其特征在于,还包括: 分别与各域对应的安全安单兀; 当前域对应的安全单元用于从与当前域预先关联的域对应的安全单元处获取一个令牌;该令牌的有效性为一次; 与当前域预先关联的域对应的安全单元缓存该令牌,并记录获取该令牌的是当前域; 所述调用单元在所述跨域调用请求中携带该令牌; 所述HTTP接口还用于在收到跨域调用请求后,先判断跨域调用请求中所携带的令牌是否和本域对应的安全单元缓存的、发送该跨域调用请求令牌的域所获取的令牌一致;如果一致则使用该跨域调用请求中携带的指定参数更新该跨域调用请求中所携带的cookie中的相应内容;如果不一致则返回调用失败的消息。
15.如权利要求11到14中任一项所述的服务器,其特征在于: 所述HTTP请求为切换网页版本的请求,该请求所携带的指定参数为所选的网页版本。
【文档编号】H04L29/08GK103905477SQ201210572917
【公开日】2014年7月2日 申请日期:2012年12月25日 优先权日:2012年12月25日
【发明者】杨琦 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1