浏览器的同源策略
MDN跨域资源共享:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/CORS

客户端(端口3000)在发起 XHRHttpRequest,请求服务端(端口7001)接口时,就会遇到 CORS 问题,
需要在服务端设置 Access-Control-Allow-Origin 等响应头,允许来自客户端的请求,使跨域请求被允许

  • 允许指定的域名和多个域名
  • 允许携带cookie [Access-Control-Allow-Credentials]
  • 允许获取额外的头部信息 [Access-Control-Expose-Headers]
  • 允许携带的头部信息 [Access-Control-Allow-Headers]

设置 header头

  1. response.setHeader("Access-Control-Allow-Origin", "*");
  2. response.setHeader("Access-Control-Allow-Methods", "POST,OPTIONS,GET");
  3. response.setHeader("Access-Control-Max-Age", "3600");
  4. response.setHeader("Access-Control-Allow-Headers", "accept,x-requested-with,Content-Type");
  5. response.setHeader("Access-Control-Allow-Credentials", "true");
  6. response.setHeader("Access-Control-Allow-Origin", "http://192.168.10.118:8070");

非简单请求

浏览器将CORS请求分成两类:
简单请求(simple request)
非简单请求(not-so-simple request

简单请求

只要同时满足以下两大条件,就属于简单请求,凡是不同时满足下面两个条件,就属于非简单请求

  1. 请求方法是以下三种方法之一:
  2. HEAD
  3. GET
  4. POST
  5. HTTP的头信息不超出以下几种字段:
  6. Accept
  7. Accept-Language
  8. Content-Language
  9. Last-Event-ID
  10. Content-Type:只限于三个值 application/x-www-form-urlencodedmultipart/form-datatext/plain

浏览器发现这次跨源AJAX请求是简单请求,就自动在头信息之中,添加一个Origin字段
Origin字段用来说明,本次请求来自哪个源(协议 + 域名 + 端口
服务器根据这个值,决定是否同意这次请求
https://blog.csdn.net/u012501054/article/details/84519574