web服务器14 cors跨域资源共享 报错及解决方案

室友通过控制Access-Control-Allow-Origin修改只有哪些网页可以访问资源

res.setHeader('Access-Control-Allow-Origin','*')

默认情况下,CORS仅支持客户端向服务器发送如下的9个请求头:
Accept、Accept-Language、Content-Language、DPR、Downlink、Save-Data、Viewport-Width、Width、
Content-Type(值仅限于text/plain、multipart/form-data、application,/x-www-form-urlencoded三者之一)

    如果客户端向服务器发送了额外的请求头信息,则需要在服务器端,通过Access-Control-Alow-Headers对额外
    的请求头进行声明,否则这次请求会失败!

  cors的两大类:

    简单请求:

      

请求方式:GET,POST,HEAD
HTTP头部信息不超过以下几种字段:无自定义头部字段、Accept、Accept-Language、.Content-Language、DPR、Downlink、Save-Data、Viewport-Width、Vidth、Content-Type(只有三个值application/x-www-form-urlencoded,multipart/form-data,text/plain)

    预检请求:  

请求方式:GET,POST,HEAD三者之外的请求method类型
请求头中包含自定义头部字段
像服务器发送application/json格式的数据

  在浏览器与服务器正式通信之前,浏览器会先发送OPTION请求进行预检,以获知服务器是否允许该实际请求,所以这一
  次的OPTION请求称为“预检请求”。服务器成功响应预检请求后,才会发送真正的请求,并且携带真实数据。

  预检请求会发送两次第一次发送OPTIONS,第二次才是真正的请求

 报错:

  

 

 

 cors跨域报错,使用npm install cors -D重新安装一次cors,再引用

npm install cors -D
 const cors = require('cors')
 app.use(cors())

  

posted @ 2022-11-03 13:54  文采呱呱  阅读(31)  评论(0编辑  收藏  举报