掌桥专利:专业的专利平台
掌桥专利
首页

用于以注重隐私的方式在不同域之间传播数据的方法和系统

文献发布时间:2023-06-19 18:32:25


用于以注重隐私的方式在不同域之间传播数据的方法和系统

技术领域

本发明大体上涉及用于利用第一方cookie代替第三方cookie的方法。

背景技术

web浏览已经从静态网页之间的简单超文本链接发展为提供广泛内容的许多静态和动态产生的网站的动态互连。

随着浏览的发展,能够记录与网站相关联的信息的需要通过使得网站能够响应于由web浏览器访问的网站作出的指令而设置“cookie”-在运行web浏览器的计算机上存储的小块数据来解决。

cookie可为“第一方cookie”或“第三方cookie”。前者由正由web浏览器访问的特定域设置。举例来说,用户可将web浏览器引导到www.example.com,且此域处由web浏览器访问的web内容可指示记录含有数据且与同一域相关联的cookie(因此术语“第一方”)。后者由与正由web浏览器访问的域不同的域设置。举例来说,www.example.com处正访问的网页可自身利用另一域,例如www.addomain.com的资源。此资源可自身设置cookie-然而,因为其与不同域相关联,因此cookie与第二域相关联。因此,cookie为第三方下载到终端的小数据;其与不同于正由web浏览器访问的域的一方相关联。

已经倾向于不允许设置第三方cookie-举例来说,因为用户不一定知道第二域,因此设置第三方cookie可被视为不合需要的。然而,第三方cookie在现代在线活动中发挥着重要作用,从而提供了跟踪不同网站之间活动的手段(例如,用于提供针对性广告),并允许更高效的用户识别。举例来说,若干网站(各自与不同域相关联)的共同所有者在用户访问其唯一网站时识别所述用户;移除第三方cookie方面可具有合法权益,但出于改进用户隐私性和安全性的正面原因有可能在这些情形下产生负面后果。

作为实例,当用户(经由web浏览器)访问已知域,例如www.example.com时,其可通过利用来自第三方域,例如www.addomain.com的资源产生用于用户的内容中的至少一些。在过去,www.addomain.com可设置第三方cookie(例如,其中名称=AdDomainId且值=12345)。在浏览器功能性方面,此cookie与www.addomain.com而非www.example.com相关。当用户进一步导航到www.example01.com-与www.example.com完全不相关且由另一公司(其也利用www.addomain.com的资源)拥有的域时,浏览器在过去自动将www.addomain.com的cookie发送到www.addomain.com。这意味着www.example.com上先前设置的cookie(名称=AdDomainId且值=12345)自动从www.example01.com发送。

因此,最近,若干主要web浏览器开发人员已宣布默认地停用第三方cookie的计划。预测此动作对合法在线活动具有不利后果。

需要提供用于实现由第三方cookie提供的功能性而不需要设置第三方cookie的机制。

发明内容

本文中所描述的实施例和方面大体上涉及提供用于实现由第三方cookie提供的功能性而不需要设置第三方cookie的机制。举例来说,某些所描述实施例可适合于提供使得能够在与不同域相关联的若干不同网站当中跟踪特定用户的功能性,这可有利地使得能够以用户不可见的方式由所述不同网站识别所述用户。有利地,用户的识别可以允许不同网站基于用户识别供应适当定制的内容,进而跨越各种网站和域提供改进的用户体验。这些和其它优点通常在不设置第三方cookie(其先前已经用以提供此功能)的情况下达成。为了在合法跟踪活动与对用户隐私性和安全性的需要之间取得平衡,某些所描述实施例实现对用户识别信息可用的程度的额外限制。

根据本发明的一方面,提供有一种用于在web浏览器上记录第一方cookie内的信息的方法,例如其中web浏览器并不允许访问第三方cookie,包含将所记录信息从与第二域相关联的第二cookie传播到与第一域相关联的第一cookie,其中第一cookie和第二cookie各自为第一方cookie,使得第一域的第一web资源和第二域的第二web资源各自经由其相关联的第一方cookie访问所记录信息。

所记录信息可在web浏览器与第一域的第一web资源之间的当前通信实例期间传播到第一cookie。所记录信息可取决于不存在第一cookie的确定而传播到第一cookie。

所记录信息可经由中介传播,所述中介为在当前通信实例期间web浏览器可访问的传播信息。

根据一实施例,所述方法包括在当前通信实例期间指示web浏览器和与不同于第一域的传播域相关联的传播服务器通信,和从传播服务器接收传播信息使得web浏览器能够将所记录信息记录为第一cookie。web浏览器可经由与请求内容以供显示的第一web服务器的通信起始当前通信实例,所述第一web服务器与第一域服务器相关联且所述两个服务器均可与第一域相关联,且到传播服务器的指令可从第一域服务器接收。第一web服务器可在将所记录信息从第二cookie传播到第一cookie之后取决于所记录信息将内容提供到web浏览器以供显示。作为指令的部分,web浏览器可将存储于传播cookie中的信息提供到传播服务器,且传播信息可基于存储于传播cookie中的信息。存储于传播cookie中的信息与传播信息可相同或传播信息可为存储于传播cookie中的信息的经编码表示。可根据可用于传播服务器的传播规则产生传播信息,传播规则可应用于存储于传播cookie中的信息。作为指令的部分,传播规则可存储于传播cookie内且提供到传播服务器。传播信息可与从传播服务器接收到的指令相关联地提供到web浏览器,使得可使web浏览器与第一域服务器通信且将传播信息与指令一起提供。web浏览器可响应于将传播信息提供到第一域服务器而从第一域服务器接收指令,以设置包括所记录信息的第一cookie。

根据一实施例,中介被存储为网页特定数据,且包括:指示web浏览器与第一域服务器通信,所述web浏览器将网页特定数据与指令一起提供到第一域服务器;和从第一域服务器接收设置具有所记录信息的第一cookie的指令,其中所记录信息等于或从网页特定数据导出,其中响应于web浏览器作出的对用于显示的内容的请求而从第一web服务器接收指令,其中第一web服务器与第一域服务器相关联,且其中所述两个服务器均与第一域相关联。可在与第二域的第二域服务器的前一通信实例期间设置网页特定数据。网页特定数据当在web浏览器上运行时不可由可执行代码访问且当通过与第二域的通信设置时可由第一域服务器访问,且优选地仅可由外部服务器访问。网页特定数据可在将指令发送到web浏览器之前存储于与提供到web浏览器的网页相关联的ETag中。

可将第一域和第二域确定为在允许将所记录信息从第二cookie传播到第一cookie之前允许传播的相关域。

web浏览器可能不允许访问第三方cookie。

根据本发明的另一方面,提供有一种被配置成用于与web浏览器通信以促进所记录信息在与不同域相关联的第一方cookie之间传播的域服务器,所述域服务器被配置成:由于从与第一域相关联的第一web服务器提供到web浏览器的重新引导指令而从web浏览器接收通信;并确定通信中是否存在第一cookie,所述第一cookie与第一域相关联,且其中响应于确定不存在第一cookie,域服务器被配置成:从web浏览器获得传播信息,所述传播信息从与第二域相关联的第二cookie的所记录信息导出,其中所记录信息可从传播信息导出;从传播信息确定所记录信息;以及指示web浏览器将所记录信息记录于第一cookie中。

域服务器可被配置成指示web浏览器与第一web服务器通信以使得能够利用重新编码的第一cookie产生web浏览器的内容。

在一实施例中,域服务器进一步被配置成在获得中介信息时:指示web浏览器和与不同于第一域的传播域相关联的传播服务器通信,其中响应于指令将传播信息从传播服务器提供到web浏览器;并在指示web浏览器再次与域服务器通信之后从web浏览器接收传播信息。可根据可用于传播服务器的传播规则产生传播信息,且传播规则可应用于存储于传播cookie中的信息。传播规则可存储于存储在web浏览器中的传播cookie内。

在一实施例中,将中介存储为网页特定数据,且其中域服务器进一步被配置成:从来自web浏览器的通信识别网页特定数据;并传达设置具有所记录信息的第一cookie的指令,其中所记录信息等于或从网页特定数据导出。可在与第二域的第二域服务器的前一通信实例期间设置网页特定数据。网页特定数据当在web浏览器上运行时不可由可执行代码访问且当通过与第二域的通信设置时可由第一域服务器访问,且优选地仅可由外部服务器访问。网页特定数据可在传达指令之前存储于与提供到web浏览器的网页相关联的ETag中。当第二域被识别为与第一域相关时,所记录信息可仅从第二cookie传播到第一cookie。

