1、什么是跨域
跨域请求,简单说就是从一个域访问另一个域下的数据或资源。受同源策略限制,javascript不能跨域,那么什么是同源策略?
同源策略:它会阻止从一个域上加载的脚本去获取或者操作另一个域上的文档属性。也就是说,受到请求的url的域必须与当期web页面的域相同。这说明浏览器隔离来自不同源的内容,以防止他们之间的操作。那么为何要使用同源策略呢?
同源策略的好处:答案就是安全!简单的例子:比如一个黑客,它利用iframe把正真的银行登录页面嵌套他的页面上,当你使用真实的用户名,密码登录时,他的页面就可以通过javascript读取到你的表单中input中的内容,这样用户名,密码就轻松到手了,后果是不是很严重。那么什么才是同源?
所谓同源是指域名,协议,端口距相容。
同源的几种情况:
1.不同域名属于跨域:如www.aa.com和www.bb.com,另外www.aa.com 和 www.aa.com.cn也属于不同域名;
2.主域名和子域名(二级域名、三级域名等)跨域:如:www.aa.com,sub.aa.com;
3.不同协议属于跨域:如http://www.aa.com 和 https://www.aa.com;
4.不同端口:如: www.aa.com:90 和 www.aa.com:80;
5.IP和域名属于跨域:123.123.103.16 和 www.baidu.com;
2、为什么要跨域?
我们实际上做项目的时候,不可避免地根据项目需求进行跨域访问,子域和主域之间数据共享等,收到同源策略的影响,要满足这些需求&