You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

API设置的Cookie为何在不同域名网站的Chrome DevTools中可见?

问题原因解析

这不是浏览器Bug,而是Chrome/Brave浏览器开发者工具的显示逻辑特性,结合跨域请求的Cookie发送规则导致的,具体拆解如下:

1. Cookie归属与DevTools显示逻辑的差异

你看到的user Cookie,其domain属性明确设置为myapi.com,本质上存储在浏览器的myapi.com域名Cookie池中,并不属于a.com或b.org。

Chrome DevTools的Application面板在展示当前站点(如b.org)的Cookie时,会额外列出当前页面有网络交互的第三方域名下的所有Cookie——这是DevTools的人性化设计,方便开发者快速查看当前页面涉及的所有跨域Cookie,但这只是显示层面的整合,不代表这些Cookie属于当前站点。

2. Cookie未发送至myapi.com的原因

网站B调用myapi.com的接口时未携带该Cookie,核心原因是跨域请求默认不携带凭证:

  • 页面发起跨域请求时,浏览器默认不会自动携带第三方Cookie(即使Cookie设置了SameSite=None; Secure)。
  • 只有当请求明确指定要携带凭证时,浏览器才会发送对应的Cookie:
    • 使用fetch API时,需添加credentials: 'include'参数;
    • 使用XMLHttpRequest时,需设置xhr.withCredentials = true;
    • 使用HTML表单时,需添加credentials="include"属性。

由于你的网站B仅访问公开接口,可能未配置携带凭证的参数,所以浏览器不会主动发送user Cookie。

内容的提问来源于stack exchange,提问作者bladekp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 18:15:40