与域服务器通信的web浏览器可能不允许访问第三方cookie。

根据本发明的又一方面,提供有一种用于促进所记录信息在与和网络系统通信的web浏览器上的不同域相关联的第一方cookie之间传播的网络系统,所述系统包括:一个或多个域服务器,其中每一域服务器被配置成:由于从与所述域相关联的web服务器提供到web浏览器的重新引导指令而从web浏览器接收通信;确定通信中是否存在第一cookie,所述第一cookie与所述域相关联;响应于确定不存在第一cookie,从web浏览器获得传播信息,所述传播信息从与第二域相关联的第二cookie的所记录信息导出,所述第二域与域服务器中的另一个相关联,其中所记录信息可从传播信息导出;从传播信息确定所记录信息;以及指示web浏览器将所记录信息记录于第一cookie中。

任选地,网络系统包括与不同于第一域的传播域相关联的传播服务器,且其中每一域服务器进一步被配置成在获得中介信息时:指示web浏览器和与不同于第一域的传播域相关联的传播服务器通信;并在指示web浏览器通过传播服务器再次与域服务器通信之后从web浏览器接收传播信息,且其中传播服务器被配置成:基于与指令一起从web浏览器提供的信息而确定传播信息。如果存在,信息可包括存储于可由传播服务器读取的传播cookie中的信息。传播服务器可被配置成根据可用于传播服务器的传播规则产生传播信息,且传播规则可应用于存储于传播cookie中的信息。传播规则可存储于存储在web浏览器中的传播cookie内且因此可由传播服务器经由来自web浏览器的通信接收。在不存在传播cookie的情况下,传播服务器可被配置成确定传播cookie的值并将指令传达到web浏览器以将值设置为传播cookie,且可根据最新确定值产生传播信息。

任选地,每一域服务器进一步被配置成:从来自web浏览器的通信识别网页特定数据;并将设置具有所记录信息的第一cookie的指令传达到web浏览器,其中所记录信息等于或从网页特定数据导出。可在与第二域服务器的前一通信实例期间设置网页特定数据。

当第二域被识别为与第一域相关时,所记录信息可仅从第二cookie传播到第一cookie。

网络系统可进一步包括用于每一域服务器的web服务器,所述web服务器可被配置成指示web浏览器与其相关联的域服务器通信,且每一web服务器可与其相关联的域服务器共享域。

与系统通信的web浏览器可被假设不允许或可能确实不允许访问第三方cookie。

如本文中所使用,词语“包括”或例如“包括(comprises)”或“包括(comprising)”等变化形式在包含性意义上使用,即指定所陈述特征的存在而非排除本发明的各种实施例中的其它特征的存在或添加。

附图说明

为了可以更加明确地理解本发明,现在将借助于实例参考附图描述实施例,其中:

图1展示根据一实施例的通信系统;

图2展示用于某些实施例的cookie传播的布置;

图3展示根据一实施例的用于传播cookie的方法;

图4A和4B展示利用图3的方法的特定实施;

图5A和5B展示根据另一实施例的用于传播cookie的方法;

图6展示用于经由第三方内容服务器产生域cookie的方法;

图7A到7C展示用于产生用户识别cookie并传播信息的实施例;且

图8A到8E涉及使用代理服务器修改与第三方资源的通信。

具体实施方式

图1展示根据一实施例的通信系统10。系统10包括客户端装置11、web服务器12、域服务器13和任选的(第三方)内容服务器14。客户端装置11被配置成用于与web服务器12、域服务器13进行数据通信,并且在适用时经由通常包括互联网的网络15与内容服务器14进行数据通信。在所展示的实施例中,客户端装置11经由域服务器13与内容服务器14进行数据通信。

图1的系统10应理解为各个元件之间的数据连接的示范性表示,然而,不应被视为具限制性;例如某些实施例可利用比所展示元件少的元件,而其它实施例可利用额外元件。此外,除非另外陈述,否则各种服务器12到14应理解为表示功能元件-尽管每一服务器12到14可以单独的物理硬件体现,但所述服务器12到14中的两个或更多个可以同一物理硬件体现,例如作为逻辑上相异的元件。类似地,除非另外陈述,否则客户端装置11应理解为允许一用户(或实际上多个用户)与系统11交互的功能元件。

客户端装置11被配置成运行适合于请求web内容,通常为web浏览器(如本文中所假设)的应用程序(例如经由http协议)。使得web浏览器能够与托管特定网站的web服务器12通信。举例来说,web浏览器可响应于用户输入(例如通过选择针对网站的超链接或通过输入网站的URL地址)或自动响应于由客户端装置11(其可为相同web浏览器)上执行的软件作出的指令而进行此通信。

客户端装置11可为用于运行适合于请求web内容的应用程序的任何合适的计算硬件,例如个人计算机(PC)或智能手机。还设想了其它装置,例如智能手表、平板计算机和包含台式计算机、膝上型计算机和上网本的PC的各种形状因子。所述客户端装置11的共同属性为启用与网络15,例如有线(例如经由以太网)或无线(例如WiFi-例如各种IEEE 802.11标准中的一个或多个)的网络数据通信。出于本公开的目的,不假设特定数据通信。客户端装置11可实施任何数目个操作系统,例如微软视窗(MicrosoftWindows)兼容操作系统(OS)、苹果(Apple)OS X和Linux发行版中的一个或多个。已知智能手机尤其实施Android或iOS操作系统。

各种服务器12到14可视需要以适合硬件实施。举例来说,每一服务器12到14可以专用计算硬件实施。然而,还设想了基于云的实施,例如由亚马逊网络服务(AmazonWebServices;AWS)、微软Azure、谷歌(Google)云平台和Oracle Cloud提供,其中一个或多个服务器12到14实施为虚拟服务器。一般来说,每一服务器12到14与处理器和存储器相关联,其中处理器执行代码以实施所述服务器12到14的功能性且提供存储器以存储所述代码以及提供工作存储器空间。存储器可包括易失性和非易失性存储器两者。取决于特定实施的要求,每一服务器12到14能够访问所述网络15和/或直接访问其它服务器12到14中的一个或多个。

一般来说,网络15为灵活的且可经由任何数目个协议接收数据通信,例如以太网、802.11、全球微波接入互操作性(worldwide interoperability for microwave access;WiMAX)、3G、4G、CDMA、数字订户线(digital subscriber line;DSL)等。类似地,网络15上使用的联网协议可包含任何数目个协议,例如多协议标记交换(multiprotocollabelswitching;MPLS)、传输控制协议/互联网协议(transmission control protocol/Internetprotocol;TCP/IP)、用户数据报协议(User Datagram Protocol;UDP)、超文本传输协议(hypertext transport protocol;HTTP)、简单邮件传送协议(simple mailtransfer protocol;SMTP)和文件传送协议(file transfer protocol;FTP)。经由网络15交换的数据可使用技术和/或格式表示,例如以下中的一个或多个:超文本标记语言(hypertext mark-uplanguage;HTML)、可扩展标记语言(extensible mark-up language;XML)和JavaScript对象表示法(JavaScript Object Notation;JSON)。另外,通信中的全部或一些可使用常规加密技术加密,例如安全套接层(secure sockets layer;SSL)、传输层安全(transportlayer security;TLS)和互联网协议安全(Internet Protocol security;IPsec)。

本文中参考“浏览器可执行代码”,其中为JavaScript.JavaScript的主要实例为万维网的熟知技术,其自身为互联网上运行的应用程序。尽管通过一些估计,97%的网站使用JavaScript以用于客户端网页行为(即经由执行客户端装置11的web浏览器的JavaScript产生网页内容和行为),但除非上下文或特定权利要求另外规定,否则特定浏览器可执行代码和对应编程语言不应被视为限制性的。相关地,浏览器可执行代码应适合于在客户端装置11的web浏览器上执行以使得web浏览器进行通信功能、产生内容或其它动态行为。

下文描述用于提供功能性而不利用第三方cookie的各种实施例,所述功能性实际上(至少从用户装置11的用户的视角来看)可类似于已知通过设置第三方cookie启用的某些功能性。一般来说,本文中所描述的情境包含web浏览器访问作为由web服务器12托管的网页(如本文中所假设)的互联网资源。web浏览器被引导到例如通过其统一资源定位符(Uniform Resource Locator;URL)指定的网页的地址。

