一个前后端分离项目,前端兄弟忙不开我帮忙搞了下前端,遇到了一些跨域的问题,但是网上关于跨域访问大部分说的都是跨域访问的定义以及跨域访问的解决办法。但是并没有多少人说明白跨域访问的流程以及拦截过程。到底是浏览器在请求前拒绝访问不同源URL?还是在请求非同源URL后拒绝加载数据呢?那么我将在下文中解决下这个疑问。
假设有这样的环境:
WEB容器:部署在ngix上(ngix没有设置代理转发),ip127.0.0.1:8001
后端1:部署在10.141.82.170:19026,地址不同,端口号不同,与web容器非同源
设置响应头,允许跨域访问
:"Access-Control-Allow-Origin", "*"
"Access-Control-Allow-Headers","Origin, X-Requested-With, Content-Type, Accept"
"Access-Control-Allow-Methods","GET, POST,PUT,DELETE"
后端2:部署在127.0.0.1:19026,地址不同,端口号不同,与web容器非同源
未设置允许跨域访问
下面我们来做两组实验: