关于客户端第一方与第三方Cookie的技术问询:document.cookie跨域设置疑问
你对第一方Cookie的理解是准确的:通过
document.cookie在当前浏览页面创建、归属当前域名(或未指定domain时默认绑定当前页面域名)的Cookie,就是第一方Cookie。你发现的
document.cookie指定异域名无法保存Cookie的情况,是浏览器安全机制的正常限制,这一结论完全正确。浏览器的同源策略和Cookie规则明确规定:客户端脚本仅能操作当前页面域名(或符合规则的上级域名)的Cookie,无法通过document.cookie直接为其他域名设置Cookie——这也是为了防止恶意脚本随意操作第三方域名的Cookie,带来安全风险。第三方Cookie并非仅存在于概念,它是通过第三方资源的服务器响应来实现的:
- 比如你在
a.com页面嵌入了b.com的图片、脚本或iframe,当浏览器请求b.com的资源时,b.com的服务器可以在HTTP响应头中添加Set-Cookie字段,指定domain=b.com,此时浏览器会正常保存这个属于b.com的第三方Cookie。 - 后续当你访问其他嵌入
b.com资源的网站时,浏览器会自动将这个Cookie携带给b.com的服务器,以此实现跨站身份验证、用户追踪等功能。
- 比如你在
简单来说:客户端脚本无法直接创建第三方Cookie,但第三方Cookie可以通过第三方域名的服务器响应结合资源加载的方式实际存在和生效。
内容的提问来源于stack exchange,提问作者shinyatk
相关产品推荐
相关产品推荐

