美文网首页
跨域的相关

跨域的相关

作者: 727上上上 | 来源:发表于2017-10-03 11:57 被阅读0次

    什么是同源策略

    同域名,同端口,同协议视为同一个域,浏览器出于安全方面的考虑,只允许与本域下的接口交互。不同源的客户端脚本在没有明确授权的情况下,不能读写对方的资源

    什么是跨域?跨域有几种实现形式

    需要访问不同域的资源,就叫跨域

    跨域的实现几种实现形式及原理:
    • JSONP的跨域方式
      html中script标签可以引入其他域下的js,比如引入线上的jquery库。利用这个特性,可实现跨域访问接口
      需要后端支持
      服务器愿意提供接口
      数据返回前需要提前定义好数据处理函数
      创建script标签,src的地址执行后端接口,最后加个参数callback=数据处理函数名这个参数可以让返回的数据以数据处理函数名(data)的字符串形式输出,以此调用数据处理函数
    • CORS的跨域请求方式
      使用 XMLHttpRequest 发送请求时,浏览器发现该请求不符合同源策略,会给该请求加一个请求头:Origin,后台进行一系列处理,如果确定接受请求则在返回结果中加入一个响应头Access-Control-Allow-Origin 浏览器判断该相应头中是否包含 Origin 的值,如果有则浏览器会处理响应,我们就可以拿到响应数据,如果不包含浏览器直接驳回,这时我们无法拿到响应数据。
      res.header('Access-Control-Allow-Origin','(此处输入同意对象的URL)')
    • 使用降域进行跨域
      操作iframe
      window.frames[0].document.querySelector('input').value='xxx'获取iframe里面的输入框后对其赋值,当子域名不同时不能进行操作,因此需要进行降域
      document.domain=''降到相同的父域名,且主域名必须相同
    • postmessage实现跨域
      window.postMessage(message,targetOrigin)方法是html5新引进的特性,可以使用它来向其它的window对象发送消息,无论这个window对象是属于同源或不同源

    相关文章

      网友评论

          本文标题:跨域的相关

          本文链接:https://www.haomeiwen.com/subject/acgxyxtx.html