美文网首页
b13 - 跨域

b13 - 跨域

作者: 恒星的背影 | 来源:发表于2017-09-02 07:57 被阅读0次
题目1: 什么是同源策略

same origin policy 禁止从一个源加载的文档或脚本和来自另一个源的资源发生交互,这是一个隔离潜在恶意文档的关键安全措施。
同源的定义:如果两个页面协议、域名、端口都相同,则是同源。

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

跨域:通过JS在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过JS获取页面中不同域的 iframe 中的数据。
实现形式:
JSONP:利用引入JS文件不受同源策略限制的特性,前后端配合实现跨域访问接口。
CORS:一个W3C标准,允许跨域发出 XmlHttpRequest 请求,需要服务器配合实现。
降域:修改 document.domain,将其设置成更高一级的父域,从而符合同源策略。
a.jrg.com => jrg.com
b.jrg.com => jrg.com
postMessage():HTML5 新特性,提供一种可控机制去规避同源策略的限制,只要正确地使用,这种方式是安全的。

题目3: JSONP 的原理是什么

利用引入JS文件不受同源策略限制的特性,前后端配合实现跨域访问接口。
实现步骤:
定义数据处理函数 fn()
创建 script 标签,src设置为后端接口地址,并加参数 callback=fn
服务器返回 fn(data) 字符串,data 是请求的数据
执行 fn(data)

var cb = req.query.callback;
if(cb)
    res.send(cb + '(' + JSON.stringify(data) + ')');
else
    res.send(data);
题目4: CORS是什么

CORS(Cross-Origin Resource Sharing)是一个 W3C 标准,允许浏览器跨域发出 XmlHttpRequest 请求,克服了 ajax 只能同源使用的限制。
当发出的 XmlHttpRequest 请求不符合同源策略时,浏览器会给该请求加一个请求头:Origin,如果后台程序接受请求则在返回结果中加一个响应头:Access-Control-Allow-Origin,浏览器检查响应头中是否包含 Origin 的值,如果有则我们可以拿到响应数据。

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

四种跨域方案的代码实现

相关文章

  • b13 - 跨域

    题目1: 什么是同源策略 same origin policy 禁止从一个源加载的文档或脚本和来自另一个源的资源发...

  • 深入跨域问题(3) - 利用 JSONP 解决跨域

    深入跨域问题(1) - 初识 CORS 跨域资源共享;深入跨域问题(2) - 利用 CORS 解决跨域深入跨域问题...

  • 关于设置env等环境变量的思考

    1、如何处理跨域后台处理跨域前端处理跨域浏览器处理跨域 前端本地处理跨域:代理线上跨域的处理方式:Nginx反向代...

  • Web前后端跨域问题处理

    跨域问题有前台跨域(iframe间)和后台跨域。 前台跨域的解决方案可以采用跨域文档通讯(Cross domain...

  • 跨域

    跨域 什么是跨域: 解决跨域 通过jsonp原理:在页面引入跨域js和css时,没有存在跨域问题.因此可以动态创建...

  • 跨域问题详解分析

    参考文档 CORS详解 跨域资源共享 CORS 详解 js中几种实用的跨域方法原理详解 跨域的那些事儿 跨域与跨域...

  • 跨域问题:好几种解决方案

    跨域分为广义跨域和狭义跨域 广义跨域:一个域下的文档或脚本试图去请求另一个域下的资源; 广义跨域可以分为以下几种:...

  • ajax readystatus=0;status=0 报错

    跨域 跨域 跨域 一定要找运维或者后台解决

  • 深入跨域问题(2) - 利用 CORS 解决跨域

    阅读目录: 深入跨域问题(1) - 初识 CORS 跨域资源共享;深入跨域问题(2) - 利用 CORS 解决跨域...

  • 响应头设置跨域和Spring注解跨域

    CORS跨域原理详解Spring解决跨域 响应头设置跨域 Spring注解跨域@CrossOrigin 可添加到方...

网友评论

      本文标题:b13 - 跨域

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