vue.config.js devServer中changeOrigin的作用

news/2024/9/23 1:17:38/

问题

vue开发时,为了解决前端跨域问题,通常在vue.config.js配置 devServer proxy

devServer: {proxy:{'/api': {target: 'http://b.com',changeOrigin: false},},
}

官方文档http-proxy options对changeOrigin的解释

option.changeOrigin: true/false, Default: false - changes the origin
of the host header to the target URL

比如,浏览器地址栏是http://a.com/some/path,那么/api开头的请求会被代理到http://b.com

  • 未配置changeOrigin(默认为false)
    • 那么b.com收到的http 请求头中origin是http://a.com,也就是说默认的,与地址栏中的一样;
  • changeOrigin:true
    • b.com收到的请求头中origin是http://b.com

origin vs host

  • origin通常用来限制跨域,相应的服务器端需要响应Access-Control-Allow-Origin:“some.domain.com”,浏览器据此判断是否允许跨域;some.domain.com可以是通配符*,表示允许所有域名跨域;
  • host用来实现基于域名的虚拟主机,可参考Name-based virtual hosts

总结

ajax跨域请求时,浏览器知道请求是跨域,给请求头中添加origin,服务器端收到后,可返回Access-Control-Allow-Origin,浏览器据此判定是否允许跨域;当然了还有Access-Control-Allow-Credentials、Access-Control-Allow-Headers、Access-Control-Allow-Methods;
使用代理后,ajax请求是同域请求,浏览器不会在请求头中添加origin,changeOrigin false或者true,只能影响接收者收到的origin,不能影响是否跨域,除非服务器端做了限制。也就是说,只要配置了devServer,changeOrigin 配置仅影响请求头中的origin;


http://www.ppmy.cn/news/1529092.html

相关文章

【d46】【Java】【力扣】234.回文链表

思路 判断是否是回文,需要:一个指针指向头,一个指针指向尾,两个指针一边向中间靠拢,一边判断数值是否相同 对于单链表,不方便获得pre,如果将节点放进 数组/list ,数组/list可以直接…

《深度学习》PyTorch 常用损失函数原理、用法解析

目录 一、常用损失函数 1、CrossEntropyLoss(交叉熵损失) 1)原理 2)流程 3)用法示例 2、L1Loss(L1损失/平均绝对误差) 1)原理 2)用法示例 3、NLLLoss(负对…

【STM32系统】基于STM32设计的DAC输出电压与ADC检测电压系统(简易万用表,检测电压电流)——文末工程资料下载

基于STM32设计的DAC输出电压与ADC检测电压系统(简易万用表,检测电压电流) 演示视频: 基于STM32设计的DAC输出电压与ADC检测电压系统(简易万用表,检测电压电流) 前言:本项目实现对STM32的DAC和ADC的程序设计与硬件电路连接实现STM32内部DAC输出电压,并且ADC可以采集电压…

dedecms(四种webshell姿势)、aspcms webshell漏洞复现

一、aspcms webshell 1、登陆后台&#xff0c;在扩展功能的幻灯片设置模块&#xff0c;点击保存进行抓包查看 2、在slideTextStatus写入asp一句话木马 1%25><%25Eval(Request(chr(65)))%25><%25 密码是a&#xff0c;放行&#xff0c;修改成功 3、使用菜刀工具连…

AWS 消息通知系统 SNS

AWS 消息通知系统 SNS 引言什么是 AWS SNSSNS 的工作原理SNS 的主要应用场景示例&#xff1a;创建 SNS 主题和订阅使用 AWS 管理控制台使用 AWS CLI使用 AWS SDK (Python Boto3) 示例 CloudWatch 如何通过 SNS 发送告警通知 引言 《AWS 监控和管理服务 CloudWatch》有介绍 Clo…

Java项目实战II基于Java+Spring Boot+MySQL的作业管理系统设计与实现(源码+数据库+文档)

目录 一、前言 二、技术介绍 三、系统实现 四、论文参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者 一、前言 在教育信息化的大潮中&#xff0c;作业管理作为教学过程中的重要环节&#xff0c;其效率与效果直接影…

“吉林一号”宽幅02B系列卫星

离轴四反光学成像系统 1.光学系统参数&#xff1a; 焦距&#xff1a;77.5mm&#xff1b; F/#&#xff1a;7.4&#xff1b; 视场&#xff1a;≥56゜&#xff1b; 光谱范围&#xff1a;400nm&#xff5e;1000nm。 2.说明&#xff1a; 光学系统采用离轴全反射式结构&#xff0c;整…

滑动窗口(6)_找到字符串中所有字母异位词

个人主页&#xff1a;C忠实粉丝 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 C忠实粉丝 原创 滑动窗口(6)_找到字符串中所有字母异位词 收录于专栏【经典算法练习】 本专栏旨在分享学习算法的一点学习笔记&#xff0c;欢迎大家在评论区交流讨论&#x1f4…