继上一篇文章说到,当SameSite属性默认值变化之后,跨站行为是否携带第三方Cookie会受影响。
这篇文章我们来说一下第三方Cookie的用处,原来我们在项目当中一直在用它(🤦♀️)。
什么是第三方cookie?
我们打开天猫的网站,看他的控制台application中的cookie:
我们可以发现,在天猫的网站下,不只是有.tmall.com下的cookie,还有.taobao.com下的很多cookie。
当我们在访问www.tmall.com/ 的时候,将与页面网址同站的Cookie叫做第一方cookie,与页面网址跨站的cookie称为第三方cookie(.taobao.com)。
举例:a.jd.com网址下
.mercury.jd.com下的Cookie---第一方Cookie
.a.taobao.com下的Cookie---第三方Cookie
但是,我从来没有在电脑上访问过taobao.com啊?为什么他会出现在我的cookie中呢?
第三方cookie是怎么得到的?
继续上面的例子,.taobao.com下的cookie是如何写入.tmall.com网站的?
---通过跨站发送请求
我们在打开天猫网站进行登录的时候,发现有一个pass.tmall.com/add 的请求,它就是天猫登录的接口,它把用户名和密码发给天猫的服务端。登录成功之后服务端通过set-cookie字段向本站注入了与登录相关的cookie(在.tmall.com域名下)。
同时页面会向淘宝(login.taobao.com)发送请求,由于淘宝和天猫用的是同一套登录系统,淘宝服务端可以获取到此时的天猫登录信息,将该信息通过set-cookie的形式绑定在.taobao.com域名下。
这样,打开淘宝之后,可以直接登录淘宝。
第三方cookie用在哪里
- 前端埋点
大多数的web网站会用一些第三方SDK(软件开发工具包)来监控前端网站的性能异常或者进行性能、数据分析。
当你访问主站时,会向第三方服务器发送请求,服务器响应会set-cookie一个标识,表示用户的唯一值ID。此后,用户的点击、浏览行为等都会以请求的方式携带此cookie发送给第三方服务器,从而实现记录和监控每个用户行为的功能。
这个第三方服务器一般会用自己的第三方域名去注册cookie,这个cookie对于主站来说就是第三方cookie。
- 用cookie做数据分析
当我们在搜索引擎或者视频网站上搜索一些关键词时,然后打开购物网站时就会出现我们刚才搜索过的关键词的相关产品推送。这好像已经是大家习以为常的事情了,但是这是怎么做到的呢?
我们以mmstat为例,它是阿里旗下的做数据统计、用户分析方面的网站,在很多的视频、购物网站等都存在。
我们打开优酷的网页版,随便点击一个视频进去,这个行为都会向gm.mmstat.com发送一个请求,将用户的相关操作告知mmstat,并且在每次请求当中携带表示用户身份的cookie。
当然,三方 Cookie 只是众多获取你喜好信息的一种方式,只不过这种方式更便捷,成本更低。
mmstat网站就会分析用户的行为。
当我们登录购物网站时,mmstat会将购物网站和mmstat的ID关联起来,这样就可以合并分析用户的行为了。
参考文章: