关于域名与服务端设置cookie的问题

目前对下面几种情况有点迷惑:
1.前端页面所在的域名为:m.qna.com/xx/xx,然后改页面有xhr请求,请求的接口域名是api.qna.com/xx/xx,这时候这个接口在服务端设置了一个cookie
返回的结果可能是:

set-cookie:statistics="traceId=123456"; Path=/

但是没设置domian,那这个cookie的domain会是什么?

2.前端页面所在的域名为:m.qna.com/xx/xx,然后改页面有xhr请求,请求的接口域名是api.hotel.com/xx/xx,这时候这个接口在服务端设置了一个cookie
返回的结果可能是:

set-cookie:statistics="traceId=123456"; Path=/

同样没设置domian,那这个cookie的domain会是什么?

3.前端页面所在的域名为:m.qna.com/xx/xx,然后改页面有xhr请求,请求的接口域名是api.hotel.com/xx/xx,这时候这个接口在服务端设置了 两个 cookie
返回的结果可能是:

set-cookie:statistics="traceId=123456"; Path=/; Domian=.qna.com;
set-cookie:statistics="traceId=123456"; Path=/; Domian=.hotel.com;

请问服务端可以设置两个在不同domian下的cookie么?

请前辈指教一下!

阅读 5k
1 个回答
  1. domainapi.qna.com,只有api.qna.com主机里的页面可以访问这个cookie
  2. domainapi.hotel.com,只有api.hotel.com主机里的页面可以访问这个cookie
  3. 只能设置hotel.comcookie,不能设置qna.comcookie。因为你的程序不被允许设置百度或者工商银行的cookie,否则你可以任意欺诈用户。
  4. 如果你需要在发送ajax请求时附加相应该主机的cookie,需要加上withCredential参数。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进