跨域问题


在为前端项目做一个以nodejs为后端的接口,在静态页面利用ajax进行请求的时候,出现了跨域问题,解决之后又仔细了解了一下跨域问题。

在这里插入图片描述

什么是跨域

跨域是浏览器进行安全限制的一种方法,如果浏览器禁用了这种安全限制就不会出现跨域问题。
产生跨域的原因(以下三者都满足)

跨域的原因

1、只要调用方访问被调用方的域名、端口、IP不一样
2、浏览器没有禁用安全限制
3、采用了XMLHttpRequest的请求

如何解决

1、被调用方解决: 被调用方解决-支持跨域(根据http协议关于跨域方面的要求,增加响应头信息,告诉浏览器允许被跨域调用)(因为在发生跨域请求时首先调用方发送一个预检请求(OPTIONS请求),这个请求就会被带上允许跨越的请求头信息)
2、调用方解决:使用代理做调用解决跨域问题-隐藏跨域(利用nginx的反向代理,使访问同一个域名不同的资源路径会代理到不同的服务器上,每个跨域的请求都会带上origin请求头字段,因为访问的资源都是同域名下的,所以不会产生跨越问题)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值