同源和跨域
来源:互联网 发布:小背包学生 淘宝 编辑:程序博客网 时间:2024/05/19 06:49
同源机制指的是一个脚本不可以请求与它不同域下的资源,非同源的请求就是跨域的请求,其实只要协议、域名、端口有一个不同,就算跨域。这种机制是为了防止出现盗链(一个站点的网页引用其它网站的诸如图片的资源。)或者将银行网页挂到自己的网页上得到假的网银账户页面,以此窃取账户信息(iframe)。
但是有很多情况需要跨域访问。存在着不同的跨域访问方法,这里简要介绍Jsonp和CORS两种。
Jsonp用来跨域获取json数据。Jsonp可以跨域是因为<script>标签中的src属性的url可以跨域访问,而且js原生支持json数据。这样我们就可以跨域调用包含json的js文件,来获取json数据。具体流程是动态建立一个script标签,标签内注册一个回调函数,函数内容为对
取得的数据的操作,然后把注册的函数的名字塞到src的url中传递给服务器,服务器将会把请求的json数据放到传来的函数名参数对应的函数参数中返回,这相当于返回一个函数的调用。最终结果是以服务器端的json数据为参数调用注册的函数。所以,jsonp的请求,返回的结果是一个函数调用。这样script标签请求返回后,这个函数调用会立即执行,就可以得到我们想要的结果了。
示例如下:(假设请求的数据是{a: 'a', b: 'b', c: 'c'})
<script type="text/javascript"> function jsonpCallback(result) { alert(result.a); alert(result.b); alert(result.c); for(var i in result) { alert(i+":"+result[i]);//循环输出a:1,b:2,et } } </script> <script type="text/javascript" src="http://crossdomain.com/services.php?callback=jsonpCallback"></script>
这是服务器返回的结果是: jsonpCallback({a: 'a', b: 'b', c: 'c'});
CORS的主要思想是在服务器端设置一个权限,对进来的请求判断是否拥有访问权限,对拥有访问权限的请求进行响应。
1 0
- 同源和跨域
- 同源策略和跨域访问
- 同源策略和跨域访问
- 解说同源策略和跨域访问
- 解说同源策略和跨域访问
- 解说同源策略和跨域访问
- 同源策略和跨域访问
- 同源策略和跨域访问
- 同源策略和跨域访问
- 同源策略和跨域访问
- 同源策略(SOP)和跨域访问
- 同源策略和跨域实现
- 同源策略和跨域访问
- 同源策略和跨域访问
- 同源策略和跨域访问
- 解说同源策略和跨域访问 javascript
- cors跨域资源共享】同源策略和jsonp
- 同源策略和Jsonp跨域请求解析
- Android查找图片泄漏的方法
- LVS负载均衡模式NAT模式实验搭建
- Android中的线程相关类及用法
- 通过配置hosts来访问google服务器
- 下载Android5.1源代码
- 同源和跨域
- android源码下载地址host
- Ubuntu下编译安装OpenCV并配置QTCreater
- QTCreater调试时提示ptrace不允许的操作
- ubuntu安装极点五笔输入法
- linux mint下使用磁盘实用工具
- ramfs,tmpfs,rootfs,initramfs和romfs
- 用U盘安装Linux系统的通用方法
- 关闭定时updatedb,解决开机硬盘狂转问题