cookie在不同端口号可以共享吗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cookie在不同端口号可以共享吗相关的知识,希望对你有一定的参考价值。
参考技术A 可以共享,根据同源策略cookie是区分端口的,但是对浏览器来说,cookie是区分域,不区分端口的,在一个ip地址下多个端口的cookie是共享的当域具有端口号时,Firefox 不接受 CORS cookie
【中文标题】当域具有端口号时,Firefox 不接受 CORS cookie【英文标题】:Firefox not accepting CORS cookie when domain has port number 【发布时间】:2011-10-01 09:39:56 【问题描述】:我有一个奇怪的问题,我已经让 CORS 在没有 cookie 的情况下工作,现在我正在添加 cookie 支持,因为我的 web 服务使用 cookie 作为其对某些路由的身份验证机制的一部分。
现在,最初当我设置 xhr.withCredentials = true 时,它会接收并接受 cookie,但后来我意识到 cookie 的域是“localhost”,随后对服务的调用不会发送 cookie。这仍然是部分未知,为什么它不会将 cookie 发回,但据推测这是因为实际服务驻留在“localhost:1893”而不是域所说的“localhost”。
所以...我更改了服务中的域以正确反映端口号,因此它是“localhost:1893”。但是,当 CORS 请求现在发生时,它会在响应中接收 cookie(您可以在 firebug 响应中看到它),但是 cookie 是灰色的,并且不会出现在 firebug 的实际 cookie 部分中。
有人能解释一下吗?
使用 Firefox 5 使用 jquery 1.6.1 XHR 的 withCredentials 设置正确 服务器返回正确的 CORS 标头【问题讨论】:
【参考方案1】:虽然 CORS 允许在服务器之间发送/接收 cookie(通过将 withCredentials 设置为 true),但对 cookie 的跨域限制仍然适用。例如,您不能使用 document.cookie 在 JavaScript 中访问 cookie。我想 Firebug 也遵循同样的规则。
【讨论】:
嗯,这有点像你回答的我的另一个问题“Jquery Ajax CORS + HttpOnly Cookie”的另一半,因为 cookie 没有被发回。因此,我假设像另一个问题中提到的那样,将 cookie 发回可能不是问题,但是它首先不接受 cookie 的情况......嗯,谢谢你的回复,你很了解这个地区蒙苏尔!以上是关于cookie在不同端口号可以共享吗的主要内容,如果未能解决你的问题,请参考以下文章