根据实施例,web服务器12和域服务器13两者被配置成从客户端装置11接收请求并提供响应。举例来说,请求可针对内容且响应可包括所述内容。通常,如本文中所假设,请求根据超文本传送协议(HTTP)(或扩展协议,例如安全超文本传送协议(HypertextTransfer Protocol Secure;HTTPS))为“GET”消息且响应包括HTTP/HTTPS响应消息。另外,响应可包括包含定义网页的外观和功能性的超文本标记语言(HTML)代码的内容。HTML代码定义各种不同内容片段。响应还包括HTTP标头。

一般来说,当用户装置11的web浏览器访问互联网资源时,其可被配置成使网页特定数据与先前由于互联网资源的先前访问已由web浏览器存储的请求通信。实例为ETag(具有ETag值)。ETag被定义为HTTP的一部分且当响应于请求时在客户端装置11上由资源设置。也就是说,如果web浏览器先前已与资源通信,那么其可能已存储在先前通信期间设置的ETag值。一般来说,ETag值尤其与资源相关联,例如与其URL相关联。ETag值在某一时间限制内可有效或无效。在另一实施例中,网页特定数据存储于web浏览器可访问的本地存储装置中,例如经由执行合适的代码。为方便起见,本文中描述某些实施例,其涉及将ETag用作网页特定数据,但应理解,此并不意图为限制性的。

客户端装置11上操作的web浏览器被配置成以cookie形式存储数据。cookie可属于此项技术中已知的各种类型。相关地,网页特定数据不等效于cookie-例如出于本公开的目的,网页特定数据不可用于可执行代码。

参考图2,展示与某些实施例相关的拓扑,其中多个web服务器12a到12c(通常为任何数目个web服务器12)与网络15通信。域服务器13还展示为与网络15通信。如同图1,代表性客户端装置11还展示为与网络15通信;因此,使得客户端装置11能够经由所述网络15与每一web服务器12a到12c和域服务器13通信。

相关地,web服务器12a到12c的区别在于其表示与不同域(由虚线框表示)相关联的web资源(例如网页);也就是说,第一web服务器12a与第一域(例如www.example1.com)上的第一网页相关联,第二web服务器12b与第二域(例如www.example2.com)上的第二网页相关联,且第三web服务器12a与第三域(例如www.example3.com)上的第三网页相关联。因此,其它web服务器12a到12c不可访问与每一web服务器12a到12c相关联的第一方cookie。

本文中所描述的一个或多个实施例可用以在不同域之间“传播”cookie。此处,“传播”和“cookie传播”指代基于共同信息在与每一域相关联的客户端装置11上创建第一方cookie。举例来说,如果通过客户端装置11对域中的一个(例如第一域)的web资源的访问来创建或确定信息并将其记录于第一方cookie内,那么对域中的另一个(例如第二域)的web资源的后续访问使得将信息记录于与此下一访问域相关联的第一方cookie内。因此,共同信息有效地存储于用于不同域的每一web资源的单独的第一方cookie中。

总体效应为共同信息在用于每一域的cookie之间“传播”,进而使得每一web服务器12a到12c能够通过经启用以将每一访问识别为来自同一客户端装置11而产生一致个性化信息。实际上,可传播任何所需的信息。还应理解,每一域的cookie可存储不同实际数据(例如经由域特定加密和/或哈希)-然而,共同信息应可从每一域的cookie导出。

某些实施例利用“相关”web服务器12a到12c,借此在每一个别web服务器12a到12c之间存在共同关系。举例来说,每一相关web服务器12a到12c可由共同实体“拥有”(即至少操作)但提供不同域上的不同服务。在一个说明性实例中,第一域引用汽车销售服务(例如,宣传且促进个人和/或公司之间的汽车的销售),第二域引用非车辆财产销售服务(例如,拍卖服务),且第三域引用内容供应服务(例如,新闻网站)。这些服务中的每一个由共同实体(例如公司A)提供但在不同品牌和/或拥有的公司下,且因此,每一服务与唯一域相关联。

在现有技术中,第三方cookie用以存储共同信息(例如标识符,其对于特定客户端装置11是唯一的且对于特定web浏览器和/或web浏览器的用户也可是唯一的),所述共同信息接着由每一web服务器12a到12c访问以使得每一服务能够向与所述标识符相关联的用户供应个性化内容,因为第三方cookie可由每一单独的域访问。

本文中所描述的一个或多个实施例因此涉及提供使共同信息可访问但避免使用第三方cookie的类似功能性。取决于实施例和实施,利用所述信息的方式可留给特定web服务器12a到12c。

出于本公开的目的,关于特定域设置的cookie被称为“域cookie”。例如“第一”和“第二”等标签用以区分不同域和其相关联的web服务器12和域服务器13。类似地,共同小写后缀用于识别与特定域相关的图的不同特征。举例来说,第一web服务器12a和第一域服务器13a可在可与第一域cookie相关联的第一域处寻址,第二web服务器12b和第二域服务器13b可在可与第二域cookie相关联的第二域处寻址,且第三web服务器12c和第三域服务器13c可在可与第三域cookie相关联的第三域处寻址。

根据一实施例,参考图3A和3B,描述与在客户端装置11的web浏览器内设置非cookie网页特定数据相关的方法。此项技术中已知的一个实例为ETag。所述方法还描述在客户端装置11的web浏览器上关于第一网页设置第一域cookie。第一域cookie为第一方cookie,因为其与和第一网页相同的域(第一域)相关联地设置,但其由第一域服务器13a而非第一web服务器12a设置。相关地,第一域cookie可由可执行代码访问-举例来说,第一域cookie并不具有“HttpOnly”属性集。相关地,网页特定数据应属于客户端装置11上执行的代码不可访问的形式-举例来说,ETag值不可由JavaScript访问。网页特定数据仅可由基于网络的服务器,例如web服务器12和域服务器13访问可为优选的。

