1.同源策略
首先我们说一下同源策略的概念,它是浏览器最核心也是最基本的安全功能,缺少同源策略浏览器的功能可能会受到影响。通过计算机网络的学习我们知道,一个网址由协议、域名、端口号三大基本部分组成。
浏览器解析Ajax请求时也必须遵循同源策略,需要同时满足协议、域名、端口号三个要求才可以访问到服务器,只要一个不同就是非同源。
2.跨域的定义
当一个资源去访问另一个不同域名或者同域名不同端口的资源时,发出跨域请求,如果另一个资源不允许访问就会出现跨域问题。
跨域指的是浏览器不能执行其它网站的脚本。是由浏览器的同源策略造成的,是浏览器对JavaScript 施加的安全限制。
3.跨域问题的解决方法
1.Ajax中的JSONP
JSONP是JSON中的一种使用方式,用于解决主流浏览器的跨域问题。利用 <script> 元素的开放策略,网页可以得到从其他来源动态产生的 JSON 资料。
2.CORS方法
这是一种跨域资源共享方式,主流浏览器都支持,如果需要跨域的话就要配置响应头的信息,并校验是否允许
3.ngnix
利用ngnix反向原理,将请求发送到相应项目的tomcat服务器上也可以解决跨域问题