扫码关注官方订阅号
使用前后端分离开发的项目,前端的域名为a.com, 后端的接口api为b.com,a.com下有cookie信息,在向b.com发送请求时,是否有办法使b.com读取到a.com里面的cookie。[注:后端使用java开发]
a.com
b.com
b.com没有办法直接获取到a.com的Cookie
不过可以在请求时附上,当然最好是用token
前后端分离,最应该用token来交互,而不是用cookie。当然是可以取得cookie的。所有的cookie 都在头里面,有个Set-Cookie的字段,读取这个头就可以了。
Set-Cookie
Token是令牌。HTTP是无状态的,Cookie是记录HTTP状态的一种手段。浏览器会通过Set-Cookie字段获取Cookie。而Token是通过oauth认证后得到的令牌。
其实核心是b.com要获取客户端关于a.com的的一些状态信息,基于这样的核心需求,其实有很多方案:因为请求是访问a.com后发出的,所以a.com的页面读取cookie是不跨域的,然后把读取到的信息采用某种机制传递给b.com即可。
这里很多种方案在于所谓的某种机制,直接在请求中采用请求附加参数的形式是一种方案,对信息进行某种处理生成所谓的Token也是一种方案。
这些方案的确定需要你在设计a.com与b.com时进行定义与实现。如果b.com已经有固定的要求,则你只能想办法适应。
我不太清楚你们的前后端分离是个怎么分离法,是否有前端server比如node?如果有node请求可以在node转发,如果没有node你的a.com又是打到什么服务器上的?
token的方案可行,但是我不太建议在前端操作cookie,我觉得最好的方案是做反向代理,比如加层ng把a.com/api/xxx代理到b.com上
a.com/api/xxx
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
b.com没有办法直接获取到a.com的Cookie
不过可以在请求时附上,当然最好是用token
前后端分离,最应该用token来交互,而不是用cookie。当然是可以取得cookie的。所有的cookie 都在头里面,有个
Set-Cookie的字段,读取这个头就可以了。Token是令牌。HTTP是无状态的,Cookie是记录HTTP状态的一种手段。浏览器会通过Set-Cookie字段获取Cookie。而Token是通过oauth认证后得到的令牌。
其实核心是b.com要获取客户端关于a.com的的一些状态信息,基于这样的核心需求,其实有很多方案:
因为请求是访问a.com后发出的,所以a.com的页面读取cookie是不跨域的,然后把读取到的信息采用某种机制传递给b.com即可。
这里很多种方案在于所谓的某种机制,直接在请求中采用请求附加参数的形式是一种方案,对信息进行某种处理生成所谓的Token也是一种方案。
这些方案的确定需要你在设计a.com与b.com时进行定义与实现。如果b.com已经有固定的要求,则你只能想办法适应。
我不太清楚你们的前后端分离是个怎么分离法,是否有前端server比如node?如果有node请求可以在node转发,如果没有node你的
a.com又是打到什么服务器上的?token的方案可行,但是我不太建议在前端操作cookie,我觉得最好的方案是做反向代理,比如加层ng把
a.com/api/xxx代理到b.com上