跨域与webpack的代理理解

今天和大佬交流了一下豁然开朗

首先要理解什么是跨域,以及什么造成了跨域

跨域是因为浏览器同源策略引起的,非同源的请求会导致接口的响应被浏览器阻止了,所以产生了跨域。

这里有几个注意点

1. 浏览器引起的,因为是浏览器阻止的这个操作才引起跨域。很多后端不了解跨域也是因为这个,他们喜欢说“我用postman请求没问题啊”,因为他们没了解引起跨域的是什么,而且这也衍生了代理重要的原理,因为服务器和服务器之间的请求是不会跨域的,这个之后讲。

2.非同源,同源是指 同域名 同端口 同协议,只要这三个有一个不同就是非同源,就会引起跨域

 

代理是怎么解决跨域的

刚刚说了,因为服务器和服务器之间的请求是不会跨域的,所以我们日常的项目通过配置webpack的webpack-dev-server插件在node环境生成了一个本地服务器,我们原本浏览器请求的接口,代理请求到了本地的服务器,本地服务器又去请求非同源的服务器,拿到响应数据后再响应给浏览器,就相当于是我们浏览器请求了本地服务器,响应也由本地服务器发出,所以就不会造成跨域了。

 

posted @ 2021-03-08 22:44  re-saika  阅读(178)  评论(0编辑  收藏  举报