node.js ajax数据请求跨域问题

最近想用node作为后台抛出接口,前端页面去请求接口的时候报错了,发现是跨域的问题。为什么会出现跨域问题呢?我们就需要了解什么是浏览器的同源策略。什么是浏览器的同源策略,为什么要同源策略同源策略简单来说就是三同,同协议、同域名、同端口。个域内的脚本仅仅具有本域内的权限,可以理解为本域脚本只能读写本域内的资源,而无法访问其它域的资源。这种安全限制称为同源策略,有同源策略的原因就在于为了提...
摘要由CSDN通过智能技术生成
最近想用node作为后台抛出接口,前端页面去请求接口的时候报错了,发现是跨域的问题。为什么会出现跨域问题呢?我们就需要了解什么是浏览器的同源策略。
什么是浏览器的同源策略,为什么要同源策略

同源策略简单来说就是三同,同协议、同域名、同端口。个域内的脚本仅仅具有本域内的权限,可以理解为本域脚本只能读写本域内的资源,而无法访问其它域的资源。这种安全限制称为同源策略,有同源策略的原因就在于为了提升浏览器的安全性,但是,我们都知道安全性和方便性是成反比的,有了高的安全性必定给我们的操作带来低效,牺牲了Web拓展上的灵活性,现代浏览器在安全性和可用性之间选择了一个平衡点。在遵循同源策略的基础上,选择性地为同源策略“开放了后门”。例如img、script 、style等标签,都允许垮域引用资源,严格说这都是不符合同源要求的。

JavaScript这个安全策略在进行多iframe或多窗口编程、以及Ajax编程时显得尤为重要。根据这个策略,在souhu.com下的页面中包含的JavaScript代码,不能访问在google.com域名下的页面内容;甚至不同的子域名之间的页面也不能通过JavaScript代码互相访问。对于Ajax的影响在于,通过XMLHttpRequest实现的Ajax请求,不能向不同的域提交请求,例如,在you.example.com下的页面,不能向me.example.com提交Ajax请求,等等。

举例说明
URL 说明 是否允许通信
http://www.baidu.com/a.js
http://www.baidu.com/b.js
同一域名 允许
http://www.baidu.com/map/a.js
http://www.baidu.com/tieba/b.js
同一域名不同文件夹下 允许
http://www.baidu.com:8000/a.js
http://www.baidu.com/b.js
同一域名不同端口 不允许
http://www.baidu.com/a.js
https://www.baidu.com/b.js
同一域名不同协议 不允许
http://www.baidu.com/a.js
http://75.32.68.45/b.js
域名和域名对应ip 不允许
http://www.baidu.com/a.js
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值