美文网首页
进阶13-JSONP原理、跨域多种实现方式

进阶13-JSONP原理、跨域多种实现方式

作者: 我七 | 来源:发表于2017-10-26 00:54 被阅读0次

    题目1: 什么是同源策略

    浏览器处于安全方面的考虑,只允许与本域下的接口交互。不同源的客户端脚本在没有明确授权的情况下,不能读取对方的资源
    本域指的是?
    同协议:如都是http或者https
    同域名:如都是http://jirengu.com/ahttp://jirengu.com/b
    同端口:如都是80端口如:http://jirengu.com/a/b.jshttp://jirengu.com/index.php (同源)http://jirengu.com/main.jshttps://jirengu.com/a.php (协议不同)http://jirengu.com/main.jshttp://bbs.jirengu.com/a.php (域名不同,域名必须完全相同才可以)http://jiengu.com/main.jshttp://jirengu.com:8080/a.php (端口不同,第一个是80)

    题目2: 什么是跨域?跨域有几种实现形式

    不同域名下的接口互相通信访问
    方式:
    JSONP
    CORS
    降域
    PostMessage

    题目3: JSONP 的原理是什么

    通过script标签加载数据的方式去获取数据当做js代码来执行提钱在页面上声明一个函数,函数名通过接口传参的方式传给后台,后台解析到函数名后在原始数据上包裹这个函数名,发送给前端。JSONP 需要对应接口的后端配合才能实现

      <script>
        function showData(ret){
          console.log(ret)
        }
      </script>
      <script src="http://api.jirengu.com/weather.php?callback=showData">
       </script>
    

    题目4: CORS是什么

    CORS全称是跨域资源共享(Cross-Origin Resource Sharing),是一种ajax跨域请求资源的方式,支持现代浏览器,IE支持10以上,实现方式:在使用XMLHhttpRequest发送请求时。浏览器发现该请求不符合同源策略。会给该请求加一个请求头:Origin,九台进行一系列处理。如果确定接受请求则在返回结果中加入一个响应头:Access-Control-Allow-Origin:浏览器判断该相应头中是否包含Origin的值,如果有则浏览器会处理响应,我们就会拿到相应数据,如果不包含浏览器直接驳回,这时我们无法拿到相应数据。所以CORS的表象是放你觉得它与同源ajax请求没什么区别,代码类似,CORS兼容IE10+ 。

    题目5: 根据视频里的讲解演示三种以上跨域的解决方式 ,写成博客

    http://www.jianshu.com/p/76708db3301f

    相关文章

      网友评论

          本文标题:进阶13-JSONP原理、跨域多种实现方式

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