关于第三方客户端Cookie的概念及实际存在性的技术问询
你的理解是正确的:第三方客户端Cookie仅为概念,实际并不存在,原因如下:
浏览器同源策略的严格限制:通过
document.cookie创建Cookie时,只能设置当前域名(或其合法父域名,比如当前域名是blog.example.com,可设置domain=example.com)的Cookie。如果尝试指定完全无关的第三方域名(比如在example.com页面设置domain=google.com),浏览器会直接拒绝该操作,不会存储这类Cookie。你可以在浏览器控制台测试:执行document.cookie = "test=demo; domain=google.com",之后在开发者工具的Application面板里找不到这个Cookie。常见的“第三方Cookie”并非客户端创建:我们日常提到的第三方Cookie,都是由第三方服务器通过HTTP响应头
Set-Cookie设置的。比如你访问example.com时,页面加载了Google Analytics的脚本,该脚本会向analytics.google.com发起请求,Google的服务器通过响应头给自己的域名设置Cookie——这类Cookie是服务器端生成的,不属于客户端JS直接创建的范畴。
内容的提问来源于stack exchange,提问作者shinyatk
相关产品推荐
相关产品推荐