在步骤300处,客户端装置11将对内容的请求传达到第一web服务器12a,其如上文所描述与第一域(例如www.example1.com)相关联。请求通常将指定期望内容的特定网页-应注意,可选择默认网页(例如http://www.example1.com/index.html)。在步骤301处,将响应从第一web服务器12a传达到客户端装置11,根据请求确定所述响应。所述响应包括用于由客户端装置11的web浏览器执行(例如以JavaScript代码形式)的域服务器通信指令(作为可执行代码)以及通常包括用于显示于web浏览器上的内容。

域服务器通信指令为供客户端装置11的web浏览器与第一域服务器13a通信的指令。相关地,域服务器13与第一web服务器12a存在于同一域上,但域服务器13可与web服务器12位于不同IP地址处。在特定实施中,第一域的子域用于寻址第一域服务器13a(例如http://processing.example1.com)。因此,如上文所论述,由于与第一域服务器13a的通信设置的第一域cookie将为第一方cookie(由于与第一web服务器12a共享其域)。

取决于实施例,域服务器通信指令包括被配置成使得web浏览器与第一域服务器13a通信的第一可执行代码。替代地,域服务器通信指令包括供web浏览器从域服务器13a获得第一可执行代码的指令。在任一情况下,由于步骤301,web浏览器具备第一可执行代码。

在步骤302处,web浏览器执行第一代码。第一代码被配置成进行检查步骤303。此处,web浏览器对先前由web浏览器存储的第一域cookie执行检查。如先前所论述,如果存在,那么第一域cookie可由第一代码访问。相关地,如所论述,第一域cookie与网页的域(即第一域)相关联。

如果不存在第一域cookie,那么在步骤310处,第一代码被配置成使得web浏览器将请求传达到第一域服务器13a。如果可用,那么与网页相关联的ETag值(或取决于实施例,其它网页特定数据)与请求一起传达(对于ETag,如果存在,那么ETag值将如由HTTP标准定义传达)。

接下来,在步骤311处,在接收到请求之后,配置第一域服务器13a以确定所述请求是否存在ETag值。

在此情形(其中不存在第一域cookie)下ETag值的存在向第一域服务器13a指示web浏览器先前已访问与第一网站不同的域(例如第二域)上托管的第二网站(例如与第二web服务器12b相关联),且具有由第二域服务器13b关于第二域设置的第二域cookie(因此,第二域cookie为第二域的第一方cookie,并且因此在与第一域服务器13a的通信中不可访问)。在此情境下,在步骤314处,第一域服务器13a被配置成将回复传达到客户端装置11,从而设置与第一域相关联的具有从ETag值导出(例如,包括所述ETag值)的值的域cookie。因此,web浏览器存储与第一域相关联的“第一方”第一域cookie,其和与第二域相关联的第二域cookie记录相同信息。

如果不存在ETag值,那么第一域服务器13a被配置成在步骤312处确定数据以用于存储于第一域cookie中且作为ETag值存储,并在步骤313处将响应发送到客户端装置11的web浏览器,从而指示其设置第一域cookie和ETag值两者。关于步骤312,第一域服务器13a确定数据的特定方式取决于实施。然而,在一个特定实例中,从内容服务器14(例如,从由内容服务器14发布的设置cookie命令)获得或导出数据-在此情况下,第一域cookie和ETag值反映从内容服务器14获得的意图用于存储的信息。由内容服务器14发布的设置cookie命令实际上为设置第三方cookie的指令,因为内容服务器14在不同于第一域的域上。在另一实例中,第一域服务器13a自身被配置成确定数据以用于作为第一域cookie和ETag值存储-其可为例如随机或程序产生的标识符或其它数据以供web服务器12a到12c和/或域服务器13a到13c未来使用。

现在考虑存在第一域cookie的检查步骤303的结果。第一代码被配置成在步骤320处,作为响应,使得web浏览器将请求传达到第一域服务器13a。请求伴随着存储于第一域cookie内的信息(进而使得信息可用于第一域服务器13a)和(如果可用)ETag值(或取决于实施例,其它网页特定数据)。

在步骤321处,第一域服务器13a检查请求是否伴随着ETag值。

如果请求不伴随着ETag值,那么第一域服务器13a将包括设置ETag指令的响应传达到客户端装置11,其中在步骤322处,ETag被设置成第一域cookie的值(或至少从第一域cookie数据导出的值)。以此方式,实际上,web浏览器已将第一域cookie值内所记录的信息存储于ETag中。

另一方面,如果请求伴随着ETag值,那么第一域服务器13a可在步骤323处将指定对于ETag或域cookie不需要更新的响应传达到客户端装置11。等效地,响应可为刷新ETag值和第一域cookie中的任一个或两个的指令(例如,这在ETag和域cookie中的任一个或两个具有有限寿命的情况下可为有用的)。

图3因此定义可将与一个网页相关联的第一方域cookie的数据复制到与另一网页相关联的第一方域cookie的机制。因此,数据仅需要关于一个网页确定一次,且接着在与其它域相关联的任何其它网页当中传播。因此,图3的方法提供用于记录相同信息的每一不同域的第一方域cookie-因此,实际上,第一方域cookie的集合可有利地提供与单个第三方cookie类似的功能。

根据一实施例,相对于原始信息修改相关域cookie中的一个或多个。举例来说,域cookie可经历匿名化例程以便混淆原始信息。优选地,修改通过相关域服务器13可逆-使得准确地启用域服务器13以从其相关联的域cookie确定原始信息。举例来说,可使用例如域cookie的域名利用加密密钥使得每一域cookie与从相同信息导出的不同加密输出相关联。在另一实例中,附加已知大小(即对相关域服务器13已知)的随机前缀和/或后缀。

图4A和4B展示图3的实施例的示例性实施。在步骤400处,客户端装置11上的web浏览器的用户将web浏览器引导到第一web服务器12a托管的第一网页。在步骤401处,第一web服务器12a传回包括HTML代码的响应,所述HTML代码定义内容以供显示于客户端装置11上。在步骤402处,响应还包括包括如参考图3所论述的指令的第一可执行代码。替代地,响应包括从第一域服务器13a获得所述第一可执行代码的指令,且web浏览器因此获得第一可执行代码(再次,在步骤402处)。

在步骤403处,web浏览器由于第一可执行代码的执行而与第一域服务器13a通信且在可用时和与第一域服务器13a相关联的第一域cookie通信。第一域服务器13a还获得ETag值(或更一般来说,可执行代码不可访问且第一域服务器13a可访问的网页特定数据,无关于哪一域服务器13最初设置网页特定数据值(即当设置网页特定数据时访问哪一域))。举例来说,客户端装置11的web浏览器访问位于第一域服务器13a上的web资源,例如图像,且在这样做时,将ETag值(如果可用)传达到与所述图像相关联的第一域服务器13a。第一域服务器13a因此被配置成识别特定图像的ETag值。第一域cookie在先前由于先前通信由第一域服务器13a设置时将可用。ETag在先前由于先前通信由域服务器13中的任一个设置时将可用(例如当将图像传达到客户端装置11时,与图像相关联地设置适合ETag值(根据本文中所描述的实施例))。

图4A展示在步骤404处确定的第一域cookie和ETag都不可用于传达到第一域服务器13a的情形。在此情况下,图3的方法产生步骤313(设置第一域cookie和ETag的值)。ETag和第一域cookie的值可由第一域服务器13a、第一web服务器12a或内容服务器14(取决于实施)产生。

根据此特定实例,在步骤405处,在第一通信中设置第一域cookie(第一域)。web浏览器接着被配置成再次与第一域服务器13a通信,从而在步骤406处发送第一域cookie(其现在由于步骤505而设置)的数据。考虑到图3的方法,第一域服务器13a将在步骤322处结束-在步骤407处将响应传达到客户端装置11,从而指示其设置等效于第一域cookie(第一域)的ETag。在此意义上,第一可执行代码基本上运行两次-第一次执行得出图3的步骤313的结果且第二次执行得出图3的步骤322的结果。

图4B展示在步骤404处确定的第一域cookie(第一域)不可用但ETag可用于传达到第一域服务器13a的情形。在此情况下,图3的方法产生步骤314(基于ETag设置第一域cookie的值)。暗示web浏览器已访问在不同于当前网页的域上托管的网页,但利用相关域服务器13。因此,另一域cookie已经相对于不同域设置并且可用于针对第一域设置第一域cookie。

根据此实例,在步骤408处,第一域cookie(第一域)由从第一域服务器13a传达到客户端装置11的响应设置。图3的方法的进一步执行可在当前程序期间发生,但将产生图3的步骤323-不需要动作。同样,在此意义上,第一可执行代码可运行两次-第一次执行得出图3的步骤314的结果且第二次执行得出图3的步骤323的结果。

图3的实施例(和图4A和4B的实例)因此利用存储于客户端装置11的web浏览器上的非cookie网页特定数据以在访问第一域的网页时有效地“发信号通知”是否存在另一相关域的另一域cookie。

根据一实施例,传播服务器16与传播器域(例如www.exampleserver.com)相关联,如图5A中所示。传播服务器16被配置成促进cookie信息在域cookie当中的传播,所述域cookie各自与多个域服务器13a到13c中的一个相关联-也就是说,传播服务器16可促进与每一域服务器13a到13c交换数据。传播服务器16与网络15进行数据通信。有可能的是,域服务器13中的一个或多个可体现为传播服务器16的逻辑功能,但可能优选的是,每一域服务器13在逻辑上和/或物理上不同于传播服务器16。图5A中还展示多个web服务器12a到12c。如同图1,代表性客户端装置11还展示为与网络15通信;因此,使得客户端装置11能够经由所述网络15与每一web服务器12a到12c、每一域服务器13a到13c和传播服务器16通信。相关地,每一域服务器13a到13c可如同如上文所描述的web服务器12a到12c中的一个在相应域处寻址。

在一实施中,每一域服务器13可经由其相关联域的子域寻址。可视需要标记子域,相关的是所述子域各自可解析到相关联域服务器13的网络地址(例如IP地址和任选地TCP或UDP端口编号)。每一域服务器13可与其相关联的web服务器12位于相同或不同IP地址处,取决于实施。

图5B展示涉及设置与第一域相关联并且因此可由第一web服务器12a和第一域服务器13a访问的第一域cookie的方法,取决于与传播器域相关联的共同cookie(“传播器cookie”)的存在和值。举例来说,共同cookie可为与特定客户端装置11相关联的标识符(在此情况下,在本文中被称作“userID”)。

在步骤500处,客户端装置11将对内容的请求传达到第一web服务器12a。请求通常将指定期望内容的特定网页-应注意,可选择默认网页(例如http://www.example1.com/index.html)。在步骤501处,将响应从第一web服务器12a传达到客户端装置11,根据请求确定所述响应。所述响应包括用于由客户端装置11的web浏览器执行(例如以JavaScript代码形式)的域服务器通信指令(作为可执行代码),所述域服务器通信指令被配置成使得客户端装置11与第一域服务器13a通信。通常,所述响应还包括用于显示于web浏览器上的内容。替代地或另外,第一web服务器12a可将重新引导指令(例如经由响应中的位置标头)发送到第一域服务器13a。

在步骤503处,第一域服务器13a从客户端装置11接收通信并分析所述内容以确定是否存在先前设置的第一域cookie(在HTTP情况下通常在标头中)。

在存在第一域cookie(例如不需要cookie传播)的情况下,所述方法简单地前进到网页呈现步骤512(下文论述),其可由将指令传达到客户端装置11以与第一web服务器12a进行进一步通信的第一域服务器13a实现。

在不存在第一域cookie(例如需要cookie传播或初始创建)的情况下,在步骤504处,第一域服务器13a将响应从第一web服务器12a传达到客户端装置11。所述响应包括用于由客户端装置11的web浏览器执行(例如以JavaScript代码形式)的传播服务器通信指令(例如作为可执行代码),所述传播服务器通信指令被配置成使得客户端装置11与传播服务器16通信。替代地或另外,第一域服务器13a可将重新引导指令(例如经由响应中的位置标头)发送到传播服务器16。作为响应,在步骤505处,客户端装置11将请求传达到传播服务器16,所述请求任选地包含识别第一域服务器13a的信息(例如,信息可在URL中或经由合适的网络协议传递)。

在步骤506处,传播服务器16从客户端装置11接收通信并在步骤505处分析内容以确定是否存在传播器cookie(在HTTP情况下通常在标头中)。传播器cookie的存在指示客户端装置11先前已访问相关域(例如第二或第三域),从而使得相对于相关域设置域cookie(例如第二域cookie或第三域cookie)。传播器cookie的不存在指示客户端装置11先前尚未访问相关域且具有针对相关域设置的域cookie。

在不存在传播器cookie的情况下,在步骤507处,传播服务器16被配置成确定用于记录于客户端装置11上的新传播器cookie内的信息。所述信息可随机产生或程序产生,或替代地经由与内容服务器14的通信产生(图5B中未展示)。

在任一情况下,在步骤508处,传播服务器16将响应传达到客户端装置11。所述响应包括用于由客户端装置11的web浏览器执行(例如以JavaScript代码形式)的域服务器通信指令(例如作为可执行代码),所述域服务器通信指令被配置成在步骤509处使得客户端装置11与原始域服务器13(即在此实例中,第一域服务器13a)通信。替代地或另外,传播服务器16可直接实现到第一域服务器163的重新引导(例如经由响应中的位置标头)。

在执行步骤507的情况下,所述响应还包括设置传播器cookie命令以使得客户端装置11设置与传播器域相关联的记录所产生信息的传播器。

作为响应,客户端装置11接着在步骤510处将请求传达到第一域服务器13a。响应于请求,在步骤511处,第一域服务器13a被配置成确定传播器cookie中所记录的信息并将包括设置cookie命令的响应传达到客户端装置11以使得客户端装置11设置与第一域相关联的记录信息的第一域cookie。

在一实施例中,域服务器13a从客户端装置11的web浏览器获得信息。举例来说,步骤508的域服务器通信指令包含传播器cookie中所记录的信息且被配置成使得客户端装置11的web浏览器将信息(其优选地经加密)传达到第一域服务器13a。举例来说,信息可在URL中或经由合适的网络协议传递。此处,客户端装置11有效地用作中介,其可有利地允许方法避免传播服务器16与域服务器13之间的直接通信-此可实现改进的隐私性和/或安全性(或至少改进的感知)。

在一替代实施例中,传播服务器16被配置成识别第一域服务器13a(更一般来说,起始客户端装置11与传播服务器16的通信的特定域服务器13,可从由传播服务器16接收的请求导出),并将所产生或先前所记录的传播器cookie的信息(或至少从所记录信息导出的数据)与通常识别特定客户端装置11的信息一起传达到第一域服务器13a。

所述响应还包括用于由客户端装置11的web浏览器执行(例如以JavaScript代码形式)的web服务器通信指令(例如作为可执行代码),所述web服务器通信指令被配置成使得客户端装置11与原始web服务器12(即在此实例中,第一web服务器12a)通信。替代地或另外,第一域服务器13a可将重新引导指令(例如经由响应中的位置标头)发送到第一web服务器12a。

所述方法接着前进到网页呈现步骤512(还可在步骤503之后到达所述步骤)。在此步骤处,第一web服务器12a与客户端装置11(其可包括通信的多个单独实例)通信且可利用第一域cookie的内容产生个性化内容-第一域cookie可由第一web服务器12a访问,由于其与第一域服务器13a共享第一域。

因此,图5B的方法可用以跨越各种web服务器12a到12c有效地传播cookie(或更一般来说,cookie中所记录的信息可在不同域cookie当中传播)。传播器cookie用以发信号通知传播服务器16访问特定web服务器12的客户端装置(经由其存在或不存在)是否先前已访问另一域上的另一相关web服务器12,及因此是否先前已访问预期通常可用于所述多个相关web服务器12(例如所有web服务器12a到12c)的先前产生的信息。举例来说,所述信息可为适合于识别特定客户端装置11(或所述客户端装置11的特定用户)先前已访问不同域上的相关网站的UserID。在传播器cookie中重新编码的信息为例如UserID等标识符的情况下,域cookie可将UserID或从UserID导出的信息记录为DomainID(即每一DomainID用于特定域,但以使得能够识别用户的方式相关)。因此,具有相关DomainID的域cookie的集合可由相关web服务器12用以针对客户端装置11产生个性化信息。域服务器1与传播服务器16之间的直接通信实现有效传播。

根据一实施例,参考图7A到7C,传播服务器16与规则模块18介接(参见图7A)。规则模块18可为传播服务器16的逻辑功能(本文中所假设)或可实施为与传播服务器16进行数据通信的不同物理或逻辑服务器。还展示四个web服务器12a到12d,其中web服务器12a、12b与第一群组20a相关联且web服务器12c和12d与第二群组20b相关联。尽管web服务器12可根据任何特定关系进行分组,但出于本发明目的,假设第一群组20a包括第一实体管理(例如拥有)的域的web服务器12a、12b且第二第一群组20b包括不同于第一实体的第二实体管理(例如拥有)的域的web服务器12c、12d。相关地,根据本实施例,传播服务器16被配置成管理用于所有web服务器12a到12d(更一般来说,属于不同群组20的web服务器12)的cookie传播。

规则模块18被配置成在将包括域cookie的响应传达到客户端装置11和/或域服务器13(取决于实施例)之前应用传播规则。传播规则用于确定是否设置域cookie,并且如果设置了域cookie,那么确定用何种特定数据(例如,所述特定数据可以不同格式记录对于其它域cookie和/或传播cookie共同的信息,例如由于可与特定域相关联的唯一加密)。

在一实施例中,用于产生特定域cookie的数据的传播规则存储于相关联传播cookie自身中;因此,在此实施例中,传播规则存储于用户的web浏览器中,这可有利地避免数个不同用户的传播规则的中心位置。在此实施例中,传播规则通常以加密形式记录,使得传播cookie的直接读取并不揭露存储于所述传播cookie中的传播规则。

在一实施例中,规则模块18替代地或还被配置成维持识别已知(即先前确定的)传播cookie和相关信息的数据结构-例如作为数据库(本文中为“ID数据库”)。当确定新传播cookie时且当改变相关信息时,可更新数据结构。对于每一用户,相关信息包含传播规则(其可为默认或定制的)。

图7B展示根据一实施例的用于通过传播服务器16确定响应的方法。图7B的方法假设已经存在与特定客户端装置11(或更尤其,客户端装置11的web浏览器)相关联的传播cookie-也就是说,web浏览器先前已访问web服务器12中的任一个,无关于群组20,或在实施图7B之前最新产生传播cookie。传播cookie有效地表示用户(或特定客户端装置11或特定客户端装置11上的web浏览器)并且因此可被视为标识符。因此,出于解释的目的,特定传播cookie的内容记录UserID。

在一实施例中,图7B的方法执行为图5B的步骤508的部分。在此情况下,传播服务器16被配置成区分存储于传播cookie中的信息与存储于域cookie中的信息。

在步骤700处,规则模块18接收传播cookie中重新编码的信息(此处假设为UserID),且在步骤701处,接收识别正由客户端装置11访问的web服务器12的域的信息(此信息可同时提供)。

在步骤702处,规则模块18接着确定与用户(或更尤其,传播cookie)相关联的特定传播规则。举例来说,取决于实施例,规则模块18可从实际传播cookie获得传播规则。

在另一实施例中,将UserID与ID数据库的记录进行比较以检查UserID是否先前已存储于ID数据库中。如同其它实施例,UserID可例如经由使用加密算法以导出格式存储于实际传播cookie内。相关地,UserID可从传播cookie导出。

如果规则模块18无法确定特定传播规则(例如取决于实施例,不存储于传播cookie中或不存在于ID数据库内),那么方法前进到步骤703,其中规则模块18确定并选择默认规则集以应用于后续步骤706处。可存在单个默认规则集或可存在多个默认规则集,规则模块18被配置成视需要确定所述默认规则集中的一个(例如,基于相关域、关于客户端装置11的信息或其它因素)。

另外,在步骤704处,规则模块18将所选择规则集存储为与传播cookie相关联的传播规则。举例来说,在相关实施例中,传播规则可通过设置或更新客户端装置11上的传播cookie设置为传播cookie的内容。对于利用ID数据库的实施例,规则模块18参考传播cookie信息以及可简单地与所选择默认规则集相同的用户特定规则集而将所选择规则集存储于其ID数据库内。然而,可在图7B的方法期间例如通过网站重新引导或“弹出式”为用户提供选项,以定制默认规则集,之后将其记录为用户特定规则集。

另一方面,如果UserID确实存在于传播cookie或ID数据库内(在适当时),那么方法前进到步骤705。规则模块18选择与UserId(更尤其,传播cookie)相关联的特定传播规则。方法接着前进到步骤706。

在步骤706处,规则模块18应用所选择规则集以确定域cookie的值(DomainID)以供与相关域服务器13通信(例如,如由图5B的步骤508所使用)。相关地,存储于域cookie中的DomainID可不同于UserID。还应理解,在一实施例中,规则模块18可确定不设置DomainID,如果规则集产生此确定-即由于所述实施例不产生域cookie。

在一实施中,规则集被配置成识别允许cookie传播的域和不允许cookie传播的域。举例来说,特定传播规则可定义用户已同意允许cookie传播的某些域和/或用户尚未同意允许cookie传播的某些域。

在用户特定规则集的情况下,已经产生传播cookie的客户端装置11的用户可在一实施例中访问与特定传播cookie相关联的仪表板(或其它接口)以便将特定域设置为不被允许或被允许的。类似地,可使得用户能够允许或不允许某些类别的域(例如所有销售域、所有新闻域等)。仪表板可提供为与传播服务器16相关联的网站(直接托管于传播服务器16上或经由单独的web服务器(未展示))。

返回参考图7A中所示的群组20,在一实施例中,规则模块18进一步被配置成基于正由客户端装置11访问的特定域而确定域cookie。举例来说,第一群组20a可与第一群组域cookie相关联且第二群组20b与第二群组域cookie相关联-因此产生的特定域cookie取决于特定群组20。在此实例中,域cookie在客户端装置11与web服务器12a或12b通信时设置为第一群组域cookie的值且在客户端装置11与web服务器12c或12d通信时设置为第二群组域cookie的值。

此实施例可为有利的,其中传播服务器16和域服务器13由用于数个不同实体(及因此群组20)的服务提供商提供为服务的部分。因此,实际上,仅在特定群组20的域当中传播cookie-因此,一个实体不具备与另一实体相关联的cookie信息。此实施例在与用户特定规则集的用户控制(例如经由仪表板)组合时也可为有利的,因为用户被赋予对相关域的数个不同群组20的控制。举例来说,如果用户选择网站的类别以不允许传播,那么跨越许多不同实体应用此选择。举例来说,如果用户不允许“新闻网站”当中的传播,那么此可适用于实体A的新闻网站和实体B的新闻网站。

还预期某些实施将使得用户能够同意在两个或更多个群组20上具有共同域cookie,但有可能通常默认地不允许此类跨群组传播。

图7B的方法可适合于执行为图3的步骤313或314的部分-即当确定将在客户端装置11上设置的域cookie时。此后一情况需要网页特定数据(例如ETag)与域cookie的值之间的分离,其中ETag可扮演传播cookie的角色。

在一实施例中,可修改先前设置的特定域的域cookie。举例来说,先前允许传播到特定域的用户可改变为不允许使用所述域的UserID导出信息。类似地,用户可决定取消或删除对UserID和DomainID的所有引用-应更新客户端装置11上的cookie以反映此情况。

图7C展示对图5B的方法的修改-先前描述且不变的步骤根据本文中的先前论述。经修改步骤用“A”后缀表示。步骤502总是前进到步骤504-如果识别域cookie,那么在步骤505A处,将指示域cookie的存在的信息传达到传播服务器16。这可通过使得客户端装置11传达信息作为请求的部分的传播服务器通信指令实现,例如所述信息可在URL中或经由合适的网络协议传递。在一实施例中,客户端装置11传达指示域cookie的存在的旗标(例如,如果对于供传播服务器16确定前进到经修改步骤506A,域cookie的存在为相关的但实际内容为不相关的)。

经修改步骤506A检查客户端装置11上是否存在传播cookie和域cookie。然而,传播服务器16在确定不存在传播cookie和域cookie后进行预定义动作。在一实施中,不存在传播cookie意味着用户根本不再希望信息可用-实际上,应传播“删除cookie”命令。

因此,在步骤507A处,传播服务器16产生删除域cookie指令,其包含于在步骤508A处传达的域服务器通信指令内(例如作为由客户端装置11的web浏览器执行的可执行代码)、被配置成使得客户端装置11与原始域服务器13(即在此实例中,第一域服务器13a)通信。替代地或另外,传播服务器16可直接实现到第一域服务器163的重新引导(例如经由响应中的位置标头)。域服务器通信指令包含可由域服务器13理解以删除域cookie的指令。

作为响应,客户端装置11接着在步骤510处将请求传达到第一域服务器13a。响应于请求,在步骤511处,第一域服务器13a被配置成在步骤511A处用删除cookie指令对客户端装置11作出响应以基于包含于域服务器通信指令内的指令删除域cookie(或在另一实施中,将其设置为空值或随机值),进而有效地移除所传播信息。

所述响应还包含用于由客户端装置11的web浏览器执行(例如以JavaScript代码形式)的web服务器通信指令(例如作为可执行代码),所述web服务器通信指令被配置成使得客户端装置11与原始web服务器12(即在此实例中,第一web服务器12a)通信。替代地或另外,第一域服务器13a可将重新引导指令(例如经由响应中的位置标头)发送到第一web服务器12a。

所述方法接着前进到网页呈现步骤512。在此步骤处,第一web服务器12a与客户端装置11通信(其可包括通信的多个单独实例),然而,所产生内容并不基于先前已存储于第一域cookie中的信息。

关于图7C,应注意,在存在传播器cookie和域cookie两者的情况下,传播服务器16可通过有效地将域cookie和/或传播器cookie重置为其相同值或不发送cookie设置命令来继续。

还可相对于第一域cookie确实存在的情况来修改所述方法。在此情况下,传播服务器16检查第一域cookie是否包括符合当前传播规则的数据。如果第一域cookie信息与传播cookie的信息不一致(比较涉及传播规则的应用),那么传播服务器16被配置成确定对第一域cookie的更新。举例来说,如果用户不允许对相关联域的传播,那么传播服务器16可将删除cookie命令传达到客户端装置11的web浏览器,进而删除域cookie。如果应改变域cookie的值,那么这也可作为新设置域cookie(等效于覆盖)命令传达。

参考图7A到7C所描述的实施例可有利地实现通过允许用户选择允许cookie传播的域的隐私性与通过使得内容提供商能够基于一致地识别特定用户而提供定制内容的电子商务功能性之间的平衡。

可能需要提供向客户端装置11上的web浏览器通知不同域的web资源之间的特定重新引导受信任(例如web服务器(和域服务器)的域与传播域)的方式。类似地,可能需要提供对于可与不同域相关联的网页特定数据(尤其ETag)的信任。在每一情况下,所涉及技术避免第三方cookie的某些隐私性和安全性问题,但从信任视角仍可被视为不合需要的。

在一实施例中,定义web浏览器可被配置成识别的信任信号。信任信号应为可由web浏览器访问且可被视为有可能(如果不确定)被控制且源自控制特定域的同一实体的数据。举例来说,对于实体,可能需要使得重新引导到或访问与传播域或另一第二域相关联的网页特定数据(例如ETag)的第一域上的域服务器12能够这样做,因为所述实体因为利用本文中所描述的实施例故意实施服务而信任另一域。合适的信任信号可通知web浏览器允许与另一域交互,甚至在web浏览器原本将阻止此交互的情况下。举例来说,某些web浏览器最近已停止跨越域提供ETag访问。

在所考虑的特定实施例中,域服务器12(即实体)的域的DNS经修改-尤其,输入识别每一信任域的记录(此处假设为TXT记录)(例如,作为明文列表)。例如,在第一域、第二域、第三域和传播域的情况下,第一域、第二域和第三域的DNS条目的TXT记录经修改为指代每一其它域(包含传播域)。

DNS TXT记录可以可靠地假设为由控制所述域的同一实体控制,且可因此被视为受信任的。另外,web浏览器将有可能在用户正访问客户端装置11上的域的会话期间高速缓存DNS信息。因此,记录可用于web浏览器(有可能在高速缓冲存储器中)且因此可易于检查。

因此,当指示web浏览器重新引导(JavaScript、位置标头等)或访问另一域的信息时,其将另一域与DNS TXT记录进行比较以确定是否存在所述域。当web浏览器存储ETag(高速缓存)时,举例来说,其可使用同一逻辑来基于那些域分割高速缓冲存储器,使得跨越整个集合高速缓存同一资源且可共享信息和高速缓冲存储器。还设想此DNSTXT记录方法可用作“第二方cookie”或“网络cookie”信号,以允许针对那些域设置服务器侧cookie。也就是说,实际上,实行第三方cookie(从其它域访问)但没有固有的隐私性和安全性问题。这意味着如果例如example.com呼叫来自example01.com的资源,那么example01.com可在属于example01.com的浏览器内设置cookie,尽管用户在example.com上(即这通常意味着第三方cookie)。

此方法的某些优点可包含以下中的一个或多个:(1)仅域所有者可控制信任,意味着JS、浏览器或其它任何人无法操控此信息;(2)即使某人读取TXT记录,对他们来说也毫无意义;以及(3)如果公司从其网络添加或移除域,那么可立即有效地传播改变,不需要对网站或任何其它组件进行更新。

根据一实施例,参考图6,提供有一种用于利用与内容服务器14相关联的cookie(“内容cookie”)以确定域cookie的值的方法。类似地,所述方法描述使用存在于客户端装置11上的域cookie来确定内容cookie以传达到第三方服务器14。此实施例可有利地使得第三方内容服务器14能够继续利用第三方cookie,同时避免在客户端装置11上设置此类cookie。

在此情况下,内容服务器14与不同于web服务器12和其相关联域服务器13两者的域相关联,并因此被禁止响应于web浏览器访问web服务器12的网页而直接设置web浏览器上的cookie值(或至少期望内容服务器14不设置第三方cookie)。

因此,域服务器13在存在于客户端装置11上的那些(域cookie)与内容服务器14所利用的那些(内容cookie)之间有效地转换cookie值。图6的方法可在图3的步骤312的情况下应用-也就是说,不存在与第二网页相关联的域cookie。实际上,域服务器13在内容服务器14的内容cookie(实际上为第三方cookie)与客户端装置11上设置的第一方cookie(域cookie)之间转换。

内容cookie可与不同功能相关联。举例来说,内容cookie可实现不同网页当中的跟踪或可实现改进的识别辨识。

根据此实施例,web浏览器将对由内容服务器14提供的信息的请求传达到域服务器13。本实施例进而利用域服务器13作为用于内容服务器14的代理。应理解,可使用不同代理技术利用所描述的实施例。还应理解,内容服务器14的web内容可直接访问;然而,重要的是,在客户端装置11与内容服务器14之间经由域服务器13传递cookie相关信息。

在特定非限制性实例中,内容服务器14可被配置成将广告内容提供到web浏览器以伴随由web服务器12提供的内容。如根据已知技术,动态地且(在可用的情况下)至少部分地基于与web浏览器(或更尤其,客户端装置11的用户)相关联的识别信息而提供广告内容。在现有技术中,此识别信息可存储于存储在web浏览器上的第三方cookie内-因此,无论在web浏览时正访问的特定域,可提供目标广告。

在步骤600处,web浏览器将对来自内容服务器14的内容的请求传达到域服务器13(通常,所述请求将识别内容服务器14,但在一些情况下,域服务器13可自动识别内容服务器14)。应理解,请求可为仅预期传回设置与内容服务器14相关联的内容cookie的指令的请求,但通常预期提供具有用于显示于web浏览器上的内容的响应。

域服务器13接着在步骤601处检查是否存在由域服务器13代表内容服务器14设置的先前设置域cookie。步骤601可包括实施图3的方法(例如包含执行web浏览器上的第一代码)-因此,如果已经与不同域上的另一网页相关联地设置域cookie,那么其被传播到与当前网页的域相关的域cookie且因此使其可用于与当前网页相关的域服务器13且因此被确定为存在。当然,如果已经存在与当前网页相关的域cookie,那么其也将被确定为存在。

如果未设置域cookie(先前或经由传播),那么在步骤602处,域服务器13接着将对相关第三方内容的请求传达到第三方服务器14。请求不伴随着供内容服务器14使用的内容cookie-也就是说,域服务器13并不基于现有域cookie产生内容cookie。在步骤603处,内容服务器14传回内容(传回到域服务器13或直接传回到客户端装置11的web浏览器)。另外,内容服务器14的响应包含设置包括一些数据的内容cookie的指令。在广告内容实例中,内容服务器14可产生新标识符以伴随用于识别客户端装置11的内容cookie。

在步骤604处,域服务器13基于由内容服务器14设置的内容cookie的值而产生域cookie。举例来说,可根据应用于内容cookie的数据的加密算法或哈希算法产生域cookie。域cookie可被视为经转换的“第三方”cookie,因为内容cookie与不同于域cookie的域(且另外,web服务器12的域)相关联。在步骤605处,域服务器13产生并发送用于客户端装置11的web浏览器设置域cookie的指令(例如具有使得处理服务器cookie可用于可执行代码的属性,例如通过不设置HttpOnly)。在步骤606(其通常与步骤605同时发生)处,将内容从域服务器13传达到客户端装置11。

作为步骤605的结果,已经在客户端装置11上设置域cookie,将从由内容服务器14设置的域cookie导出的信息记录于内容cookie中。然而,如所论述,域cookie为第一方cookie。域cookie可在未来根据例如图3的方法传播且因此在客户端装置11访问与不同域相关联的其它相关网页时可用。

返回参考步骤601,如果设置了域cookie,那么在步骤610处,域服务器13接着将对由所述服务器14提供的相关内容的请求传达到内容服务器14。请求伴随着供内容服务器14使用的域cookie的内容或从所述域cookie导出-也就是说,域服务器13基于域cookie传达cookie(或所述信息)。在步骤611处,内容服务器14传回内容(传回到处理服务器13或直接传回到客户端装置11的web浏览器)。内容服务器14不需要产生新内容cookie。通常,至少部分地基于传达到内容服务器14的cookie信息(从域cookie导出)(例如目标广告)而产生内容。在步骤612处,此内容接着例如经由充当代理的域服务器13传达到客户端装置11的web浏览器。

有利地,图3和6的方法可一起操作以实现类似于第三方cookie所提供的效应,同时仅在客户端装置11上设置第一方cookie。也就是说,多个第一方域cookie可记录从内容cookie导出的相同信息,所述多个第一方域cookie各自与特定域相关联。每一域cookie接着可用以产生cookie信息以供传达到内容服务器14。从内容服务器14的视角,接收相同值,尽管特定web资源正由客户端装置11的web浏览器访问,并因此可识别web浏览器(或与特定web浏览器组合的特定用户)-内容服务器14并不需要修改以便将内容和cookie提供到客户端装置11,因为通过域服务器13处置在第三方cookie与第一方cookie之间的转换。

在一变化形式中,关于图5B的方法,传播服务器16可通过在来自内容服务器14的内容cookie与每一网页域的域cookie之间转录而扮演域服务器13的角色。

在一实施例中,需要设置用于每一域cookie的辅助cookie。每一辅助cookie可记录与其相关联域cookie相同的信息,或至少可从域cookie导出的信息(或从中导出域cookie)。实际上,每一辅助cookie设置将包括相同信息的表示,但通常,域cookie为辅助cookie的经修改版本,或反之亦然。每一辅助cookie设置有禁止web浏览器上执行的可执行代码访问的属性-也就是说,可设置例如HttpOnly属性。此类实施例可提供优点,因为可在无HttpOnly属性的情况下设置由于与第三方内容服务器14的交互而设置的域cookie-因此,域cookie可由例如JavaScript等可执行代码读取,但辅助cookie不是。

根据此实施例,每当设置域cookie时,还设置辅助cookie。然而,替代读取域cookie的值以用于产生信息到内容服务器14的传达,访问相关联的辅助cookie。

在一实施例中,辅助cookie在值上等于内容cookie,且域cookie为内容cookie的匿名化等效物。此实施例可为有用的,其中优选的是设置不可由可包括非加密信息(例如以明文)的可执行代码(例如设置了HttpOnly)访问的cookie-即当在现有技术中设置时,辅助cookie执行类似于第三方cookie的功能。然而,使用加密功能匿名化域cookie-因此,将其设置为可由可执行代码(例如未设置HttpOnly)访问的风险较低,因为所含数据不可易于读取。辅助cookie可具有将内容cookie转换成第一方cookie的效应-其似乎具有完全相同内容,其仅由网页域而非不同域设置。

本文中所描述的实施例可用于各种实施。先前论述的实例用于广告跟踪。出于网站访问目的,另一实例为用户识别。在现有技术中,第三方cookie可用以识别特定web浏览器,如不同域上托管的不同网站所已知-以此方式,每当访问这些网站中的一个时,特定用户可避免识别自身。本文中所描述的实施例可用以提供与第三方cookie相同的效应,同时仅在客户端装置上设置第一方cookie。

一般来说,在第三方cookie在现有技术中用于提供不同域上的网站以访问相同cookie数据的许多情形下,某些实施例可适合于提供类似效应,同时仅在客户端装置11上设置第一方cookie。

图8A和8B展示用于实施图8C和图8D中所示的实施例的拓扑,其中代理服务器19被配置成拦截针对与客户端装置11不同的web服务器12a、12b的请求。web服务器12a、12b与不同域相关联(例如第一域针对第一web服务器12a且第二域针对第二web服务器12b)使得一个域的第一方cookie不可由另一域的web服务器12等读取。代理服务器19可为代理服务器19或域服务器13的逻辑功能或可实施为不同物理或逻辑服务器。

这可以不同方式实现,例如参考图8A,代理服务器19可经由合适配置的DNS记录与web服务器12的域相关联,且代理服务器19被配置成直接与web服务器12通信(例如,经由网络15或在相同物理硬件内或在与网络15分离的直接数据通信中实施为不同逻辑功能)。代理服务器19被配置成基于请求的内容或与请求相关联的内容而识别用于特定所接收请求的适当web服务器12。

在另一实例中,如图8B中所示,请求由相关web服务器12接收,所述相关web服务器接着被配置成将请求转发到代理服务器19(例如,经由网络15或在相同物理硬件内或在与网络15分离的直接数据通信中实施为不同逻辑功能),所述请求经修改并传回到相关web服务器12。类似地,通过web服务器12的响应首先转发到代理服务器19,其可修改响应并传回到web服务器12,所述web服务器接着将经修改响应传达到客户端装置11。

在任一实例中,代理服务器19被配置成在某些情况下修改意图用于相关web服务器12的来自客户端装置11的通信,且在某些情况下修改意图用于客户端装置11的来自web服务器12的通信。

相关地,web服务器12被配置成传达用于设置第三方cookie的设置cookie命令。图8A到8C的实施例被配置成修改所述命令以便引起设置第一方cookie,同时保持意图用于第三方cookie的信息。

在步骤800处,客户端装置11传达对内容的请求(例如经由网页请求),所述请求在步骤801处由代理服务器19接收。请求与第一域(例如www.example.com)相关联。请求通常将指定期望内容的特定网页-应注意,可选择默认网页(例如http://www.example.com/index.html)。相关地,所请求内容至少部分地由第一web服务器12a存储和/或产生。在步骤802处,代理服务器19针对所述请求识别期望的web服务器12(对于此实例,假设为第一web服务器12a)。

任选地,在步骤803处,代理服务器19基于所接收请求产生经修改请求。经修改请求包括所接收请求的信息或从所述请求导出的信息以便使得web服务器12能够提供所请求的内容。所述信息可包含所述请求的标头的一些或全部信息。在一实施例中,步骤803包括在产生经修改请求时复制请求的标头和正文信息。经修改请求可包含信息,其使得在从web服务器12接收到响应时能够识别原始客户端装置11。

在步骤804处,代理服务器19接着将经修改请求传达到第一web服务器12;即在步骤802处识别的web服务器12a。相关地,经修改请求识别代理服务器19以用于接收对经修改请求的响应,所述响应由第一web服务器12a产生且从所述第一web服务器接收到。也就是说,从第一web服务器12a的视角,经修改请求来源于代理服务器19。

在步骤805处,代理服务器19接收由第一web服务器12a产生的响应。出于例示方法的目的,所述响应包括一个或多个“设置cookie”命令,其为使用户装置11的web浏览器设置cookie的指令。

代理服务器19被配置成分析接收到的响应以便在步骤806处确定是否存在与不同于第一域的域相关联的一个或多个设置cookie命令-任何此类域均被称为“第三方域”。如果存在一个或多个所述命令,那么所述方法前进到步骤807。否则,所述方法前进到步骤808。

在存在一个或多个设置cookie命令的情况下,代理服务器19被配置成在步骤807处用对第一域的新引用替换对所述或每一第三方域的引用。代理服务器19通常被配置成解析响应以便识别并用第一web服务器12a的域替换对第三方域的引用,进而创建第一方cookie。第一方cookie的内容可相同于第三方cookie。

在步骤808处,如经处理,接着将响应传达到客户端装置的web浏览器。

图8D涉及可任选地与图8C的实施例一起实施的实施例。步骤800到804等效于图8C的步骤。

如同图8C,在步骤805处,代理服务器19接收由第一web服务器12a产生的响应。出于例示当前方法的目的,所述响应包括可执行代码(例如JavaScript),其包括使客户端装置11的web浏览器进行与一个或多个内容服务器14(此处假设一个)的通信的一个或多个实例的指令-本文中为内容服务器通信指令。所述响应通常还包括意图用于由接收web浏览器呈现的内容和/或用于由web浏览器执行的可执行代码(例如JavaScript)。

代理服务器19被配置成分析接收到的响应以便在步骤816处识别第三方服务器通信指令的一个或多个实例(例如通过解析响应)-即用以联系例如第二web服务器12b等另一web服务器12的指令。

在步骤817处,代理服务器19被配置成用对虚设web资源的引用替换对所述或每一第三方服务器通信指令的特定web资源的引用,其中利用第一web服务器12a的域,使得代理服务器19接收针对虚设web资源的通信。在步骤809处,如经处理,接着将响应传达到客户端装置的web浏览器。

在一实施例中,代理服务器19在存储器中维持映射数据库,其中在所产生虚设web资源与原始web资源之间维持映射记录(即相关联内容服务器通信指令的目标)。

图8E(其包含图8D的步骤)描述以下程序:其中在步骤820处,客户端装置11在接收到图8D的可执行代码后经由虚设web资源与代理服务器19通信。在步骤821处,代理服务器19将虚设web资源与其映射数据库进行比较以识别实际第三方web资源(例如在第二web服务器12b处)。在步骤822处,代理服务器19确定客户端装置11上是否存在与虚设web资源相关联的任何cookie(并且因此记录为第一域的第一方cookie)。根据所映射资源将任何此类cookie以及对内容的请求传达到第三方web资源(例如第二web服务器12b)。假设接收到响应,则将其内容传递到客户端装置11,且在必要时基于此传回内容重复图8C和8D的步骤。

以此方式,代理服务器19可有利地从客户端装置11隐藏第三方web资源,同时仍使得内容能够从第三方web资源递送到客户端装置11。

可在不脱离本说明书的精神和范围的情况下进行进一步修改。

相关技术
  • 一种用于电视系统的不同USB设备间数据拷贝方法
  • 用于在时钟速度不同的域之间的异步通道处传输数据的方法和装置
  • 用于在时钟速度不同的域之间的异步通道处传输数据的方法和装置
技术分类

06120115606704