跨域

54 阅读1分钟
/**
 *  跨域
 * 
 *      什么是跨域
 *          请求所在的服务器, 与要被请求的服务器
 * 
 *          两个服务器地址
 *              协议:   http/https
 *              域名:   localhost/www.baidu.com/www.juejin.cn
 *              端口号: 0~65535
 * 
 *          上述的三个, 有一个不同, 就会触发跨域, 上边的就是我们浏览器的同源策略
 *              只要违反了同源策略一定会触发跨域
 * 
 *      跨域会导致什么情况的发生
 *          请求能够正常的发送成功
 *          服务器也一定能够正常的响应成功
 *          但是浏览器会认为 当前的请求不安全, 然后将本次请求的信息拦截掉
 *          所以最终的结果是
 *              前端能够正常的发出去请求
 *              服务端能够正常的响应回数据
 *              但是前端不能正常的接收到数据, 因为被浏览器拦截了
 * 
 * 
 *      解决跨域的三种方式
 *          1. jsonp
          把src 里的js文件 换成  相应服务器的地址
 *      <!-- <script src="http://localhost:8081/api/a"></script> --> 
      <!--
    目前我们的这个写法其实就是利用了 jsonp 解决了 跨域

    因为同源策略是浏览器用来限制 ajax 的
    script 标签 的 src 属性, 不会收到限制, 所以可以跳出同源策略

    但是当前的解决方案也不是特别完美, 因为目前的 jsonp 只能处理 get 方式的跨域, post 方式的无法解决
  -->


 *          2. cors
 *          3. proxy  如下图
 
          

image.png */