一、跨域和跨站的区别

1、url组成:https://www.taobao.com,协议是https,主机名:www.taobao.com,端口号:443

2、同域(同源):两个url的协议+主机名+端口号完全相同,称为同域,也叫同源,其中有一个不同,就称为跨域。

3、域名分级:www.taobao.com,顶级域名为com,二级域名为taobao,三级域名为www。

同站:两个url的eTLD+1相同即可,不考虑协议和端口号,eTLD是有效顶级域名,注册于 Mozilla 维护的公共后缀列表(Public Suffix List)中,例如,.com、.co、.uk、.github.io 等。eTLD+1即顶级域名+二级域名

例子:www.taobao.com和www.baidu.com是跨站,www.a.taobao.com和www.b.taobao.com是同站,a.github.io和b.github.io是跨站(注意是跨站)

 

二、前后端分离开发,要求接口对接携带cookie,同站,浏览器默认可以携带cookie,跨站,像chrome浏览器就不允许携带cookie,在axios或者ajax设置withCredentials:true;也是如此。

 

三、对于跨站不能携带cookie目前我的解决:

1、可以前后端代码在同一url上(同站),要求服务端设置可以跨域请求和客户端设置withCredentials:true

2、前后端代码放在不同的机器上,及跨站了,除了要求服务端设置可以跨域请求和客户端设置withCredentials:true,还要要求用允许可以跨站携带cookie的浏览器上运行,如火狐

 

四、对于chrome浏览器的SameSite,91版本以后,默认为一律拦截,94版本还要改,(现在为93版本)

问题1、91版本以后的,网上说可以设置chrome快捷键属性的target,我尝试了,没有成功,还是会被拦截,这个之后再试试

      2、94版本以后的,不知道咋弄呢、

 

posted on 2021-09-28 21:35  萍萍成长ing  阅读(1116)  评论(0)    收藏  举报