我在这里读过这个问题: 互联网广告商如何使用第三方 Cookie? 关于第三方跟踪 cookie 的工作原理,但我仍然很困惑。我不明白如果我访问网站 A(一个有广告的普通网站),网站 B(一个广告网站)如何为我的计算机分配一个 ID,然后弄清楚我在网站 A 上,以及之后的其他网站有它的广告。
1 回答
首先,通过 HTTP 标头设置和检索 cookie。如果您的浏览器向http://example.com发送请求,则响应可能会返回一个标题为Set-Cookie: foo=bar
. 您的浏览器存储此 cookie,并且在对http://example.com的任何后续请求中,您的浏览器将foo=bar
在Cookie
标头中发送。(或者至少在 cookie 过期或被删除之前。)浏览器将foo=bar
cookie 与任何请求一起发送到http://example.com,无论是谁发起了请求或上下文是什么。如果http://example2.com包含标签<img src="http://example.com/img.jpg">
,则浏览器foo=bar
在获取http://example.com/img.jpg时将发送 cookie,即使http://example2.com负责发送请求。
因此,如果网站 A 包含网站 B 提供的广告,那么网站 B 可以在您的浏览器中设置 cookie。例如,可能网站 A 用于<iframe src="http://websiteB.com/ad.html></iframe>
从网站 B 投放广告。然后,当您的浏览器转到 fetchhttp://websiteB.com/ad.html
时,响应将返回一个Set-Cookie
标头,该标头设置一个带有一些唯一随机字符串的 cookie。如果网站 C 还包含来自网站 B 的广告,则当从网站 B 获取网站 C 上的广告时,将发送该唯一 cookie。
至于网站 B 如何知道您正在访问的实际网站,有多种方法。在某些情况下,当浏览器向一个网站发送请求时,它会告诉该网站您来自哪个网站。所以当浏览器去 fetch 时http://websiteB.com/ad.html
,它可能包含告诉网站 B 请求是由网站 A 发起的 HTTP 标头Referer: http://websiteA.com
。每次网站 B 看到它分配给您的唯一随机字符串时,它可以检查 Referer 标头以添加到你去过的地方的日志。如果A网站与B网站合作,A可以直接告诉B你来自A网站。例如,A网站可以通过使用包含B网站的广告<iframe src="http://websiteB.com/ad.html?referer=websiteA.com">
,然后B网站会在查询中看到referer细绳。
这有帮助吗?您链接的答案中是否有对您没有意义的特定部分?