关于浏览器 Cookie 共享机制的学习与梳理

365视频游戏大厅 📅 2026-06-24 21:22:07 👤 admin 👁️ 1647 👑 915
关于浏览器 Cookie 共享机制的学习与梳理

关于浏览器 Cookie 共享机制的学习与梳理

前言: 为了彻底搞清楚浏览器 Cookie 的工作方式,特别是它在不同域名和 iframe 场景下的共享与隔离机制,我进行了深入的学习和总结。这份文档是我对整个 Cookie 知识体系的梳理,记录了从核心原理到复杂跨域场景的理解,希望能构建一个清晰、完整的知识框架。

一、我的理解:Cookie 共享的核心要素

我发现,一个 Cookie 能否在请求中被发送,主要取决于三个核心属性,它们共同定义了 Cookie 的"管辖范围"。

Domain (域名): 这是地域范围。它决定了哪些域名可以访问这个 Cookie。

如果不设置,就只有设置它的那个确切的域名(比如 www.example.com)能用。

如果设置为 .example.com,那么 example.com 的所有子域名(如 www.example.com, api.example.com)就都可以共享这个 Cookie。这是实现单点登录(SSO)的关键。

Path (路径): 这是路径范围。它在域名之下,进一步限制了只有访问特定路径的请求才能携带此 Cookie。

例如,Path=/docs 的 Cookie,在请求 /docs/page1 时会带上,但请求 /images/pic1 时就不会。

SameSite (站点策略): 这是我重点学习的部分,一个决定 Cookie 能否随"跨站请求"发送的关键安全属性。

Strict: 最严格,完全禁止跨站请求携带。即使是从别的网站点击链接过来也不行。适合用于交易、修改密码等敏感操作。

Lax (宽松,当前浏览器默认值 ): 相对宽松。允许在"顶级导航"(比如点击链接跳转)且是GET请求时发送。但在