码迷,mamicode.com
首页 > 其他好文 > 详细

跨域详情

时间:2016-07-12 17:10:15      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

什么是跨域
JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象。但在安全限制的同时也给注入iframe或是ajax应用上带来了不少麻烦。这里把涉及到跨域的一些问题简单地整理一下:

首先什么是跨域,简单地理解就是因为JavaScript同源策略的限制,a.com 域名下的js无法操作b.com或是c.a.com域名下的对象。更详细的说明可以看下表:
URL 说明 是否允许通信
http://www.a.com/a.js
http://www.a.com/b.js 同一域名下 允许
http://www.a.com/lab/a.js
http://www.a.com/script/b.js 同一域名下不同文件夹 允许
http://www.a.com:8000/a.js
http://www.a.com/b.js 同一域名,不同端口 不允许
http://www.a.com/a.js
https://www.a.com/b.js 同一域名,不同协议 不允许
http://www.a.com/a.js
http://70.32.92.74/b.js 域名和域名对应ip 不允许
http://www.a.com/a.js
http://script.a.com/b.js 主域相同,子域不同 不允许
http://www.a.com/a.js
http://a.com/b.js 同一域名,不同二级域名(同上) 不允许(cookie这种情况下也不允许访问)
http://www.cnblogs.com/a.js
http://www.a.com/b.js 不同域名 不允许

 

egg:

ajax或者iframe指向的地址中,二级域名、端口、协议必须与主页面完全相同,否则就算跨域
比如
a.baidu.com访问b.baidu.com 是跨域;
a.baidu.com:8080访问a.baidu.com:80 是跨域;
http://a.baidu.com访问https://a.baidu.com 是跨域
 
跨域是指从一个域名的网页去请求另一个域名的资源。比如从http://www.baidu.com/ 页面去请求 的资源。跨域的严格一点的定义是:只要 协议,域名,端口有任何一个的不同,就被当作是跨域。
如何实现跨域取到数据,LS说的JSONP是最为常见,你可以参考这篇文章 跨域与跨域访问
 

 

跨域详情

标签:

原文地址:http://www.cnblogs.com/sdya/p/5664086.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!