跨域问题的九种解决方法

Posted surui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跨域问题的九种解决方法相关的知识,希望对你有一定的参考价值。

什么是跨域?

  跨域是由于浏览器的同源策略造成的,是浏览器施加的安全限制。

什么是同源策略?

  同源策略是一种约定,是浏览器最核心最基本的安全功能,缺少同源策略,浏览器容易收到XSS、CSRF等攻击。

  同源策略是:拥有相同的协议、域名、端口号的网址间才可以相互访问资源。

  一个域的页面去访问另一个域的资源就形成了跨域。

解决跨域的方法:

  注意:1.如果是协议和端口造成的跨域问题,前端无法处理;

     2.是否跨域,仅仅通过URL的首部来判断,不会通过域名对应的IP地址是否相同来判断;

     3.跨域并不是请求发不出去,而是请求发出去了,也正常返回结果了,但是结果被浏览器拦截了。

1.利用JSONP方式解决跨域

  利用script标签没有跨域的限制,网页可以从其他来源动态的获取JSON数据,从而实现跨域。

  JSONP跨域仅支持GET请求,一定要服务器支持才可以实现。

  JSONP是非同源策略,AJAX属于同源策略。 

  

以上是关于跨域问题的九种解决方法的主要内容,如果未能解决你的问题,请参考以下文章

在 Scala 中定义方法的九种方法?

深入浅出:了解jsonp跨域的九种方式

常见的跨域方法(九种解决办法)

图解常见的九种设计模式

前端图解常见的九种设计模式

数组的九种遍历方法