JS之JSONP_跨域

1: 什么是同源策略

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

  • 同协议:如都是http,https,file,ssh,mailto,tel
  • 同域名(在//后到第一个/之间):
    如都是http://abc.com/ahttp://abc.com/b
  • 同端口:如都是80端口
    需要注意的是: 对于当前页面来说页面存放的 JS 文件的域不重要,重要的是加载该 JS 页面所在什么域

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

跨域是破除同源策略的限制,实现不同域下接口交互来获取数据
跨域一般有4种实现形式

  • JSONP(常用)
  • CORS
  • 降域
  • postMessage
    3: JSONP 的原理是什么

3: JSONP 的原理是什么

在当前所在html中创建一个srcipt标签,将src设置为接口地址,服务器那边以获取callback中的参数值+要发送的数据以json字符串的形式回应,页面获取到数据调用同callback参数值的方法名来展现数据。

4: CORS是什么

CORS是跨域资源共享
它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制
实现方式是,当你使用XMLHttpRequest发送请求时,浏览器发现该请求不符合同源策略,会给该请求加一个请求头:Origin,后台进行一系列处理,如果确定接受请求则在返回结果中加入一个响应头:Access-Control-Allow-Origin; 浏览器判断该相应头中是否包含Origin 的值,如果有则浏览器会处理响应,我们就可以拿到响应数据,如果不包含浏览器直接驳回,这时我们无法拿到响应数据

5:演示三种以上跨域的解决方式

https://github.com/MasterGaoJin/pratice/tree/master/jinjie13

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

推荐阅读更多精彩内容

  • 什么是同源策略 同源政策(same-origin policy)是指同域名(或ip),同端口,同协议视为同一个域,...
    小囧兔阅读 3,621评论 0 1
  • 一、浏览器的同源策略 1.什么是同源? 所谓“同源”指的是”三个相同“。相同的域名、端口和协议,这三个相同的话就视...
    徐国军_plus阅读 4,300评论 1 3
  • 前言:对于跨域请求,很早之前就有去了解过,但因为一直关注的都是服务器后端开发,故也就仅仅停留在概念的理解上而没有机...
    ken_ljq阅读 90,027评论 6 128
  • 什么是同源策略 同源策略(Same origin Policy):浏览器出于安全方面的考虑,只允许与本域下的接口交...
    _Dot912阅读 4,353评论 0 3
  • 1. 我是从三月份开始写公众号的。 原计划是每天写一篇,到年底最少写三百篇。 一篇最少一千字,到年底就三十万字。 ...
    笔墨下的人生百态阅读 4,444评论 0 3