手机版 收藏 导航

使用 Set-Cookie 头部设置跨域 cookie

原创   www.link114.cn   2025-03-05 16:16:24

使用 Set-Cookie 头部设置跨域 cookie

在 Web 开发中,设置 cookie 是一个常见的任务。通常,我们可以使用 document.cookie 属性来设置 cookie。但是,需要在跨域环境中设置 cookie,则使用 document.cookie 是行不通的。

为在跨域环境中设置 cookie,我们可以使用 Set-Cookie HTTP 响应头部。此方法允许服务器在响应中设置 cookie,即使请求来自不同的域。

以下是一个示例:在 server1.example.com 上,我们可以在响应中设置一个跨域 cookie:

HTTP/1.1 200 OK
Set-Cookie: user_id=123456; Domain=.example.com; Path=/; Expires=Thu, 18 Dec 2023 12:00:00 UTC; SameSite=Lax

这将在 .example.com 域下设置一个名为 user_id 的 cookie,有效期至 2023 年 12 月 18 日。此 cookie 可以被同一顶级域名下的所有子域访问(比如 server2.example.com)。

使用 Set-Cookie 头部设置跨域 cookie 的好处是可以更好地控制 cookie 的作用域和有效期。这在构建单页应用程序(SPA)或需要在不同子域之间共享会话信息的场景中非常有用。