跨域问题
1.什么是跨域
跨域是值跨域名.域名:记忆网络电脑ip很难记,就给它取了一个名字来记忆,这个名字就要域名,域名最终要被转换为ip.
一个系统访问另一个系统才会存在跨域,同系统访问不存在跨.
跨域原因说明 示例
域名不同 www.jd.com 与 www.taobao.com
域名相同,端口不同 localhost:8080 与 localhost:8081
二级域名不同 item.jd.com 与 miaosha.jd.com
如果域名和端口都相同,但是请求路径不同,不属于跨域,如:
www.jd.com/item
www.jd.com/goods
只要域名(ip)和端口号有一样不同,那么都是跨域
http://localhost:8080 前端系统 发送Ajax取后端系统获取数据
http://localhost:80 后端系统
2.造成跨域问题的原因
跨域不一定会有跨域问题。
因为跨域问题是浏览器对于ajax请求的一种安全限制:一个页面发起的ajax请求,只能是于当前页同域名的路径,这能有效的阻止跨站攻击。
因此:跨域问题 是针对ajax的一种限制。
3.跨域问题解决
(1)利用script或者img这种标签的特点 --jsonp方法
最早的解决方案,利用动态去填充script标签可以跨域的原理实现。
--处理
限制:
- 需要服务的支持
- 只能发起GET请求
(2) nginx的方式