进阶十三 跨域

1. 什么是同源策略

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

本域指的是:

*不同源的例子: *
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. 什么是跨域?跨域有几种实现形式

跨域:
允许不同域的接口进行交互

跨域的几种实现形式:

  1. JSONP
  2. CORS
  3. 降域
  4. postMessage

3. JSONP 的原理是什么

web服务器调用js文件不受是否跨域的影响(而且,带有src属性都可以跨域,如:img iframe script)
JSONP就是依据这个特性,与web服务器调用脚本的方式一样,来引入生成动态的js文件,也就是引入在src里面输入你要的后端文件。
JSONP需要向后台传入一个callback参数,然后服务器返回的数据时callback函数会将数据包裹。

4. CORS是什么

前端用 XMLHttpRequest 跨域访问时,浏览器会在请求头中添加:origin
后端会添加一个响应头:Access-Control-Allow-Origin
浏览器判断该相应头中Access-Control-Allow-Origin的值是否包含 Origin 的值,如果有则浏览器会处理响应,我们就可以拿到响应数据,如果不包含浏览器直接驳回,这时我们无法拿到响应数据。

5. 根据视频里的讲解演示三种以上跨域的解决方式

代码

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、 什么是同源策略 同源策略(Same Origin Policy)是一种约定,它是浏览器最核心也是最基本的安全...
    饥人谷_小敏阅读 464评论 0 0
  • 问答 1.什么是同源策略 ①源(orgin)的定义 以百度为例,输入localtion.origin就可以得到源P...
    鸿鹄飞天阅读 456评论 0 0
  • 什么是同源策略 同源策略/SOP(Same origin policy)是一种约定,由Netscape公司1995...
    YQY_苑阅读 342评论 0 0
  • 题目1: 什么是同源策略 同源策略(Same origin Policy)浏览器出于安全方面的考虑,只允许与本域下...
    QQQQQCY阅读 212评论 0 0
  • 开始交易的时候身边可能90%的亲人、朋友、同事都会说,这个风险很高啊和赌博没啥区别,更别说从中赚到钱了。 中国文化...
    道二十三阅读 315评论 0 0