美文网首页
进阶13作业

进阶13作业

作者: 饥人谷_醉眼天涯 | 来源:发表于2017-10-11 19:20 被阅读0次
    题目1: 什么是同源策略。

    浏览器出于安全方面的考虑,只允许与本域下的接口交互。不同源的客户端脚本
    在没有明确授权的情况下,不能读写对方的资源。
    本域指的是?
    (1) 同协议: 如都是http或者https
    (2) 同域名: 如都是http://jirengu.com/ahttp://jirengu.com/b
    (3) 同端口: 如都是80端口

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

    当前页面发送了一条ajax请求。当前页面的url和请求页面的url不处于同域或者同源,这就是跨域。就会被浏览器阻止掉。请求是有的,但是没有响应。这是浏览器的一种保护机制。
    第二种跨域的方式。
    浏览器是不允许操作不同源的iframe 里面的内容的。
    我们可以在我们自己的页面上写js,操作我们自己页面上的元素,但是无法去操作iframe里面的,它所加载的其他元素。遵守同源策略就是可以操作的,如果不同源,那么它就无法操作。

    题目3: JSONP 的原理是什么

    html中script标签可以引入其他域下的js,比如引入线上的jQuery库,利用这个
    特性,可实现跨域访问接口,需要后端支持。
    echo $cb . '&&' . $cb . '{' . json_encode($ret) . ')'
    1、定义数据处理函数_fun
    2、创建script标签,src的地址执行后端接口,最后加个参数callback=_fun
    3、服务端在收到请求后,解析参数,计算返还数据,输出fun(data) 字符串
    4、fun(data)会放到script标签做为js执行,此时会调用fun函数,将data作为参数

    题目4: CORS是什么。

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

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

    跨域的解决方式

    相关文章

      网友评论

          本文标题:进阶13作业

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