要理解“跨域”
,可以通过其对立面“同源”
来理解。
"同源”
是指url中的“三个相同”
:
协议相同
域名相同
端口相同
反之,三者之间若有一个不同即为“跨域”。
“跨域”
主要由浏览器这里把关(这也是我们平时说服务端不会出现跨域问题的原因),对同页面中发出的url的访问进行过滤。当发现“跨域”
时,浏览器会专门发信息至原服务器(相对于新url的服务器而言)获取允许访问的域名。
目的是用于保护身份认证信息(一般登录网站后,每次请求都会带上cookie信息,cookie用来记录登录信息)。
浏览器基于http协议通信,问题分析处理一般都要落地到协议上。跨域问题则要落地到头字段Origin上。