关于cookie跨域携带

119 阅读1分钟

一、Cookie的重要属性

链接:www.jianshu.com/p/4b165fecf…

Cookie有两个很重要的属性:Domain和Path,用来指示此Cookie的作用域:

  • domain字段为可以访问此cookie的域名,告诉浏览器当前要添加的Cookie的域名归属,如果没有明确指明则默认为当前域名,可以设置当前域名或者(父域名必须以“.”开始,例如.xxx.com)。为了保证安全性,cookie无法设置除当前域名或者其父域名之外的其他domain。

    eg:设置domain为:www.a.b.com, 则www.c.b.com 无法访问其cookie,
      但是设置domain为:.b.com, 则www.a.b.com 和 www.c.b.com 都可访问其cookie,
    
  • path字段为可以访问此cookie的页面路径。如果没有明确指明则默认为当前路径,比如通过访问。 比如domain是abc.com,path是/test,那么只有/test路径下的页面可以读取此cookie,"/"表示根路径。

二、如何跨域携带cookie

链接:juejin.cn/post/685993…

  • 服务端需要设置

    Access-Control-Allow-Credentials: true
    Access-Control-Allow-Origin: [特定域名] // 不可以是*
    
  • 客户端

    XMLHttpRequest发请求需要设置withCredentials=true,fetch 发请求需要设置 credentials = include