大家好,我是年年!
今天介绍的是三方cookie相关的内容,本文会讲清:
- 什么是三方cookie?
- same-site的变化是什么,对我们的业务有什么影响?
- 为什么有了same-site,还需要same-party?
文章首发在我的公众号:前端私教年年
什么是三方cookie
三方指的是非同站,这个同站和同源协议中的源origin不同,它的要求更宽松。
同源协议中的源是由「协议+域名+端口」三者一起定义的,有一个不同就不算同源,而同站只受域名的约束,并且还不要求一模一样——只要「有效顶级域名+二级域名」相同,都算同站。
有效顶级域名是由Mozilla维护的一份表格,其中包括
.com、.co.uk、.github.io等。所以ai.taobao.com和www.taobao.com是同站的,因为它们的顶级域名(.com)+二级域名(.taobao)相同。
现在知道了什么是站,就可以很简单区分了:

打开开发者工具的application,domain一列中显示和当前域名不同的就是三方cookie
如何携带三方cookie
cookie的携带是浏览器自动的操作,规则是「不认来源,只看目的」,下面会讲清这句话的意思。
cookie下发
首先,需要先了解cookie的下发,服务端会将其下发到浏览器,方法是通过响应头中的set-cookie字段

里面还包括一些配置属性,关键的是其中的domain
domain
指定cookie未来使用时,可以被携带到哪些域名。其值可以设置为当前服务端的父级域名或其本身,比如ai.taobao.com设置的cookie的domain可以为.taobao.com,所设置值的所有子域名都可以使用,比如www.taobao.com。
如果不设置,会默认为当前域名
ai.taobao.com,并且只有自己可以使用,子域名sub.ai.taobao.com都不能使用,适用范围就小了很多,所以一般都会设置。
但是不能设置为跨站点的.baidu.com,也不能是顶级域名.com。
其余的属性还有这些:
- path:指定cookie

本文介绍了三方Cookie的概念,以及浏览器中SameSite属性的变化对业务的影响。主要内容包括SameSite属性的修改,从 Loose 到 Strict 的转变,以及 SameParty 的引入作为在限制三方Cookie的同时保持部分功能的解决方案。文章强调了SameParty如何让多个站点被视为一个第一方集合,以绕过某些限制。最后,文章提醒开发者应对未来浏览器全面禁用三方Cookie的可能做好准备。
最低0.47元/天 解锁文章
1886





