Cookie跨域问题

假设有两个网站 A: www.a.com 与 B: www.b.com

  • 跨域请求的cookie存储问题

在A域名的站点下请求了B域名,假设访问成功且发送的请求返回了cookie,那么此时浏览器保存该cookie的domain是 www.b.com,也就是说请求的是哪个地址,对应的请求返回的cookie的domian就是那个请求地址,和当前的域名无关。不会将B网站返回的cookie的域名设置为www.a.com。

  • 跨域请求的cookie携带问题

在站点A下面访问B域名的接口,那么这是一个跨域请求,如果不做处理,此时这个请求就跨域了,浏览器在接收到响应以后会直接报错。那么这个时候如何让浏览器允许跨域请求?通常有2中解决办法:1.设置代理 2.服务器在响应头中添加 allow-origin。
解决跨域以后,如何允许跨域请求携带cookie,例如访问B的接口,默认情况下是不允许带cookie的,此时需要设置axios的withcredentials的属性为true,告诉浏览器在访问B网站时,将B网站的cookie带上,此时光前端设置还不行,还需要后端在响应头中添加 allow-withcredentials = true,这样就可以保证跨域请求也可以携带cookie。

Cookie共享问题

cookie的作用域和域名有关,和协议以及端口无关。

  • path属性

cookie的path属性决定了访问该域名的那些路径时可以携带cookie,当一个tomcat部署多个服务时,将path设置为/,则访问所有tomcat项目时都可以携带。

  • domain属性

cookie的domain属性才是决定了访问哪个域名时可以携带哪些cookie,服务器可以手动设置domian,默认的domain就是请求url中的域名,但是服务器也可以设置当前域名的子域名,但是不允许设置其他域名,如果设置了其他域名,会直接被浏览器丢弃。 例如,访问 www.baidu.com ,则 服务器可以设置cookie的域名为 www.baidu.com、.baidu.com、baike.baidu.com。当baidu.com下的子域名访问时,也可以携带上.baidu.com的cookie,例如当前网站是 www.baike.baidu.com,访问baike的请求时也可以携带 baidu.com的cookie。利用这个特性也可以实现多个相互信任系统之间的单点登录问题。

Cookie跨域以及Cookie共享问题相关推荐

  1. 请求跨域设置同时允许cookie跨域(携带cookie)

    最近做一个前后端分离的项目,后台.Net 进行开发,使用session来进行身份验证.发现调用接口的时候总是显示未登录,经过检查发现每次请求过去的sessionid是不一样的,导致服务器找不到之前登陆 ...

  2. 跨域读写Cookie

    原文链接 Cookie作用域 Cookie 在二级域名下是可以共享的,如www.a.com 和m.a.com 他们的Cookie 是可以共享的,这也是很多单点登录利用Cookie实现的原理,但是很多站 ...

  3. java cookie 跨域读取_跨域读写Cookie

    Cookie作用域 Cookie 在二级域名下是可以共享的,如www.a.com 和m.a.com 他们的Cookie 是可以共享的,这也是很多单点登录利用Cookie实现的原理,但是很多站点不是二级 ...

  4. java跨域cookies_跨域读写Cookie

    Cookie作用域 Cookie 在二级域名下是可以共享的,如www.a.com 和m.a.com 他们的Cookie 是可以共享的,这也是很多单点登录利用Cookie实现的原理,但是很多站点不是二级 ...

  5. 实现cookie跨域共享的两种方式

    目录 跨域概念 为何限制跨域? 如何安全跨域?(如何实现跨域主要参考这里) 如何实现cookie跨域共享? cookie的概念 cookie的特性 跨多域共享cookie( a.com和b.com共享 ...

  6. Cookie 跨域解决方案(顶级域名和子级域名之间的Cookie共享、修改、删除)

    最近项目中刚好涉及到了主域名和子域名之间的共享和相互修改.删除,也就借此机会总结一下常用的几个场景,域名的话就拿顶级域名和二级域名为例,其他的场景都是类似. 一.设置COOKIE 1.顶级域名 顶级域 ...

  7. cookie跨域共享的实现方案

    由于工作需要,花费了较多的时间处理跨域的问题,未避免遗忘,特此记录. 1.跨域的场景: 第一种:协议不同: 第二种: 域名不同: 第三种:端口不同; 2.跨域的关键点: 首先,跨域(CORS)需要浏览 ...

  8. ASP.NET的Cookie跨域问题

    将Cookie的有效范围限制到域.  默认情况下,Cookie 与特定的域相关联. 例如,如果您的站点是   www.contoso.com,那么当用户向该站点请求页面时, 您编写的Cookie就被发 ...

  9. jmeter学习指南之深入分析跨域传递cookie

    继上篇文章中介绍了Jmeter cookie manager的两种常用使用情况: jmeter视频:https://edu.51cto.com/course/14305.html 同一线程组和不同线程 ...

最新文章

  1. 【每日一算法】实现strStr()
  2. 45本程序员圣经级别书籍,包邮送到家!
  3. 如何手写代码进行页面布局
  4. codeforce 884C - Bertown Subway DFS+图论
  5. 力扣724.寻找数组的中心索引
  6. 腾讯、阿里能像 Facebook 一样发币吗?
  7. mybatis plus springboot test_跟我学Springboot开发后端管理系统3:Mybatis-Plus实战2
  8. vim替换字符串带斜杠_Vim:正则表达式匹配一个字符串
  9. centos7 安装ftp服务
  10. 2015年硅谷最火技术十问
  11. 【软件工程导论题型大总结】简答题总结
  12. svnadmin命令[转]
  13. 网页扫雷html css js,GitHub - zsr204/Sweep: js + html + css 实现一个简单的扫雷~~ 附加 难度选择 计时 计雷数 开始 重新开始 功能...
  14. Apache——阿帕奇简介
  15. 视觉SLAM十四讲学习笔记——第八讲 视觉里程计(3)
  16. 服务器无线路由器桥接,三个无线路由器怎么设置桥接
  17. 安装SQL SERVER2019 安装CAB文件问题
  18. 《密码学系列》—— 流密码
  19. rust编程 UI框架 -druid -Selector选择器
  20. K8S学习之Statefulset

热门文章

  1. 资金盘是什么意思?怎么看一个项目是不是资金盘
  2. Linux就是这个范儿之第一次亲密接触(2)
  3. Web filter
  4. [Maven]archetypeCatalog笔记
  5. 深入理解OpenStack Neutron之---3 Neutron的资源模型---读书笔记
  6. ubuntu读取can口数据_嵌入式Linux下CAN接口调试
  7. 【uni-app】picker普通选择器的用法
  8. 关于Android全面屏与虚拟按键适配问题
  9. 实操:安装深度DeepinLinux桌面操作系统(替代微软Windows的国产开源系统)
  10. 【DDLC(心跳文学部)mod版分享】