Cookie 是一种存储在用户浏览器上的小型数据片段,通常用于存储用户会话信息、偏好设置等。它们是由服务器发送到用户的浏览器,并在后续请求中由浏览器自动发送回服务器的。
当涉及到不同域名时,Cookie 的处理有一些特殊规则。每个域名都有自己的独立 Cookie 空间,这意味着一个域名下的 Cookie 不能被另一个域名访问。
Access-Control-Allow-Credentials
头。withCredentials
属性为 true
,以便在跨域请求中携带 Cookie。// 服务器端示例(Node.js)
app.use((req, res, next) => {
res.header('Access-Control-Allow-Origin', 'https://example.com');
res.header('Access-Control-Allow-Credentials', 'true');
next();
});
// 客户端示例(JavaScript)
const xhr = new XMLHttpRequest();
xhr.open('GET', 'https://api.example.com/data', true);
xhr.withCredentials = true;
xhr.send();
Secure
(仅通过 HTTPS 传输)、HttpOnly
(防止 JavaScript 访问)和 SameSite
(控制 Cookie 在跨站请求中的发送方式),以增强安全性。// 设置 Cookie 示例
res.cookie('name', 'value', {
secure: true,
httpOnly: true,
sameSite: 'Strict'
});
请注意,以上示例代码和参考链接仅供参考,实际应用中可能需要根据具体情况进行调整。
领取专属 10元无门槛券
手把手带您无忧上云