• 跨域原理与解决方式


    跨域问题

    同源策略(Same-origin policy)

    • 什么是同源策略?

    • 浏览器端对请求的处理中,如果两个 URL 的协议、域名端口都相同,我们就称这两个 URL 同源

    • 同源

      1 http://www.domaina.com/index

      2 http://www.domaina.com/module/path1

    • 非同源

      1 http://www.domaina.com/index

      2 https://www.domaina.com/module/path1

      1 http://www.domaina.com/index

      2 http://www.domainb.com/module/path1

      1 http://www.domaina.com/index

      2 http://www.domaina.com:8081/module/path1

    • 两个相同的源之间浏览器默认其是可以相互访问资源和操作 DOM 的。两个不同的源之间

      若想要相互访问资源或者操作 DOM,那么会有一套基础的安全策略的制约。具体有如下两 方面的限制

      1. 安全性:

        浏览器要防止当前站点的私密数据不会向其他站点发送

        如当前站点的Cookie,LocalStorage,IndexDb 不会被发送到其他站点或被其他站点脚本读取到无法跨域获取Dom,无法发送Ajax请求。

      2. 可用性:

        大型站点的图片,音视频等资源,希望部署在独立服务器上,为缓解当前服务 的压力,开放某些特定的方式,访问非同源站点 如: