前端-跨域

本文详细解析了同源策略限制,介绍通过jsonp、iframe、服务器代理和CORS实现跨域的四种常见技巧,帮助开发者掌握在浏览器安全策略下进行数据交互的方法。

跨域就是同源策略的限制,同源策略是浏览器上为安全性考虑实施的非常重要的安全策略。

同源:URL由协议、域名、端口和路径组成,如果两个URL的协议、域名和端口相同则表示他们同源,就是一个域。

同源策略:浏览器的同源策略,限制了来自不同源的"document"或脚本,对当前"document"读取或设置某些属性,从一个域上加载的脚本不允许访问另外一个域的文档属性。

第一种:jsonp(json+padding):实现原理是利用script标签的src属性可以跨域加载别的域中的文件来实现的。

例如有一个a.com和b.com,现在a.com想访问b.com,在a.com中的一个网页中加入下面的代码:

<script>function aaa(data){//对data进行操作}</script>

<script src="http://www.b,com/test.php?name=lisi&callback=aaa"></script>

在b.com中的test.php中可以接收传递过来的参加name还有callback,然后执行:b.com中执行echo 'callback(要回传给a.com的数据)'

第二种:iframe a域里嵌入b域的页面 b里面在嵌入a的页面在a的这个页面中 通过top的方式访问方法实现跨域。

第三种:服务器代理:因为服务器端程序是不存在跨域问题。

第四种:A上的页面获取B上的资源,浏览器会检查服务器B的HTTP头(HEAD请求),如果Access-Control-Allow-Origin中有A,或者是通配符*,浏览器就会允许跨域,这叫CORS。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值