当我从另一个域向服务器发送请求时,仅 http 的 cookie 不会发送到服务器。
我在登录时获得仅 http 的 cookie。来自同一域的一切正常,但是当我从另一个域向服务器发送请求时,仅 http 的 cookie 不会发送到服务器。
Http-only cookie 被设计为客户端脚本(例如 JavaScript)无法访问,并且只能通过 HTTP 请求发送到服务器。 JavaScript Document.cookie API 无法访问具有 HttpOnly 属性的 cookie;它仅发送到服务器。
这意味着,即使您在从一个域登录期间收到仅 HTTP 的 cookie,另一域上的 JavaScript 也无法访问它。
当您从另一个域向服务器发送请求时,浏览器仍应在请求标头中包含该域的任何相关 cookie,包括仅 HTTP cookie。但是,如果请求是从在不同域上运行的客户端 JavaScript 发出的,则该 JavaScript 代码将无法访问仅限 HTTP 的 cookie。
此外,cookie 是基于域的,无论是否是 http-only。如果您的服务器为
aaa.com
域创建了 cookie,如果您从 bbb.com
访问服务器,该 cookie 仍然不会发送到服务器,因为如果您访问 aaa.com
,浏览器只会发送带有 cookie 的请求网站(cookie是针对aaa.com
而不是bbb.com
),甚至aaa.com
和bbb.com
是同一台服务器。