我阅读了这篇问题:互联网广告商如何使用第三方Cookie?,但仍然感到非常困惑。
我不明白的是,如果我访问网站A(一个正常的带有广告的网站),网站B(一个广告网站)如何为我的电脑分配一个ID,并找出我曾经浏览过的网站A及其后面出现的其他带有它广告的网站。
我阅读了这篇问题:互联网广告商如何使用第三方Cookie?,但仍然感到非常困惑。
我不明白的是,如果我访问网站A(一个正常的带有广告的网站),网站B(一个广告网站)如何为我的电脑分配一个ID,并找出我曾经浏览过的网站A及其后面出现的其他带有它广告的网站。
http://example.com
发送请求,则响应可能会返回一个标题,其中包含Set-Cookie: foo=bar
。您的浏览器存储此cookie,在任何后续对http://example.com
的请求中,您的浏览器都将在Cookie
头中发送foo=bar
。(或者至少直到cookie过期或被删除。)无论谁发起请求或上下文是什么,浏览器都将使用任何请求发送foo=bar
cookie到http://example.com
。如果http://2.example
包含标签<img src="http://example.com/img.jpg">
,则当浏览器获取http://example.com/img.jpg
时,它将发送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的广告,则当从网站B获取网站C上的广告时,将发送该唯一cookie。关于网站B如何知道你实际访问的是哪个网站,有多种方式。在某些情况下,当浏览器向一个网站发送请求时,它会告诉该网站你来自哪个网站。因此,当浏览器获取 http://websiteB.example/ad.html
时,它可能会包含 HTTP 头部 Referer: http://websiteA.example
,告诉网站B该请求是由网站A发起的。每次网站B看到它为你分配的唯一随机字符串时,它可以检查 Referer 头部,并将其添加到其记录你访问过哪些网站的日志中。如果网站A与网站B合作,A可以直接告诉B你来自网站A。例如,网站A可以通过使用 <iframe src="http://websiteB.example/ad.html?referer=websiteA.example">
包含来自网站B的广告,然后网站B将在查询字符串中看到 Referer。