难度级别:中高级及以上 提问概率:65%
回答解决跨域之前,首先建议求职者描述什么是跨域。跨域问题是浏览器基于同源策略引起的,同源策略是浏览器的一种安全功能。同源要保证域名相同,或是被访问服务的协议+主机+端口都相同,那么反之这些属性不同就是非同源(或是非同域)的,就会触发浏览器的跨域问题。
那么浏览器为什么要有这种跨域限制呢?如果没有跨域限制,会带来什么问题呢?其实不难想象,例如现在很多网站会利用cookie存储一定的用户信息,如果没有跨域限制,那么我们登录常用的购物网站后,将用户信息存在了cookie中,如果不小心浏览了恶意的网站,那么这个恶意网站就可以随意获取我们正常的用户信息了。在日常生活中,为了方便记忆,很多人会把多个平台的密码设置为相同的,这样来看,跨域拦截了信息共享,是不是使上网更加安全了呢?再例如很多人并没有域名的概念,假如一个恶意网站里嵌套了一个iframe容器,容器内加载了银行的网站,如果没有跨域限制的话,后果不堪设想。