什么是跨域,为什么浏览器会禁止跨域,以及实现跨域的几种方式

首先我们来想一想

为什么会有跨域这个名词的出现呢?

跨域又是什么呢?为何要跨域?

浏览器的同源策略又是什么?怎么解决?

jsonp又是什么?

跨域的原理又是什么呢?

名词解释:

1、什么是跨域
跨域的产生来源于现代浏览器所通用的‘同源策略’,所谓同源策略,是指只有在地址的:
1. 协议名 https,http
2. 域名
3. 端口名 :8080/json/jsonp/jsonp.html study.cn/json/jsonp/jsonp.html
均一样的情况下,才允许访问相同的cookie、localStorage或是发送Ajax请求等等。若在不同源的情况下访问,就称为跨域。

例如a.cn下面的js不能调用b.cn中的js,对象或数据(因为a.cn和b.cn是不同域),所以跨域就出现了.

同源策略:

请求的url地址,必须与浏览器上的url地址处于同域上,也就是域名,端口,协议相同.

比如:我在本地上的域名是study.cn,请求另外一个域名一段数据

什么是跨域,为什么浏览器会禁止跨域,以及实现跨域的几种方式

这个时候在浏览器上会报错:

什么是跨域,为什么浏览器会禁止跨域,以及实现跨域的几种方式

这个就是同源策略的保护,如果浏览器对javascript没有同源策略的保护,那么一些重要的机密网站将会很危险~

请求地址 形式 结果 同一域名,不同文件夹 成功 同一域名,统一文件夹 成功 不同域名,文件路径相同 失败 :8080/json/jsonp/jsonp.html 同一域名,不同端口 失败 https://study.cn/json/jsonp/jsonp.html 同一域名,不同协议   失败

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzdxff.html