跨域

107 阅读1分钟
  1. 同源

    源 = 协议 + 域名 + 端口号
    如果两个URL的协议,域名,端口号完全一致,那么这两个url就是同源的。
    举例,baidu.comwww.baidu.com 不同源,必须要完全一致才算同源。
    使用 window.origin或 location.origin可以得到当前源。

  2. 跨域

    跨域是指当前源向与该源不同的一个域请求资源,为了用户信息安全,此种请求会受到浏览器同源策略的限制。

  3. JSONP 跨域

    JSONP跨域是可以兼容IE的跨域方式,这种方式请求一个JS文件,这个JS文件会请求一个回调,回调里面就包含了我们所需要的数据。其缺点在于其使用的是script标签,没有AJAX那么精确,拿不到状态码和header,能发get请求但不支持post。

  4. CORS 跨域

    使用方法:新增一组 HTTP 首部字段,允许服务器声明哪些源站通过浏览器有权限访问哪些资源。

    response.setHeader('Access-Control-Allow-Origin',' https://foo.example')