第三方“追踪 cookie”是如何工作的?

我在这里读到这个问题: 网络广告商如何使用第三方 Cookie? 第三方跟踪 cookie 是如何工作的,但是我仍然很困惑。 我不明白如果我访问网站 A (一个有广告的普通网站) ,网站 B (一个广告网站)怎么能给我的电脑分配一个 ID,然后发现我在网站 A,和其他网站后,有它的广告。

43081 次浏览

首先,通过 HTTP 头设置和检索 cookie。如果浏览器向 http://example.com发送请求,那么响应可能返回一个表示 Set-Cookie: foo=bar的头。您的浏览器存储此 cookie,并且在任何后续请求 http://example.com时,您的浏览器将在 Cookie头中发送 foo=bar。(或者至少直到 cookie 过期或被删除。)浏览器将带有 Set-Cookie: foo=bar2请求的 foo=bar cookie 发送到 http://example.com,而不管是谁发起的请求或上下文是什么。如果 http://2.example包含标记 <img src="http://example.com/img.jpg">,那么浏览器将在获取 Set-Cookie: foo=bar0时发送 Cookie foo=bar,即使 http://2.example负责发送请求。

因此,如果网站 A 包含一个由网站 B 提供的广告,那么网站 B 可以在你的浏览器中设置一个 cookie。例如,网站 A 可能使用 <iframe src="http://websiteB.example/ad.html></iframe>来服务来自网站 B 的广告。然后,当您的浏览器去获取 http://websiteB.example/ad.html时,响应将返回一个 Set-Cookie头,该头用一些唯一的随机字符串设置 cookie。如果网站 C 也包括来自网站 B 的广告,那么当网站 C 上的广告从网站 B 获取时,该独特的 cookie 将被发送。

至于网站 B 如何知道你实际访问的网站,有很多种方法。在某些情况下,当浏览器向一个网站发送请求时,它会告诉该网站你来自哪个网站。因此,当浏览器获取 http://websiteB.example/ad.html时,它可能包含 HTTP 头 Referer: http://websiteA.example,告诉网站 B 请求是由网站 A 发起的。每当网站 B 看到它分配给你的唯一随机字符串时,它可以检查 Referer 头来添加到它的日志中,记录你去过的地方。如果网站 A 与网站 B 合作,A 可以直接告诉 B 你来自网站 A,例如,网站 A 可以包括来自网站 B 的广告使用 <iframe src="http://websiteB.example/ad.html?referer=websiteA.example">,然后网站 B 将看到查询字符串中的引用。