关于《深入分析JavaWeb技术内幕》中 跨域名共享Cookie的笔记(第二次看还是需要花点时间,遂将自己的理解写下来)

图取自《深入分析JavaWeb技术内幕》

事先应当知晓:a.com 中有会跳转到 b.net的地方, 存储session id的Cookie会受到域名的限制,跳转到b.net之后仍然需要保持之前的登陆状态(即 需要b.net访问时也带上 session id)

核心步骤:跳转到b.net时会检查是否存在session id,不存在的话,遵循既定的系统设计,要获取到a.com下的session id。

首先,302跳转到 jump.a.com target=b.net (这里标记下是临时跳转,记录最终目标是 b.net),因为之前访问a.com时已经登陆过了,浏览器访问 jump.a.com的时候 浏览器会带上 含有session id 的 Cookie,这样 跳转系统获取到了用户的 session id

然后,再次 302通知浏览器跳转 jump.b.net sessionId=xxx (这里在url中带上了 获取到的 sessionId)  target=b.net(仍然记录目标地址),浏览器访问   jump.b.net sessionId=xxx  target=b.net 时,跳转系统从 url中取得 sessionId,并将其写到Cookie中返回,至此,b.net下也有了保持用户登陆状态的 Cookie

最后,再次通知浏览器302跳转到  target地址 b.net,浏览器访问时会自动带上  相应的Cookie

猜你喜欢

转载自blog.csdn.net/weixin_37882382/article/details/85991521