node中跨域代理 proxyTable的原理是什么?
1.node中跨域代理 proxyTable的原理是什么?
2.我在浏览器和服务端都没有设置CORS的情况下,只要设置proxytable就可以跨域了,这样是不是就违背了同源策略的初衷?
ps: 希望见到比较有水准的解释
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
跨域是浏览器禁止的,服务端并不禁止跨域
所以浏览器可以发给自己的服务端然后,由自己的服务端再转发给要跨域的服务端,做一层代理
vue-cli
的proxyTable
用的是http-proxy-middleware
中间件create-react-app
用的是webpack-dev-server
内部也是用的http-proxy-middleware
http-proxy-middleware
内部用的http-proxy
你说的应该是
vue-cli
生成的配置文件上的proxytable
吧1.事实上在你运行的时候,会配置启动一个
node
服务,这个服务的作用1是静态文件服务,让你可以访问到html/js
等文件包括监听文件变动等,2是启动一个http代理,你js发送的请求会请求到这个服务A,由服务A代理到服务B,而服务A和静态文件服务器是同源的,并不影响同源策略。2.浏览器是没有必要设置
CORS
的,服务器设置CORS
就是为了告知浏览器允许访问我的源,不是跟我同源的,要在浏览器接受到响应后抛出错误。