Cookie种植、处理方法及装置与流程

文档序号:11063548阅读:979来源:国知局
Cookie种植、处理方法及装置与制造工艺

本发明涉及互联网领域,具体而言,涉及一种Cookie种植、处理方法及装置。



背景技术:

Cookie是指某些网站为了辨别用户身份、进行会话session跟踪而储存在用户本地终端上的数据。服务器端生成Cookie后,会将其发送给用户代理User-Agent(一般为浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,这样,在下次请求同一网站时,浏览器会发送该Cookie给服务器(前提是浏览器设置为启用Cookie状态)。其中,Cookie的key是指Cookie的名字;Cookie的value是指Cookie的随机序列数。

一般地,Cookie有会话和持久两种形式。会话cookie是临时的,一般会随浏览器关闭而消失,而持久cookie的过期时间是人为设置的。具体地,在相关技术中,在实现服务器与浏览器持久会话的开发过程中,一般通过设置cookie的Expires或者Max-Age属性来控制cookie的生命周期(即过期时间)。然而,在使用上述方法时,当服务器给cookie对象设置Date Time类型的Expires值时,发现种植到不同类型浏览器上的过期时间有所差异,并且存在到预定过期时间不会过期的现象。

例如,在使用本地时间给IE、Firefox和Chrome三种浏览器种植Cookie时,会出现以下一些问题,如表1所示:(1)对IE和Firefox浏览器而言,cookie的过期时间会在服务器传来的cookie过期时间的基础上做+8h处理,例如,在cookie的过期时间为20min时,服务器设置的过期时间是2015-8-1711:45:05,而查看IE和Firefox的Cookie时会发现,Cookie的真正过期时间已变成2015-8-1719:45:05,在这种情况下,只能在(8*60+20)min之后Cookie才会过期,显然其不符合预期效果;(2)对Chrome浏览器而言,查看Cookie时会发现,该Cookie的过期时间与服务器设置的过期时间一致,但20min之后不会过期。

表1

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种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进行过期处理。

进一步地,上述处理单元还用于通过刷新上述cookie种植对象对上述cookie进行过期处理。

在本发明实施例中,采用统一的预设标准时间如格林尼治时间的方式,通过获取需要种植的cookie的过期时间;检测获取的需要种植的cookie的过期时间是否是预设标准时间;在检测结果为获取的需要种植的cookie的过期时间是预设标准时间的情况下,将需要种植的cookie种植到cookie种植对象上,达到了使cookie过期时间兼容主流浏览器和服务器的目的,从而实现了种植到浏览器上的cookie能够按照预先配置的过期时间及时过期的技术效果,进而解决了相关技术中由于使用本地时间为浏览器等种植cookie而造成的cookie的过期时间不兼容以及过期不及时的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种可选的cookie种植方法的流程图;

图2是根据本发明实施例的一种可选的cookie处理方法的流程图;

图3是根据本发明实施例的一种可选的服务器的示意图;

图4是根据本发明实施例的一种可选的客户端的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例1

根据本发明实施例,提供了一种cookie种植方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的一种可选的cookie种植方法的流程图,如图1所示,该方法包括如下步骤:

步骤S102,获取需要种植的cookie的过期时间;

步骤S104,检测获取的需要种植的cookie的过期时间是否是预设标准时间;

步骤S106,在检测结果为获取的需要种植的cookie的过期时间是预设标准时间的情况下,将需要种植的cookie种植到cookie种植对象上。

实施时,服务器可以创建需要种植的cookie,同时设置cookie对象的各属性值。其中,cookie对象的属性值包括但不限于Cookie的key/value、cookie的过期时间等。具体的,cookie的过期时间可以用cookie的Expires或者Max-Age属性表征。进一步的,Expires值可以是Date Time类型的数值。

发明人发现,服务器只有使用预设标准时间如世界时间(即格林尼治时间)创建需要种植的cookie,并将创建的需要种植的cookie种植到各浏览器(如IE浏览器,Firefox火狐浏览器和Chrome谷歌浏览器)等cookie种植对象上时,种植后cookie才会在过期时间到达时及时过期,并且该cookie的过期时间才会与服务器端创建cookie时所配置的过期时间一致。因此,为了达到上述目的,在将需要种植的cookie种植到相应的cookie种植对象上之前,需要确保需要种植的cookie的过期时间是预设标准时间。以下以预设标准时间为格林尼治时间,cookie种植对象为浏览器为例详细阐述本发明。

通过本发明实施例,采用统一的预设标准时间如格林尼治时间的方式,达到了使cookie过期时间兼容主流浏览器和服务器的目的,从而实现了种植到浏览器上的cookie能够按照预先配置的过期时间及时过期的技术效果,进而解决了相关技术中由于使用本地时间为浏览器等种植cookie而造成的cookie的过期时间不兼容以及过期不及时的技术问题。

可选地,上述方法还包括:S2,在检测结果为获取的需要种植的cookie的过期时间不是预设标准时间的情况下,先将需要种植的cookie的过期时间转换为预设标准时间,再将过期时间转换后的需要种植的cookie种植到cookie种植对象上。例如,在需要种植的cookie的过期时间是格林尼治时间时,直接将该需要种植的cookie种植到相应的浏览器上;在需要种植的cookie的过期时间不是格林尼治时间时,需要先将该需要种植的cookie的过期时间转换格林尼治时间,再将过期时间转换之后的需要种植的cookie种植到相应的浏览器上。这样,在服务器端设置的cookie的过期时间就会与各主流浏览器(如IE浏览器,Firefox火狐浏览器和Chrome谷歌浏览器等)的过期时间相互兼容,从而使cookie运作正常。

可选地,在获取需要种植的cookie的过期时间之前,上述方法还包括:S4,在创建需要种植的cookie的过程中,为需要种植的cookie指定过期时间。也即,cookie 的过期时间是服务器在创建cookie的过程中,根据用户的需求以及cookie的实际应用场景专门配置并指定的。这样,为每个cookie指定专门的过期时间,可以使各个cookie适应于各自不同的应用场景。

需要说明的是,当在服务器端将cookie的过期时间转换成格林尼治时间再种植到相应的浏览器上时,cookie在各浏览器上的过期情况如表2所示。显然,采用该方法,在服务器端将需要种植的Cookie的过期时间设置或者转换成格林尼治时间,这样种植到浏览器上的Cookie,虽然在Chrome浏览器上看到的Cookie的过期时间比本地时间少了8个小时,但是所有的Cookie均能满足预期的功能需求,即让Cookie及时过期。也即,尽管Chrome浏览器上的Cookie的过期时间与本地时间不一致,但该方法总体上满足了程序开发的需求。

表2

实施例2

根据本发明实施例,提供了一种cookie处理方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图2是根据本发明实施例的一种可选的cookie处理方法的流程图,如图2所示,该方法包括如下步骤:

步骤S202,检测已种植到cookie种植对象上的cookie的运行时间是否超过 cookie的过期时间,其中,cookie的过期时间是预设标准时间;

步骤S204,在检测结果为已种植到cookie种植对象上的cookie的运行时间超过cookie的过期时间的情况下,对cookie进行过期处理。

需要说明的是,在本发明实施例中,是在客户端执行cookie处理方法的,而客户端上的cookie则是由服务器通过实施例1及其优选实施方式提供的cookie种植方法种植上去的。基于此,种植在客户端上的cookie的过期时间一定是预设标准时间,并且,此处的预设标准时间同实施例1中的类似,在此不再赘述。另外,此处的cookie种植对象也同实施例1中的类似,在此不再赘述。

其中,在已种植到cookie种植对象上的cookie的运行时间超过cookie的过期时间的情况下,对cookie进行过期处理包括使cookie消失。

通过本发明实施例,采用统一的预设标准时间如格林尼治时间的方式,达到了使cookie过期时间兼容主流浏览器和服务器的目的,从而实现了种植到浏览器上的cookie能够按照预先配置的过期时间及时过期的技术效果,进而解决了相关技术中由于使用本地时间为浏览器等种植cookie而造成的cookie的过期时间不兼容以及过期不及时的技术问题。

可选地,对cookie进行过期处理包括:S6,通过刷新cookie种植对象对cookie进行过期处理。实施时,发现cookie在上述浏览器上的运行时间已达到其过期时间时,执行刷新操作以刷新浏览器等cookie种植对象,可以使过期的cookie消失,达到处理过期的cookie的目的。

实施例3

根据本发明实施例,提供了一种服务器的装置实施例。

图3是根据本发明实施例的一种可选的服务器的示意图,如图3所示,该服务器,用于种植cookie,包括:获取单元302,用于获取需要种植的cookie的过期时间;第一检测单元304,用于检测获取的需要种植的cookie的过期时间是否是预设标准时间;种植单元306,用于在检测结果为获取的需要种植的cookie的过期时间是预设标准时间的情况下,将需要种植的cookie种植到cookie种植对象上。

实施时,服务器可以创建需要种植的cookie,同时设置cookie对象的各属性值。其中,cookie对象的属性值包括但不限于Cookie的key/value、cookie的过期时间等。具体的,cookie的过期时间可以用cookie的Expires或者Max-Age属性表征。进一步的,Expires值可以是Date Time类型的数值。

发明人发现,服务器只有使用预设标准时间如世界时间(即格林尼治时间)创建需要种植的cookie,并将创建的需要种植的cookie种植到各浏览器(如IE浏览器,Firefox火狐浏览器和Chrome谷歌浏览器)等cookie种植对象上时,种植后cookie才会在过期时间到达时及时过期,并且该cookie的过期时间才会与服务器端创建cookie时所配置的过期时间一致。因此,为了达到上述目的,在将需要种植的cookie种植到相应的cookie种植对象上之前,需要确保需要种植的cookie的过期时间是预设标准时间。以下以预设标准时间为格林尼治时间,cookie种植对象为浏览器为例详细阐述本发明。

通过本发明实施例,采用统一的预设标准时间如格林尼治时间的方式,达到了使cookie过期时间兼容主流浏览器和服务器的目的,从而实现了种植到浏览器上的cookie能够按照预先配置的过期时间及时过期的技术效果,进而解决了相关技术中由于使用本地时间为浏览器等种植cookie而造成的cookie的过期时间不兼容以及过期不及时的技术问题。

可选地,上述服务器还包括:转换单元,用于在检测结果为获取的需要种植的cookie的过期时间不是预设标准时间的情况下,将需要种植的cookie的过期时间转换为预设标准时间;种植单元还用于将过期时间转换后的需要种植的cookie种植到cookie种植对象上。例如,在需要种植的cookie的过期时间是格林尼治时间时,直接将该需要种植的cookie种植到相应的浏览器上;在需要种植的cookie的过期时间不是格林尼治时间时,需要先将该需要种植的cookie的过期时间转换格林尼治时间,再将过期时间转换之后的需要种植的cookie种植到相应的浏览器上。这样,在服务器端设置的cookie的过期时间就会与各主流浏览器(如IE浏览器,Firefox火狐浏览器和Chrome谷歌浏览器等)的过期时间相互兼容,从而使cookie运作正常。

可选地,服务器还包括:指定单元,用于在获取需要种植的cookie的过期时间之前,在创建需要种植的cookie的过程中,为需要种植的cookie指定过期时间。也即,cookie的过期时间是服务器在创建cookie的过程中,根据用户的需求以及cookie的实际应用场景专门配置并指定的。这样,为每个cookie指定专门的过期时间,可以使各个cookie适应于各自不同的应用场景。

需要说明的是,当在服务器端将cookie的过期时间转换成格林尼治时间再种植到相应的浏览器上时,cookie在各浏览器上的过期情况如表2所示。显然,采用该方法,在服务器端将需要种植的Cookie的过期时间设置或者转换成格林尼治时间,这样种植到浏览器上的Cookie,虽然在Chrome浏览器上看到的Cookie的过期时间比本地时间少了8个小时,但是所有的Cookie均能满足预期的功能需求,即让Cookie及时过期。 也即,尽管Chrome浏览器上的Cookie的过期时间与本地时间不一致,但该方法总体上满足了程序开发的需求。

实施例4

根据本发明实施例,提供了一种客户端的装置实施例。

图4是根据本发明实施例的一种可选的客户端的示意图,如图4所示,该客户端,用于对cookie进行过期处理,包括:第二检测单元402,用于检测种植到cookie种植对象上的cookie的运行时间是否超过cookie的过期时间,其中,cookie的过期时间是预设标准时间;处理单元404,用于在检测结果为种植到cookie种植对象上的cookie的运行时间超过cookie的过期时间的情况下,对cookie进行过期处理。

需要说明的是,在本发明实施例中,是在客户端执行cookie处理方法的,而客户端上的cookie则是由服务器通过实施例1及其优选实施方式提供的cookie种植方法种植上去的。基于此,种植在客户端上的cookie的过期时间一定是预设标准时间,并且,此处的预设标准时间同实施例1中的类似,在此不再赘述。另外,此处的cookie种植对象也同实施例1中的类似,在此不再赘述。

其中,在已种植到cookie种植对象上的cookie的运行时间超过cookie的过期时间的情况下,对cookie进行过期处理包括使cookie消失。

通过本发明实施例,采用统一的预设标准时间如格林尼治时间的方式,达到了使cookie过期时间兼容主流浏览器和服务器的目的,从而实现了种植到浏览器上的cookie能够按照预先配置的过期时间及时过期的技术效果,进而解决了相关技术中由于使用本地时间为浏览器等种植cookie而造成的cookie的过期时间不兼容以及过期不及时的技术问题。

可选地,处理单元还用于通过刷新cookie种植对象对cookie进行过期处理。实施时,发现cookie在上述浏览器上的运行时间已达到其过期时间时,执行刷新操作以刷新浏览器等cookie种植对象,可以使过期的cookie消失,达到处理过期的cookie的目的。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分, 可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1