发明内容
本申请提供一种用于Cookie映射的方法、装置及电子设备,以解决现有技术存在的无法对待映射的外部网站进行选择性Cookie映射的问题。本申请另外提供一种发送Cookie映射请求的方法、装置及电子设备,以及一种Cookie映射处理系统。
本申请提供一种用于Cookie映射的方法,包括:
获取预设的至少一个待映射的外部网站;以及获取客户端在当前网站的Cookie标识,作为第一Cookie标识;
根据所述第一Cookie标识和预设的筛选策略,对所述至少一个待映射的外部网站进行选取,获取所述客户端的本次需要映射的外部网站列表。
可选的,所述预设的筛选策略包括以下规则的至少一者:
规则一:将所述第一Cookie标识的与所述当前网站已经进行Cookie映射、且上次映射时间与当前时间的时间间隔大于预设的有效期的、待映射的外部网站,作为所述本次需要映射的外部网站;
规则二:将所述第一Cookie标识的未与所述当前网站进行Cookie映射的待映射的外部网站,作为所述本次需要映射的外部网站;
规则三:若所述客户端符合所述待映射的外部网站预设的映射条件,则将所述待映射的外部网站作为所述本次需要映射的外部网站。
可选的,所述预设的筛选策略包括所述规则一和所述规则二;所述根据所述第一Cookie标识和预设的筛选策略,对所述至少一个待映射的外部网站进行选取,获取所述客户端的本次需要映射的外部网站,包括:
针对各个待映射的外部网站,在预先存储的历史Cookie映射记录中,检索所述第一Cookie标识与所述待映射的外部网站的Cookie映射记录;
若上述检索结果存在,则判断检索到的Cookie映射记录包括的映射时间与当前时间的时间间隔是否大于所述预设的有效期;若是,则将所述待映射的外部网站作为所述本次需要映射的外部网站;
若上述检索结果为空,则将所述待映射的外部网站作为所述本次需要映射的外部网站。
可选的,所述历史Cookie映射记录存储在非关系型数据库中。
可选的,不同外部网站对应不同的所述映射条件。
可选的,所述预设的筛选策略包括所述规则三,所述根据所述第一Cookie标识和预设的筛选策略,对所述至少一个待映射的外部网站进行选取,获取所述客户端的本次需要映射的外部网站,包括:
获取所述客户端的信息;
针对各个待映射的外部网站,根据所述客户端的信息,判断所述客户端是否符合所述待映射的外部网站预设的所述映射条件;
若上述判断结果为是,则将所述待映射的外部网站作为所述本次需要映射的外部网站。
可选的,所述客户端的信息包括IP地址。
可选的,所述至少一个待映射外部网站存储在预设的配置文件中;所述获取预设的至少一个待映射的外部网站,采用如下方式:
读取所述配置文件,获取所述至少一个待映射外部网站。
可选的,在所述获取至少一个预设的待映射的外部网站之前,还包括:
接收所述客户端发送的对应特定网页的请求;所述特定网页是指,需要与所述至少一个待映射的外部网站进行Cookie映射的网页;
向所述客户端回送所述特定网页的内容;
接收所述特定网页通过所述客户端发送的、获取所述本次需要映射的外部网站列表的请求。
可选的,所述接收所述特定网页通过所述客户端发送的、获取所述本次需要映射的外部网站列表的请求,采用如下方式:
接收所述特定网页通过所述客户端发送的、对应预设的动态布点页面的请求;所述动态布点页面用于获取所述本次需要映射的外部网站列表。
可选的,还包括:
为所述动态布点页面设置页面缓存时间。
可选的,所述为所述动态布点页面设置页面缓存时间,采用以下方式:
在所述动态布点页面的HTTP消息头中设置所述页面缓存时间。
可选的,所述预设的筛选策略包括以下规则:
规则四:若所述特定网页包括用户隐私或商业秘密,则判定本次无需与外部网站进行Cookie映射。
可选的,所述获取所述本次需要映射的外部网站列表的请求由所述客户端通过非异步方式或异步方式发送。
可选的,还包括:
根据所述本次需要映射的外部网站列表,生成各个本次需要映射的外部网站的映射标记;
向所述客户端回送所述各个本次需要映射的外部网站的映射标记。
可选的,所述映射标记以iframe网页元素形式或img网页元素形式表示。
可选的,对于属于所述本次需要映射的外部网站的特定外部网站,还包括:
接收所述客户端发送的对应所述特定外部网站的映射标记所标识的网络资源的请求,作为第一请求;
根据所述第一请求,在所述第一Cookie标识与所述特定外部网站之间进行Cookie映射。
可选的,所述根据所述第一请求,在所述第一Cookie标识与所述特定外部网站之间进行Cookie映射,包括:
向所述客户端回送重定向指令;所述重定向指令指向所述特定外部网站提供的Cookie映射服务网址,所述重定向指令包括所述当前网站的标识和所述第一Cookie标识;
接收所述客户端发送的对应所述当前网站提供的Cookie映射服务网址的请求,作为第二请求;所述第二请求包括第二Cookie标识;
存储所述第一Cookie标识和所述第二Cookie标识的对应记录,作为所述Cookie映射记录。
可选的,所述重定向指令还包括已发送映射请求的标识和请求时间的至少一者;相应的,所述第二请求还包括所述已发送映射请求的标识和所述请求时间的至少一者。
可选的,若所述第二请求不包括第二Cookie标识,则在接收到所述第二请求之后,还包括:
判断所述第二请求包括的所述已发送映射请求的标识和所述重定向指令包括的所述发送映射请求的标识是否相同;若是,则结束本次处理。
可选的,还包括:
根据所述请求时间,对预先存储的历史Cookie映射记录进行统计处理。
相应的,本申请还提供一种用于Cookie映射的装置,包括:
获取单元,用于获取预设的至少一个待映射的外部网站;以及获取客户端在当前网站的Cookie标识,作为第一Cookie标识;
选取单元,用于根据所述第一Cookie标识和预设的筛选策略,对所述至少一个待映射的外部网站进行选取,获取所述客户端的本次需要映射的外部网站列表。
可选的,所述预设的筛选策略包括以下规则的至少一者:
规则一:将所述第一Cookie标识的与所述当前网站已经进行Cookie映射、且上次映射时间与当前时间的时间间隔大于预设的有效期的、待映射的外部网站,作为所述本次需要映射的外部网站;
规则二:将所述第一Cookie标识的未与所述当前网站进行Cookie映射的待映射的外部网站,作为所述本次需要映射的外部网站;
规则三:若所述客户端符合所述待映射的外部网站预设的映射条件,则将所述待映射的外部网站作为所述本次需要映射的外部网站。
可选的,所述预设的筛选策略包括所述规则一和所述规则二;所述选取单元包括:
检索子单元,用于针对各个待映射的外部网站,在预先存储的历史Cookie映射记录中,检索所述第一Cookie标识与所述待映射的外部网站的Cookie映射记录;
第一判定子单元,用于若上述检索结果存在,则判断检索到的Cookie映射记录包括的映射时间与当前时间的时间间隔是否大于所述预设的有效期;若是,则将所述待映射的外部网站作为所述本次需要映射的外部网站;
第二判定子单元,用于若上述检索结果为空,则将所述待映射的外部网站作为所述本次需要映射的外部网站。
可选的,所述预设的筛选策略包括所述规则三,所述选取单元包括:
获取子单元,用于获取所述客户端的信息;
判断子单元,用于针对各个待映射的外部网站,根据所述客户端的信息,判断所述客户端是否符合所述待映射的外部网站预设的所述映射条件;
第三判定子单元,用于若上述判断结果为是,则将所述待映射的外部网站作为所述本次需要映射的外部网站。
可选的,还包括:
第一接收单元,用于接收所述客户端发送的对应特定网页的请求;所述特定网页是指,需要与所述至少一个待映射的外部网站进行Cookie映射的网页;
第一回送单元,用于向所述客户端回送所述特定网页的内容;
第二接收单元,用于接收所述特定网页通过所述客户端发送的、获取所述本次需要映射的外部网站列表的请求。
可选的,所述接收所述特定网页通过所述客户端发送的、获取所述本次需要映射的外部网站列表的请求,采用如下方式:
接收所述特定网页通过所述客户端发送的、对应预设的动态布点页面的请求;所述动态布点页面用于获取所述本次需要映射的外部网站列表。
可选的,还包括:
设置缓存单元,用于为所述动态布点页面设置页面缓存时间。
可选的,还包括:
生成单元,用于根据所述本次需要映射的外部网站列表,生成各个本次需要映射的外部网站的映射标记;
第二回送单元,用于向所述客户端回送所述各个本次需要映射的外部网站的映射标记。
可选的,对于属于所述本次需要映射的外部网站的特定外部网站,还包括:
第三接收单元,用于接收所述客户端发送的对应所述特定外部网站的映射标记所标识的网络资源的请求,作为第一请求;
Cookie映射单元,用于根据所述第一请求,在所述第一Cookie标识与所述特定外部网站之间进行Cookie映射。
可选的,所述Cookie映射单元包括:
重定向子单元,用于向所述客户端回送重定向指令;所述重定向指令指向所述特定外部网站提供的Cookie映射服务网址,所述重定向指令包括所述当前网站的标识和所述第一Cookie标识;
接收子单元,用于接收所述客户端发送的对应所述当前网站提供的Cookie映射服务网址的请求,作为第二请求;所述第二请求包括第二Cookie标识;
存储子单元,用于存储所述第一Cookie标识和所述第二Cookie标识的对应记录,作为所述Cookie映射记录。
可选的,所述重定向指令还包括已发送映射请求的标识和请求时间的至少一者;相应的,所述第二请求还包括所述已发送映射请求的标识和所述请求时间的至少一者。
可选的,若所述第二请求不包括第二Cookie标识,则在接收到所述第二请求之后,所述Cookie映射单元还包括:
判断子单元,用于判断所述第二请求包括的所述已发送映射请求的标识和所述重定向指令包括的所述发送映射请求的标识是否相同;若是,则结束本次处理。
可选的,所述Cookie映射单元还包括:
根据所述请求时间,对预先存储的历史Cookie映射记录进行统计处理。
相应的,本申请还提供一种电子设备,包括:
显示器;
处理器;以及
存储器,所述存储器被配置成存储用于Cookie映射的装置,所述用于Cookie映射的装置被所述处理器执行时,包括如下步骤:获取预设的至少一个待映射的外部网站;以及获取客户端在当前网站的Cookie标识,作为第一Cookie标识;根据所述第一Cookie标识和预设的筛选策略,对所述至少一个待映射的外部网站进行选取,获取所述客户端的本次需要映射的外部网站列表。
此外,本申请还提供一种发送Cookie映射请求的方法,包括:
向特定网站发送获取本次需要映射的外部网站列表的请求;
接收所述特定网站回送的所述本次需要映射的外部网站列表;
向所述特定网站逐个发送对应各个所述本次需要映射的外部网站的Cookie映射请求。
可选的,在所述向特定网站发送获取本次需要映射的外部网站列表的请求之前,还包括:
向所述特定网站请求特定网页;所述特定网页是指,需要与预设的至少一个待映射的外部网站进行Cookie映射的网页;所述特定网站根据预设的筛选策略,对所述至少一个待映射的外部网站进行选取,获取所述本次需要映射的外部网站列表;
接收所述特定网站回送的所述特定网页的内容。
可选的,所述向特定网站发送获取本次需要映射的外部网站列表的请求,采用如下方式:
向所述特定网站发送对应预设的动态布点页面的请求;所述动态布点页面用于获取所述本次需要映射的外部网站列表。
可选的,所述接收所述特定网站回送的所述本次需要映射的外部网站列表,采用如下方式:
接收所述特定网站回送的各个本次需要映射的外部网站的映射标记;
相应的,所述向所述特定网站发送对应所述本次需要映射的外部网站的Cookie映射请求,采用如下方式:
向所述特定网站发送对应所述本次需要映射的外部网站的映射标记所标识的网络资源的请求。
可选的,所述映射标记以iframe网页元素形式或img网页元素形式表示。
可选的,在所述向所述特定网站发送对应所述本次需要映射的外部网站的Cookie映射请求之后,还包括:
接收所述特定网站回送的第一重定向指令;所述第一重定向指令指向所述本次需要映射的外部网站提供的Cookie映射服务网址,所述第一重定向指令包括所述特定网站的标识和当前客户端在所述特定网站的Cookie标识,作为第一Cookie标识;
根据所述第一重定向指令,向所述本次需要映射的外部网站发送Cookie映射请求;
接收所述本次需要映射的外部网站回送的第二重定向指令;所述第二重定向指令指向所述特定网站提供的Cookie映射服务网址,所述第二重定向指令包括所述当前客户端在所述本次需要映射的外部网站的Cookie标识,作为第二Cookie标识;
根据所述第二重定向指令,向所述特定网站发送对应所述特定网站提供的Cookie映射服务网址的请求;所述对应所述特定网站提供的Cookie映射服务网址的请求包括第二Cookie标识。
可选的,所述第一重定向指令还包括所述特定网站预先生成的已发送映射请求的标识和请求时间的至少一者;相应的,所述第二重定向指令还包括所述已发送映射请求的标识和所述请求时间的至少一者。
可选的,通过非异步方式或异步方式,发送所述获取本次需要映射的外部网站列表的请求。
相应的,本申请还提供一种发送Cookie映射请求的装置,包括:
第一发送单元,用于向特定网站发送获取本次需要映射的外部网站列表的请求;
第一接收单元,用于接收所述特定网站回送的所述本次需要映射的外部网站列表;
第二发送单元,用于向所述特定网站逐个发送对应各个所述本次需要映射的外部网站的Cookie映射请求。
可选的,还包括:
第三发送单元,用于向所述特定网站请求特定网页;所述特定网页是指,需要与预设的至少一个待映射的外部网站进行Cookie映射的网页;所述特定网站根据预设的筛选策略,对所述至少一个待映射的外部网站进行选取,获取所述本次需要映射的外部网站列表;
第二接收单元,用于接收所述特定网站回送的所述特定网页的内容。
可选的,还包括:
第三接收单元,用于接收所述特定网站回送的第一重定向指令;所述第一重定向指令指向所述本次需要映射的外部网站提供的Cookie映射服务网址,所述第一重定向指令包括所述特定网站的标识和当前客户端在所述特定网站的Cookie标识,作为第一Cookie标识;
第四发送单元,用于根据所述第一重定向指令,向所述本次需要映射的外部网站发送Cookie映射请求;
第四接收单元,用于接收所述本次需要映射的外部网站回送的第二重定向指令;所述第二重定向指令指向所述特定网站提供的Cookie映射服务网址,所述第二重定向指令包括所述当前客户端在所述本次需要映射的外部网站的Cookie标识,作为第二Cookie标识;
第五发送单元,用于根据所述第二重定向指令,向所述特定网站发送对应所述特定网站提供的Cookie映射服务网址的请求;所述对应所述特定网站提供的Cookie映射服务网址的请求包括第二Cookie标识。
相应的,本申请还提供一种电子设备,包括:
显示器;
处理器;以及
存储器,所述存储器被配置成存储发送Cookie映射请求的装置,所述发送Cookie映射请求的装置被所述处理器执行时,包括如下步骤:向特定网站发送获取本次需要映射的外部网站列表的请求;接收所述特定网站回送的所述本次需要映射的外部网站列表;向所述特定网站逐个发送对应各个所述本次需要映射的外部网站的Cookie映射请求。
此外,本申请还提供一种Cookie映射处理系统,包括:根据上述任一种所述的用于Cookie映射的装置、任一种所述的发送Cookie映射请求的装置,以及至少一个外部网站的Cookie映射处理装置。
与现有技术相比,本申请具有以下优点:
本申请提供的一种用于Cookie映射的方法、装置及电子设备,通过获取预设的至少一个待映射的外部网站,以及获取客户端在当前网站的Cookie标识,并根据Cookie标识和预设的筛选策略,对所述至少一个待映射的外部网站进行选取,从而获取所述客户端的本次需要映射的外部网站列表。由于本方法能够有选择的对来访客户端进行有针对性的Cookie映射行为,避免每次均需与所述至少一个待映射的外部网站进行Cookie映射,从而能够达到节省网络流量的效果。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请中,提供了一种用于Cookie映射的方法、装置及电子设备,一种发送Cookie映射请求的方法、装置及电子设备,以及一种Cookie映射处理系统。在下面的实施例中逐一进行详细说明。
本申请实施例提供的用于Cookie映射的方法,其核心的基本思想是:根据预设的筛选策略对多个待映射的外部网站进行选取,以获取当前用户的本次需要映射的外部网站。由于本申请提供的方法能够对待映射的外部网站进行筛选,避免每次均需与多个待映射的外部网站进行Cookie映射,因而能够达到节省网络流量的效果。
请参考图1,其为本申请的用于Cookie映射的方法实施例的流程图。所述方法包括如下步骤:
步骤S101:获取预设的至少一个待映射的外部网站;以及获取客户端在当前网站的Cookie标识,作为第一Cookie标识。
本申请实施例所述的待映射的外部网站是指,需要与当前网站进行Cookie映射的外部网站,包括第三方网站等。本申请实施例所述的客户端是指安装有万维网服务浏览器的设备,包括但不限于个人电脑,还包括PAD、iPad等终端设备,以及移动通讯设备,即:通常所说的手机或者智能手机。
本申请实施例所述的Cookie标识是网站给客户端的一个唯一标志,用于识别该客户端。Cookie是浏览器在客户端本地记录的信息,用于记录上次浏览行为的状态,或记录用户的一些设置。一个网站记录的Cookie当且仅当在访问该站点时可以存取。本申请实施例提供的用于Cookie映射的方法,用于建立客户端分别在当前网站和至少一个待映射的外部网站的Cookie标识之间的映射关系。因此,要实施本申请提供的方法,首先需要获取所述客户端在当前网站的Cookie标识。
要实施本申请提供的方法,还需要获取预设的至少一个待映射的外部网站。在本实施例中,所述至少一个待映射的外部网站分别预先与当前网站协商确定,当用户访问当前网站的特定网页时,需要与所述至少一个待映射的外部网站进行Cookie映射。为了能够实现根据预设的筛选策略对所述至少一个待映射的外部网站进行筛选,本申请实施例将所述至少一个待映射的外部网站统一存储在预设的配置文件中,而非像现有技术将所述至少一个待映射的外部网站的映射标记直接设置在所述特定网页中。客户端浏览器通过所述映射标记能够发起对映射标记中的外部网站的Cookie映射操作。
由于本申请实施例将所述至少一个待映射的外部网站统一存储在预设的配置文件中,因此,获取预设的至少一个待映射的外部网站,采用如下方式:读取所述配置文件,获取所述至少一个待映射外部网站。
需要注意的是,采用现有技术进行Cookie映射处理时,由于现有技术将待映射的外部网站的映射标记直接设置在特定网页中,因此,如果当前网站需要对接新增的外部网站,则需要直接修改特定网页,在该网页中部署新增的外部网站映射标记。可见,现有技术会导致前端页面重复开发及部署,从而出现服务器不稳定的问题。
本申请实施例提供的用于Cookie映射的方法,将所述至少一个待映射的外部网站统一部署在预设的配置文件中,因此,当需要引入外部网站时无需修改特定网页,而只需要直接修改配置文件即可。可见,通过本申请提供的用于Cookie映射的方法,能够避免在引入新增外部网站时重复开发、部署前端页面,从而达到降低开发和部署成本的效果。
应用本申请实施例提供的用于Cookie映射的方法,当客户端请求所述特定网页时,能够动态的获取所述客户端的本次需要映射的外部网站。请参考图2,其为本申请的用于Cookie映射的方法实施例的对象交互顺序图。由图2可见,在获取预设的至少一个待映射的外部网站,以及客户端在当前网站的Cookie标识之前,客户端浏览器与当前网站的服务器之间的交互过程包括如下步骤:
1)客户端浏览器向当前网站的服务器请求所述特定网页;相应的,当前网站的服务器接收到该请求后,根据该请求向客户端浏览器返回所述特定网页的内容。
例如,当前网站为cmap.alibaba.com,该网站中的特定网页xxx.html需要与所述至少一个待映射的外部网站进行Cookie映射,该特定网页中的部分脚本语句(例如,javascript或vbscript脚本程序等)用于向当前网站的服务器请求所述客户端的本次需要映射的外部网站列表。
2)客户端浏览器根据所述特定网页中的脚本语句向当前网站的服务器请求获取所述客户端的本次需要映射的外部网站列表。
本申请实施例通过动态布点页面(例如,ml.html),实现获取本次需要映射的外部网站列表功能。客户端发送的所述获取本次需要映射的外部网站列表的请求具体为:http://cmap.alibaba.com/ml.html?cna=abcdefg12345,其中cna为请求所带的参数,该参数表示客户端在当前网站的Cookie标识。由此可见,当客户端向当前网站的服务器请求网页时,会将有效的Cookie一起发送给服务器,Cookie包含在HTTP请求的头部中。通常,如果一个Cookie的域(domain)和路径(path)与请求的网页URL相匹配,那么这个Cookie就是有效的。
当前网站的服务器接收到所述获取本次需要映射的外部网站列表的请求后,通过请求中的参数即可获取到客户端在当前网站的Cookie标识。同时,当前网站的服务器执行本申请实施例提供的用于Cookie映射的方法。
在当前网站的服务器获取到预设的至少一个待映射的外部网站,以及获取客户端在当前网站的Cookie标识之后,就可以继续执行步骤S103,发起根据预设的筛选策略对所述至少一个待映射的外部网站进行筛取的操作。
步骤S103:根据所述第一Cookie标识和预设的筛选策略,对所述至少一个待映射的外部网站进行选取,获取所述客户端的本次需要映射的外部网站列表。
本申请实施例提供的用于Cookie映射的方法,能够根据预设的筛选策略对待映射的外部网站进行选择性的映射,例如,判断本次是否需要与所述至少一个待映射的外部网站做Cookie映射,以及对哪些外部网站做Cookie映射。下面列举本申请实施例所应用的筛选策略中包括的一些具体规则。
规则一、将所述第一Cookie标识的与所述当前网站已经进行Cookie映射、且上次映射时间与当前时间的时间间隔大于预设的有效期的、待映射的外部网站,作为所述本次需要映射的外部网站。
通过规则一能够筛选出与当前网站已经做过Cookie映射的待映射的外部网站,但该映射操作发生的时间与当前时间的时间间隔超出了预设的有效期,即:对应的Cookie映射记录已经失效。
规则二、将所述第一Cookie标识的未与所述当前网站进行Cookie映射的待映射的外部网站,作为所述本次需要映射的外部网站。
通过规则二能够筛选出还没有与当前网站进行过Cookie映射的待映射的外部网站。
规则三、若所述客户端符合所述待映射的外部网站预设的映射条件,则将所述待映射的外部网站作为所述本次需要映射的外部网站。
通过规则三能够对客户端是否有权与特定待映射的外部网站做Cookie映射进行限定,如果客户端符合特定待映射的外部网站预设的映射条件,则该特定待映射的外部网站成为本次需要映射的外部网站。
需要说明的是,本申请实施例所述的筛选策略包括但不限于上述规则,在实际应用中,可以根据具体需求设计筛选策略,筛选策略可以包括一个或多个规则。例如,可以从算法实验需求的角度设计筛选策略。举例说明,从算法实验需求的角度设计出的筛选策略可以包括以下规则:通过对人群进行判断,仅对男性用户做Cookie映射;或者,对30%的人群做Cookie映射。上述这些不同形式的规则,都只是具体实施方式的变更,都不偏离本申请的核心,因此都在本申请的保护范围之内。
在本实施例中,所述预设的筛选策略包括所述规则一和所述规则二;步骤S103包括:1)针对各个待映射的外部网站,在预先存储的历史Cookie映射记录中,检索所述第一Cookie标识与所述待映射的外部网站的Cookie映射记录;2)若上述检索结果存在,则判断检索到的Cookie映射记录包括的映射时间与当前时间的时间间隔是否大于所述预设的有效期;若是,则将所述待映射的外部网站作为所述本次需要映射的外部网站;3)若上述检索结果为空,则将所述待映射的外部网站作为所述本次需要映射的外部网站。
1)针对各个待映射的外部网站,在预先存储的历史Cookie映射记录中,检索所述第一Cookie标识与所述待映射的外部网站的Cookie映射记录。
本申请实施例所述的历史Cookie映射记录包括客户端分别在当前网站和外部网站的Cookie标识,以及映射时间等信息。在实际应用中,可以以各种不同的存储格式存储历史Cookie映射记录,例如,数据库或文本格式等。上述这些不同的存储格式,都只是具体实施方式的变更,都不偏离本申请的核心,因此都在本申请的保护范围之内。
在实际应用中,网站通常拥有大量的用户,从而具有大量的客户端Cookie标识,出于存储空间和存取效率的考虑,本申请实施例采用非关系型数据库存储历史Cookie映射记录,例如,非关系型的KV数据库。
在本实施例中,筛选策略包括所述规则一和所述规则二,检索过程为:分别以每个待映射的外部网站作为检索条件,在历史Cookie映射记录中查询所述第一Cookie标识与所述待映射的外部网站的Cookie映射记录。
2)若上述检索结果存在,则判断检索到的Cookie映射记录包括的映射时间与当前时间的时间间隔是否大于所述预设的有效期;若是,则将所述待映射的外部网站作为所述本次需要映射的外部网站。
规则一是将与所述第一Cookie标识已经进行Cookie映射、且映射时间在预设的有效期外的待映射的外部网站,作为所述本次需要映射的外部网站。因此,当在历史Cookie映射记录中查询到所述第一Cookie标识与所述待映射的外部网站的Cookie映射记录时,还需要判断检索到的Cookie映射记录包括的映射时间与当前时间的时间间隔是否大于预设的有效期。若检索到的Cookie映射记录在预设的有效期以外,则将所述待映射的外部网站作为所述本次需要映射的外部网站。在本实施例中,将所述预设的有效期设定为三十天,即:对三十天内的Cookie映射记录涉及到的外部网站不做Cookie映射处理,从而减少发起跨域请求的数量,达到节省网络流量的效果。
3)若上述检索结果为空,则将所述待映射的外部网站作为所述本次需要映射的外部网站。
若通过步骤1)没有检索到Cookie映射记录时,则表示没有与该外部网站进行过Cookie映射操作,因此,将该外部网站也作为所述本次需要映射的外部网站。
在本实施例中,所述预设的筛选策略还包括所述规则三,步骤S103包括:1)获取所述客户端的信息;2)针对各个待映射的外部网站,根据所述客户端的信息,判断所述客户端是否符合所述待映射的外部网站预设的所述映射条件;3)若上述判断结果为是,则将所述待映射的外部网站作为所述本次需要映射的外部网站。
1)获取所述客户端的信息。
本申请实施例所述的客户端的信息包括IP地址、浏览器类型、所述特定网页的统一资源定位符(URL)或请求参数等信息。上述客户端的信息通过所述对应特定网页的请求一同发送给当前网站的服务器。当前网站的服务器根据所述对应特定网页的请求,获取到客户端的信息。
2)针对各个待映射的外部网站,根据所述客户端的信息,判断所述客户端是否符合所述待映射的外部网站预设的所述映射条件。
本申请实施例所述的预设的映射条件是指由待映射的外部网站设定的映射条件。在实际应用中,不同外部网站可以分别设定不同的映射条件。在本实施例中,映射条件包括访问外部网站的客户端所在的国家与区域等。例如,在对接某些国家特定的广告网络的时候,出于财务结算等等考虑,需要限定只在某些国家内的用户做Cookie映射,此时,就可以根据获取到的客户端的IP地址信息来判断该客户端所在的国家和地区,从而决定是否进行Cookie映射行为。
3)若上述判断结果为是,则将所述待映射的外部网站作为所述本次需要映射的外部网站。
如果通过上述步骤2)判定所述客户端符合某个外部网站预设的映射条件,则将该外部网站也作为所述本次需要映射的外部网站。
本申请实施例的采用的筛选策略还包括以下规则:
规则四、若所述特定网页包括用户隐私或商业秘密,则判定本次无需与外部网站进行Cookie映射。
规则四的设计目的是要对携带敏感信息的特定网页进行保护。由于所述特定网页可能会携带某些敏感信息,例如,URL中的用户登录信息、结算信息等等,出于用户隐私和商业机密的角度考虑,需要对这些信息进行保护,在特定页面为敏感页面时不向外部网站发起Cookie映射操作。
通过上述步骤S101和步骤S103,能够根据预设的筛选策略对所述至少一个待映射的外部网站进行选取,以获取客户端的本次需要映射的外部网站列表。
需要注意的是,在实际应用中,所述特定网页通过所述客户端发送所述获取所述本次需要映射的外部网站列表的请求时,既可以通过非异步方式发送,还可以通过异步方式发送。采用非异步方式发送请求的特点是,当客户端访问所述特定网页时,直接由本申请实施例提供的方法获取本次需要映射的外部网站列表,而无须在所述特定网页加载完毕后再异步向当前网站的服务器发送所述请求。可见,通过非异步方式发送请求能够提高Cookie映射的处理速度。
请参看图3,其为本申请的用于Cookie映射的装置实施例的后续处理流程图。在本实施例中,通过上述步骤S101和步骤S103获取到所述客户端的本次需要映射的外部网站列表之后,还包括:
步骤S301:根据所述本次需要映射的外部网站列表,生成各个本次需要映射的外部网站的映射标记。
本申请实施例所述的映射标记是指包括所述本次需要映射的外部网站名称的网站资源,该网站资源位于当前网站,可以为图片资源(对应img网页元素)或内联框架资源(对应iframe网页元素)等。例如,映射标记为http://cmap.alibaba.com/google.gif或http://cmap.alibaba.com/bing.gif,表示所述客户端本次访问需要和google和bing两个外部网站进行Cookie映射行为。客户端浏览器通过访问所述映射标记标识的网站资源,发起对外部网站的Cookie映射操作。因此,在获取到所述客户端的本次需要映射的外部网站列表后,还需要生成各个本次需要映射的外部网站的映射标记。
需要说明的是,本申请实施例所述的映射标记标识的网站资源可以以iframe或img等网页元素形式表示。其中,以img元素形式表示的映射标记结构如下:<img src="映射标记"/>,例如,<img src="http://cmap.alibaba.com/google.GIF"/>。在实际应用中,为了隐藏映射标识的网站资源,通常设置该资源大小为1个像素。
步骤S303:向所述客户端回送所述各个本次需要映射的外部网站的映射标记。
通过步骤S301生成各个本次需要映射的外部网站的映射标记之后,就可以向客户端返回各个本次需要映射的外部网站的映射标记。本申请实施例通过上述动态布点页面,向客户端返回各个本次需要映射的外部网站的映射标记。在实际应用中,可以将本次需要映射的外部网站的映射标记封装到一个json格式的字符串中返回,例如,返回[‘http://cmap.alibaba.com/google.gif’,‘http://cmap.alibaba.com/bing.gif’],表示所述客户端本次访问需要和google和bing两个外部网站进行Cookie映射行为。
由图2可见,客户端接收到服务器返回的各个本次需要映射的外部网站的映射标记之后,将依次顺序访问每一个映射标记标识的网络资源,即:向当前网站的服务器请求与映射标记中的特定外部网站进行Cookie映射。对于每一个映射标记,客户端浏览器与当前网站的服务器之间的交互过程包括如下步骤:
1)接收所述客户端发送的对应所述特定外部网站的映射标记所标识的网络资源的请求。
本步骤接收到的是交互过程中来自客户端的第一请求。在本实施例中,第一请求是指:映射到所述特定外部网站的cms像素(Cookie Mapping Service,Cookie映射服务)的请求,例如,对于<img src="http://cmap.alibaba.com/google.gif"/>的请求。
2)根据所述第一请求,在所述第一Cookie标识与所述特定外部网站之间进行Cookie映射。
当前网站的服务器接收到第一请求后,根据第一请求,在所述第一Cookie标识与所述特定外部网站之间进行Cookie映射。请参考图4,其为本申请的用于Cookie映射的方法实施例的Cookie映射流程图。在本实施例中,根据所述第一请求,在所述第一Cookie标识与所述特定外部网站之间进行Cookie映射,包括:
步骤S401:向所述客户端回送重定向指令。
重定向指令(即:302重定向,又称之为302代表暂时性转移或暂时重定向,英文名称:302redirect)是一种服务器端的重定向,一条对网站浏览器的指令来显示浏览器被要求显示的不同的URL,当一个网页经历过短期的URL的变化时使用。
当前网站的服务器接收到第一请求后,发送一个重定向指令给客户端浏览器,该重定向指令指向所述特定外部网站提供的Cookie映射服务网址,该重定向指令包括所述当前网站的标识和所述第一Cookie标识,例如,对于<imgsrc="http://cmap.alibaba.com/google.GIF"/>的请求,当前网站发起到google网站的302跳转请求为:http://www.google.com/pixel.gif?network=alibaba&uid=abcde,该URL包含的参数名network为当前网站的标识,参数名uid为客户端在当前网站的Cookie标识,参数名network和uid是Cookie映射约定中规定的传输字段。客户端浏览器接收到重定向指令后,将向所述特定外部网站请求Cookie映射服务。所述特定外部网站接收到请求后,将再发送一个重定向指令给客户端浏览器,该重定向指令指向所述当前网站提供的Cookie映射服务网址,该重定向指令包括所述客户端在所述特定外部网站的Cookie标识,例如,跳回到当前网站的请求可能为:http://cmap.alibaba.com/google.gif?google_id=12355AAEE,该URL包含的参数名google_id为客户端在所述特定外部网站的Cookie标识。
步骤S403:接收所述客户端发送的对应所述当前网站提供的Cookie映射服务网址的请求,作为第二请求;所述第二请求包括第二Cookie标识。
当前网站的服务器接收到第二请求,并根据所述第二请求获取到所述客户端在所述外部网站的Cookie标识。
需要注意的是,第一请求和第二请求的网址是相同的,但是第一请求中不带有第二Cookie标识参数,而第二请求中带有第二Cookie标识参数。当前网站的服务器在接收到第一请求后,由于该请求中不带有第二Cookie标识参数,因此将返回重定向指令,以获取第二Cookie标识;而在接收到第二请求后,由于该请求中带有第二Cookie标识参数,因此将进入到步骤S405。
步骤S405:存储所述第一Cookie标识和所述第二Cookie标识的对应记录,作为所述Cookie映射记录。
当前网站的服务器根据所述第二请求,将所述第一Cookie标识和所述第二Cookie标识的对应记录存储到历史Cookie映射记录中。至此,处理完成对应所述特定外部网站的映射标记所标识的网络资源的请求,即:建立所述客户端的所述当前网站与所述特定外部网站之间的Cookie映射记录。
需要注意的是,第一请求和第二请求的网址是相同的,当第二请求中不带有第二Cookie标识参数时,则当前网站的服务器将无法区分第一请求和第二请求。可见,由于服务器端是无状态的,在与外部网站进行Cookie映射过程中的不同阶段无法进行状态判断,如果外部网站没有返回Cookie标识,则客户端将会反复向外部网站发送请求,以获取第二Cookie标识,因而极大地浪费了网络资源。
为了解决该问题,本申请实施例提供的用于Cookie映射的方法,在和外部网站做Cookie映射时,会预先和外部网站做一个约定,即:通过重定向指令传递的参数,除去外部网站必须的参数(包括:当前网站的标识和第一Cookie标识)之外,其他部分必须原封不动地在最后一个302跳转时返回回来。例如,当前网站发起到google网站的302跳转请求为:http://www.google.com/pixel.gif?network=alibaba&uid=abcde&loop=1&ts=1432319340,该URL包含的参数名network为当前网站的标识,参数名uid为客户端在当前网站的Cookie标识,参数名network和uid是Cookie映射约定中规定的传输字段;而参数名loop和ts属于额外字段,loop为已发送映射请求的标识,ts为请求时间,在跳转回当前网站alibaba的时候,这两个字段必须带上(这由外部网站通过合作协议保证),因此跳回当前alibaba的请求可能是:http://cmap.alibaba.com/google.gif?google_id=12355AAEE&loop=1&ts=1432319340。
通过这种约定机制,使得能够在无状态的服务器中加入状态描述。例如,上例的loop=1,当前网站的服务器收到第二请求的时候,通过判断该请求包括的已发送映射请求的标识和之前生成的重定向指令包括的已发送映射请求的标识是否相同,即可获知该请求是否曾经是当前网站发起的,若是,则即使由于某些原因外部网站发送的重定向指令没有带上参数google_id而返回了,当前网站也不会再次将这个请求尝试发送给外部网站www.google.com,这样就避免了造成302跳转的死循环。可见,通过该处理方式能够有效应对各种网络错误状态,防止反复请求。
此外,上例的参数名ts表示当前网站向外部网站发起Cookie映射请求的时间。本申请实施例提供的用于Cookie映射的方法,还包括:根据所述请求时间,对预先存储的历史Cookie映射记录进行统计处理。通过记录请求时间等信息,可以实现统计映射事件发生时间、追踪日志等高级功能。
本申请实施例提供的用于Cookie映射的方法,根据预设的筛选策略,服务器端通过判断,能够实现对已经映射的Cookie标识在所述预设的有效期内不会再次执行映射操作。然而,执行该筛选策略的过程中需要服务器端不断的查询数据库进行判断,即:每次客户端访问特定网页时均会查询数据库,从而对数据库产生较大的压力。
为了降低服务器端数据库的压力,本申请实施例提供的用于Cookie映射的方法,利用HTTP的缓存机制为所述动态布点页面设置页面缓存时间,即:通过设置页面缓存在客户端存活的秒数,以控制客户端对同一网页发起请求的时间间隔。在HTTP 1.1协议中,网页的缓存是由HTTP消息头中的“Cache-control”来控制的。根据统计数据,通常在一个小时以内,客户端是不会有身份信息变化的。因此,本申请实施例在映射标记和动态布点页面的响应头(http header域)中设定:Cache-Control:max-age=3600,表明缓存时间是一小时,只使用这样一个声明就可以使浏览器能够将这个HTTP响应的内容写入临时目录做缓存,即:如果客户端在一小时内重复发起对动态布点网页的请求,则浏览器将使用缓存内容获取网页内容,而非将请求重新发送到服务器。通过对HTTP资源的这种缓存设置,即可让客户端在预设的时间间隔之内不再请求相同的网络资源,即:不启动本申请实施例提供的用于Cookie映射的方法,从而能够达到降低服务器压力的效果。
在上述的实施例中,提供了一种用于Cookie映射的方法,与之相对应的,本申请还提供一种用于Cookie映射的装置。该装置是与上述方法的实施例相对应。
请参看图5,其为本申请的用于Cookie映射的装置实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例的一种用于Cookie映射的装置,包括:
获取单元101,用于获取预设的至少一个待映射的外部网站;以及获取客户端在当前网站的Cookie标识,作为第一Cookie标识;
选取单元103,用于根据所述第一Cookie标识和预设的筛选策略,对所述至少一个待映射的外部网站进行选取,获取所述客户端的本次需要映射的外部网站列表。
可选的,所述预设的筛选策略包括以下规则的至少一者:
规则一:将所述第一Cookie标识的与所述当前网站已经进行Cookie映射、且上次映射时间与当前时间的时间间隔大于预设的有效期的、待映射的外部网站,作为所述本次需要映射的外部网站;
规则二:将所述第一Cookie标识的未与所述当前网站进行Cookie映射的待映射的外部网站,作为所述本次需要映射的外部网站;
规则三:若所述客户端符合所述待映射的外部网站预设的映射条件,则将所述待映射的外部网站作为所述本次需要映射的外部网站。
可选的,所述预设的筛选策略包括所述规则一和所述规则二;所述选取单元103包括:
检索子单元,用于针对各个待映射的外部网站,在预先存储的历史Cookie映射记录中,检索所述第一Cookie标识与所述待映射的外部网站的Cookie映射记录;
第一判定子单元,用于若上述检索结果存在,则判断检索到的Cookie映射记录包括的映射时间与当前时间的时间间隔是否大于所述预设的有效期;若是,则将所述待映射的外部网站作为所述本次需要映射的外部网站;
第二判定子单元,用于若上述检索结果为空,则将所述待映射的外部网站作为所述本次需要映射的外部网站。
可选的,所述预设的筛选策略包括所述规则三,所述选取单元103包括:
获取子单元,用于获取所述客户端的信息;
判断子单元,用于针对各个待映射的外部网站,根据所述客户端的信息,判断所述客户端是否符合所述待映射的外部网站预设的所述映射条件;
第三判定子单元,用于若上述判断结果为是,则将所述待映射的外部网站作为所述本次需要映射的外部网站。
请参看图6,其为本申请的用于Cookie映射的装置实施例的具体示意图。可选的,还包括:
第一接收单元201,用于接收所述客户端发送的对应特定网页的请求;所述特定网页是指,需要与所述至少一个待映射的外部网站进行Cookie映射的网页;
第一回送单元203,用于向所述客户端回送所述特定网页的内容;
第二接收单元205,用于接收所述特定网页通过所述客户端发送的、获取所述本次需要映射的外部网站列表的请求。
可选的,所述接收所述特定网页通过所述客户端发送的、获取所述本次需要映射的外部网站列表的请求,采用如下方式:
接收所述特定网页通过所述客户端发送的、对应预设的动态布点页面的请求;所述动态布点页面用于获取所述本次需要映射的外部网站列表。
可选的,还包括:
设置缓存单元,用于为所述动态布点页面设置页面缓存时间。
可选的,还包括:
生成单元301,用于根据所述本次需要映射的外部网站列表,生成各个本次需要映射的外部网站的映射标记;
第二回送单元303,用于向所述客户端回送所述各个本次需要映射的外部网站的映射标记。
可选的,对于属于所述本次需要映射的外部网站的特定外部网站,还包括:
第三接收单元,用于接收所述客户端发送的对应所述特定外部网站的映射标记所标识的网络资源的请求,作为第一请求;
Cookie映射单元,用于根据所述第一请求,在所述第一Cookie标识与所述特定外部网站之间进行Cookie映射。
可选的,所述Cookie映射单元包括:
重定向子单元,用于向所述客户端回送重定向指令;所述重定向指令指向所述特定外部网站提供的Cookie映射服务网址,所述重定向指令包括所述当前网站的标识和所述第一Cookie标识;
接收子单元,用于接收所述客户端发送的对应所述当前网站提供的Cookie映射服务网址的请求,作为第二请求;所述第二请求包括第二Cookie标识;
存储子单元,用于存储所述第一Cookie标识和所述第二Cookie标识的对应记录,作为所述Cookie映射记录。
可选的,所述重定向指令还包括已发送映射请求的标识和请求时间的至少一者;相应的,所述第二请求还包括所述已发送映射请求的标识和所述请求时间的至少一者。
可选的,若所述第二请求不包括第二Cookie标识,则在接收到所述第二请求之后,所述Cookie映射单元还包括:
判断子单元,用于判断所述第二请求包括的所述已发送映射请求的标识和所述重定向指令包括的所述发送映射请求的标识是否相同;若是,则结束本次处理。
可选的,所述Cookie映射单元还包括:
根据所述请求时间,对预先存储的历史Cookie映射记录进行统计处理。
请参考图7,其为本申请的电子设备实施例的示意图。由于设备实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的设备实施例仅仅是示意性的。
本实施例的一种电子设备,该电子设备包括:显示器701;处理器702;以及存储器703,所述存储器703被配置成存储用于Cookie映射的装置,所述用于Cookie映射的装置被所述处理器702执行时,包括如下步骤:获取预设的至少一个待映射的外部网站;以及获取客户端在当前网站的Cookie标识,作为第一Cookie标识;根据所述第一Cookie标识和预设的筛选策略,对所述至少一个待映射的外部网站进行选取,获取所述客户端的本次需要映射的外部网站列表。
本申请提供的一种用于Cookie映射的方法、装置及电子设备,通过获取预设的至少一个待映射的外部网站,以及获取客户端在当前网站的Cookie标识,并根据Cookie标识和预设的筛选策略,对所述至少一个待映射的外部网站进行选取,从而获取所述客户端的本次需要映射的外部网站列表。由于本方法能够有选择的对来访客户端进行有针对性的Cookie映射行为,避免每次均需与所述至少一个待映射的外部网站进行Cookie映射,从而能够达到节省网络流量的效果。
与上述的用于Cookie映射的方法相对应,本申请还提供一种发送Cookie映射请求的方法。请参考图8,其为本申请提供的一种发送Cookie映射请求的方法的实施例的流程示意图,本实施例与第一实施例内容相同的部分不再赘述,请参见实施例一中的相应部分。本申请提供的一种发送Cookie映射请求的方法包括:
步骤S801:向特定网站发送获取本次需要映射的外部网站列表的请求。
本申请实施例提供的发送Cookie映射请求的方法,由客户端在请求特定网页时,向特定网页所在的特定网站发送获取本次需要映射的外部网站列表的请求。本申请实施例所述的特定网页是指,需要与预设的至少一个待映射的外部网站进行Cookie映射的网页。所述特定网站根据预设的筛选策略,对所述至少一个待映射的外部网站进行选取,获取所述本次需要映射的外部网站列表。
由图2可见,本申请实施例提供的发送Cookie映射请求的方法,在所述向特定网站发送获取本次需要映射的外部网站列表的请求之前,还包括:1)向所述特定网站请求特定网页;2)接收所述特定网站回送的所述特定网页的内容。
1)向所述特定网站请求特定网页。
例如,特定网站为cmap.alibaba.com,该网站中的特定网页xxx.html需要与所述至少一个待映射的外部网站进行Cookie映射。客户端向所述特定网站请求特定网页的URL为:http://cmap.alibaba.com/xxx.html。
2)接收所述特定网站回送的所述特定网页的内容。
在本实施例中,特定网站的服务器接收到对特定网页的请求后,向发起请求的客户端浏览器返回特定网页的内容。客户端浏览器接收到特定网站回送的特定网页的内容之后,根据特定网页中的部分脚本语句(例如,javascript或vbscript脚本程序等)向特定网站的服务器请求所述客户端的本次需要映射的外部网站列表。
在本实施例中,特定网站通过动态布点页面(例如,ml.html),实现获取本次需要映射的外部网站列表功能,因此,所述向特定网站发送获取本次需要映射的外部网站列表的请求,采用如下方式:向所述特定网站发送对应预设的动态布点页面的请求;所述动态布点页面用于获取所述本次需要映射的外部网站列表。例如,客户端发送的所述获取本次需要映射的外部网站列表的请求具体为:http://cmap.alibaba.com/ml.html?cna=abcdefg12345,其中cna为请求所带的参数,该参数表示客户端在特定网站的Cookie标识。
需要注意的是,在实际应用中,客户端发送所述获取本次需要映射的外部网站列表的请求时,既可以通过非异步方式发送,还可以通过异步方式发送。采用非异步方式发送请求的特点是,当客户端无需等待加载完成特定网页后再发起所述获取本次需要映射的外部网站列表的请求。可见,通过非异步方式发送请求能够提高Cookie映射的处理速度。
步骤S803:接收所述特定网站回送的所述本次需要映射的外部网站列表。
特定网站的服务器响应所述获取本次需要映射的外部网站列表的请求,根据预设的筛选策略对预设的至少一个待映射的外部网站进行选取,以获取客户端的本次需要映射的外部网站列表,并将该列表返回给客户端。
由于客户端通常是根据待映射外部网站的映射标记,发起对待映射外部网站的Cookie映射请求。因此,在本实施例中,所述接收所述特定网站回送的所述本次需要映射的外部网站列表,采用如下方式:接收所述特定网站回送的各个本次需要映射的外部网站的映射标记。
本申请实施例所述的映射标记是指包括所述本次需要映射的外部网站名称的网站资源,该网站资源位于特定网站,可以为图片资源(对应img网页元素)或内联框架资源(对应iframe网页元素)等。例如,映射标记为http://cmap.alibaba.com/google.gif或http://cmap.alibaba.com/bing.gif,表示所述客户端本次访问需要和google和bing两个外部网站进行Cookie映射行为。客户端浏览器通过访问所述映射标记标识的网站资源,发起对外部网站的Cookie映射操作。
步骤S805:向所述特定网站逐个发送对应各个所述本次需要映射的外部网站的Cookie映射请求。
客户端接收到特定网站的服务器返回的各个本次需要映射的外部网站的映射标记之后,将依次顺序访问每一个映射标记标识的网络资源,即:向特定网站的服务器请求与映射标记中的特定外部网站进行Cookie映射。对于每一个映射标记,客户端浏览器与特定网站的服务器之间的交互过程如上述实施例一所述,相同之处此处不再赘述,相关说明详见实施例一部分,下述描述仅仅是示意性的。
在本实施例中,所述向所述特定网站发送对应所述本次需要映射的外部网站的Cookie映射请求,采用如下方式:向所述特定网站发送对应所述本次需要映射的外部网站的映射标记所标识的网络资源的请求。例如,映射标记为<imgsrc="http://cmap.alibaba.com/google.GIF"/>,其中cmap.alibaba.com表示特定网站,google标识外部网站的名称。
所述特定网站接收到对映射标记所标识的网络资源的请求之后,响应该请求,向客户端发送一个重定向指令,该重定向指令指向所述本次需要映射的外部网站提供的Cookie映射服务网址,该重定向指令包括所述特定网站的标识和客户端在特定网站的Cookie标识,例如,对于<imgsrc="http://cmap.alibaba.com/google.GIF"/>的请求,特定网站发起到google网站的302跳转请求为:http://www.google.com/pixel.gif?network=alibaba&uid=abcde,该URL包含的参数名network为特定网站的标识,参数名uid为客户端在特定网站的Cookie标识,参数名network和uid是Cookie映射约定中规定的传输字段。
客户端接收到所述特定网站回送的第一重定向指令之后,向所述本次需要映射的外部网站发送Cookie映射请求。该外部网站接收到请求后,根据请求中的第一Cookie标识和特定网站的标识,获取所述客户端在该外部网站的Cookie标识,作为第二Cookie标识。然后,该外部网站向客户端发出第二重定向指令。所述的第二重定向指令指向所述特定网站提供的Cookie映射服务网址,所述第二重定向指令包括第二Cookie标识。客户端接收到所述本次需要映射的外部网站回送的第二重定向指令之后,向所述特定网站发送对应所述特定网站提供的Cookie映射服务网址的请求;所述对应所述特定网站提供的Cookie映射服务网址的请求包括第二Cookie标识。
本申请实施例所述的第一重定向指令还包括所述特定网站预先生成的已发送映射请求的标识和请求时间的至少一者;相应的,所述第二重定向指令还包括所述已发送映射请求的标识和所述请求时间的至少一者。有关已发送映射请求的标识和请求时间的概念及作用在上述实施例一中给出了说明,相同之处此处不再赘述。
请参看图9,其为本申请的发送Cookie映射请求的装置实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例的一种发送Cookie映射请求的装置,包括:
第一发送单元901,用于向特定网站发送获取本次需要映射的外部网站列表的请求;
第一接收单元903,用于接收所述特定网站回送的所述本次需要映射的外部网站列表;
第二发送单元905,用于向所述特定网站逐个发送对应各个所述本次需要映射的外部网站的Cookie映射请求。
可选的,还包括:
第三发送单元,用于向所述特定网站请求特定网页;所述特定网页是指,需要与预设的至少一个待映射的外部网站进行Cookie映射的网页;所述特定网站根据预设的筛选策略,对所述至少一个待映射的外部网站进行选取,获取所述本次需要映射的外部网站列表;
第二接收单元,用于接收所述特定网站回送的所述特定网页的内容。
可选的,还包括:
第三接收单元,用于接收所述特定网站回送的第一重定向指令;所述第一重定向指令指向所述本次需要映射的外部网站提供的Cookie映射服务网址,所述第一重定向指令包括所述特定网站的标识和当前客户端在所述特定网站的Cookie标识,作为第一Cookie标识;
第四发送单元,用于根据所述第一重定向指令,向所述本次需要映射的外部网站发送Cookie映射请求;
第四接收单元,用于接收所述本次需要映射的外部网站回送的第二重定向指令;所述第二重定向指令指向所述特定网站提供的Cookie映射服务网址,所述第二重定向指令包括所述当前客户端在所述本次需要映射的外部网站的Cookie标识,作为第二Cookie标识;
第五发送单元,用于根据所述第二重定向指令,向所述特定网站发送对应所述特定网站提供的Cookie映射服务网址的请求;所述对应所述特定网站提供的Cookie映射服务网址的请求包括第二Cookie标识。
请参考图10,其为本申请的又一电子设备实施例的示意图。由于设备实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的设备实施例仅仅是示意性的。
本实施例的又一种电子设备,该电子设备包括:显示器1001;处理器1002;以及存储器1003,所述存储器1003被配置成存储发送Cookie映射请求的装置,所述发送Cookie映射请求的装置被所述处理器1002执行时,包括如下步骤:向特定网站发送获取本次需要映射的外部网站列表的请求;接收所述特定网站回送的所述本次需要映射的外部网站列表;向所述特定网站逐个发送对应各个所述本次需要映射的外部网站的Cookie映射请求。
本申请实施例还提供了一种Cookie映射处理系统,如图11所示,该系统包括上述实施例所述的用于Cookie映射的装置1101和发送Cookie映射请求的装置1102,以及至少一个外部网站的Cookie映射处理装置11031、11032至1103n。所述用于Cookie映射的装置通常部署于特定网站的服务器,但并不局限于服务器,也可以是能够实现所述用于Cookie映射的方法的任何设备;所述发送Cookie映射请求的装置通常部署于移动通讯设备、个人电脑、PAD、iPad等终端设备;所述外部网站的Cookie映射处理装置通常部署于特定网站以外的外部网站的服务器。例如,发送Cookie映射请求的装置部署在个人电脑上,能够向特定网站发送获取本次需要映射的外部网站列表的请求;所述用于Cookie映射的装置部署在客户端请求的特定网页所在的特定网站的服务器上,通过获取预设的至少一个待映射的外部网站,以及获取客户端在特定网站的Cookie标识,并根据Cookie标识和预设的筛选策略,对所述至少一个待映射的外部网站进行选取,从而获取所述客户端的本次需要映射的外部网站列表;各个外部网站的Cookie映射处理装置通常部署于各个外部网站的服务器上,能够接收客户端向外部网站发送的Cookie映射服务请求,并向客户端返回指向所述特定网站提供的Cookie映射服务网址的重定向指令,该重定向指令包括客户端在该外部网站的Cookie标识。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。