进阶任务13JSONP_跨域

题目1: 什么是同源策略

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

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

跨域指A网页请求B网页的资源,只要A网页和B网页的协议、端口、域名其中任何一个不同,都算跨域。

url 说明 是否允许通信
http://www.a.com/a.js
http://www.a.com/b.js
相同协议,同一域名 允许
https://www.a.com/a.js
http://www.a.com/a.js
不同协议,同一域名 不允许
http://www.a.com/a.js
http://www.b.com/a.js
相同协议,不同域名 不允许
http://js.a.com/a.js
http://www.b.com/a.js
相同协议,不同域名 不允许
http://www.a.com:8080/a.js
http://www.a.com/b.js
主域相同,子域不同 不允许
http://www.a.com/a.js
http://70.23.92.75/a.js
域名和域名对应ip 不允许

跨域主要实现方式:
JSONP、CORS、降域、PostMessage

题目3: JSONP 的原理是什么

html中的script标签可以引入其他域下的js,利用这个特性可以实现跨域访问接口,需要后端支持
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: 根据视频里的讲解演示三种以上跨域的解决方式 ,写成博客

关于跨域资料的整理

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 什么是同源策略 同源政策(same-origin policy)是指同域名(或ip),同端口,同协议视为同一个域,...
    小囧兔阅读 3,674评论 0 1
  • 1、 什么是同源策略 同源策略(Same Origin Policy)是一种约定,它是浏览器最核心也是最基本的安全...
    饥人谷_小敏阅读 3,226评论 0 0
  • 什么是同源策略 浏览器出于安全方面的考虑,只允许与本域下的接口交互。不同源的客户端脚本在没有明确授权的情况下,不能...
    ezrealor阅读 3,424评论 0 1
  • 在新疆流浪的日子,我就溜达到了迷人的江布拉克。 江布拉克,位于新疆昌吉州奇台县半截沟镇南部山区,距县城60多公里。...
    桑果儿阅读 3,106评论 0 3
  • 有人叹三千烦恼丝 有人曰庸人自扰之 有人说这就是凉世 亦有人唱那都不是事 剪不断,理还乱 说不破,道不明 芸芸众生...
    斜阳醉西楼阅读 3,089评论 0 2

友情链接更多精彩内容