产生跨域的原因及配置开发环境下的接口代理

本文介绍了浏览器的同源策略以及它导致的跨域问题。为了解决跨域,文章提到了JSONP、CORS和服务器代理三种方案,并详细讲解了在Vue CLI环境中如何配置代理以解决开发阶段的跨域问题。通过设置代理,前端可以绕过同源策略,通过中间服务转发请求给后端,避免了浏览器的限制。然而,这种代理配置仅适用于开发环境,上线后不再适用。
摘要由CSDN通过智能技术生成

1.跨域:是指浏览器不能执行其它网站的脚本,它是优浏览器的同源celue造成的,是浏览器对js实施的安全限制.

同源策略是浏览器最核心也最基本的安全功能,具有以下特点:

  • 协议相同

  • 主机相同

  • 端口相同

只要其中一项不相同,就会产生跨域

常见的解决方案有 3 种:

JSONP: 利用 script 标签,不受跨域限制的特点,缺点是只能支持 get 请求

CORS: 后端设置响应头 Access-Control-Allow-Origin:*

服务器代理:在 DevServer 中配置 proxy

2.配置接口代理:

vue-cli代理解决跨域问题

在后端没有开启cors的情况下,浏览器的同源策略会直接限制后端返回的数据给到前端。这是因为我们目前所有的项目都是前后分离,前端一个服务, 后端一个服务,后端不开cors只能前端自己想办法

代理是怎么解决跨域的

既然前端不能直接请求后端服务,那就搞个中间服务,中间服务刚好和我们的前端服务同源,前端和中间服务可以通信,而中间服务是node, node后台向后端发请求是不受同源策略影响的,因为同源策略只针对浏览器!!!, 这样就是代理,中间层的服务将前端的请求代理给了后端接口。

vue-cli中集成的跨域解决方案

思路:

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值