当前位置:首页 > 编程笔记 > 正文
已解决

前后端分离项目跨域请求的问题与解决办法

来自网友在路上 11088108提问 提问时间:2023-11-22 21:56:20阅读次数: 108

最佳答案 问答题库1088位专家为你答疑解惑

目录

一、为什么会存在跨域请求?

二、跨域请求的流程?

三、什么情况下会触发CROS机制?

四、如何解决跨域请求导致的问题?


一、为什么会存在跨域请求?

跨域请求是因为浏览器的同源策略引起的。同源策略是浏览器的一种安全策略,用于保护用户数据和减少潜在的安全风险,安全:浏览器只允许加载本域下面的资源(本域:协议、域名、端口)

二、跨域请求的流程?

当进行跨域请求的时候,浏览器先发送一个大头兵请求(也就是预检请求OPTTIONS,携带着真实请求的信息,包括请求方法、数据等),用于询问服务端中是否支持这个跨域请求,如果这个请求被允许,那么客户端发送真实请求(可通过打断点看具体过程

三、什么情况下会触发CROS机制?

你发送的这个请求可能会对服务器的数据产生副作用,意思就是写操作。
GET以外的请求都会触发CORS机制

四、如何解决跨域请求导致的问题?

使用cors头部,在服务器端中配置cors头部,允许指定的域名或者所有域名访问资源,可以设置允许的源,这是对全局的一个设置


@Configuration
public class WebMvcConfig implements WebMvcConfigurer {@Override  //进行请求的配置public void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**") // 匹配所有路径,/*是不包含子路径,/**包含父路径和子路径.allowedHeaders("*")  // 任意的请求头.allowedOrigins("*")  // 任意域名.allowedMethods("GET","POST","PUT","DELETE","OPTIONS")  // 允许这些请求进行一个跨域的请求.maxAge(3600);}
}

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"前后端分离项目跨域请求的问题与解决办法":http://eshow365.cn/6-42014-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!